Skip to content

Infinite recursion caused by multiple ASN.1 parameterized type instances

Summary

Multiple instances of the same ASN.1 parameterized type in a type hierarchy cause an infinite recursion during semantic analysis.

ASN.1 code to reproduce

A DEFINITIONS

AUTOMATIC TAGS

::=

BEGIN

Uint8 ::= INTEGER (0..255)

ScmsPdu ::= SEQUENCE { version Uint8 (2), content CHOICE { aca-ra AcaRaInterfacePdu, int INTEGER, ... } }

ScmsPdu-Scoped {Pdu} ::= ScmsPdu (WITH COMPONENTS { ..., content (CONSTRAINED BY { Pdu }) })

AcaRaInterfacePdu ::= CHOICE { a Again, ... }

Again ::= ScmsPdu-Scoped { INTEGER }

END

What is the current bug behavior?

The compiler crashes due to an infinite recursion.

What is the expected correct behavior?

Successful semantic analysis.

Relevant logs and/or screenshots

Possible fixes

Titan version

8.0.0

Platform details (OS type and version)

Any.