The shortest example that makes BinPAC generate a segmentation fault is, when written in any pac file :
type Node = record
Granted it does not make sense here because there is no stopping condition, BinPAC should yield an error message and not a segmentation fault.
Now, let's talk about circular record dependencies. Most protocols are straightforward, and we know what fields to expect at each point of the parsed packet, leading to having no need for any recursion whatsoever. However, I came across this part of a protocol described as follows in ASN.1 :
Data := CHOICE
array [ 1 ] IMPLICIT SEQUENCE OF Data,
boolean [ 2 ] IMPLICIT BOOLEAN,
A Data can be a sequence of Data, hence the need of record recursion. If BinPAC does not allow that, parsers for this kind of protocols can't be (fully) written with it.
P.S. : I'm not sure the second part of this message should have been written here.