Welformedness error- loading a matrix grammar in ace

I am getting the following error when I compile a grammar with ace.compile(‘ikx/ace/config.tdl’, ‘ikx/ace/ikx.dat’)

processing constraints… well-formedness: no type is compatible with features and type of null' while processingverb-pc56_lrt1-lex-rule’
ace: type.c:563: constrain_glbs_and_wellformedness: Assertion `wellform_result == 0’ failed.
ERROR:root:Failed to compile grammar with ACE. See
Traceback (most recent call last):
File “parseprofile.py”, line 7, in
ace.compile(path+grammar+’/ace/config.tdl’, path+grammar+’/ace/’+grammar+’.dat’)#, executable=‘ace-0.9.30/ace’)
File “/home2/kphowell/run_aggregation/dependencies/pydelphin/delphin/interfaces/ace.py”, line 451, in compile
env=(env or os.environ)
File “/software/python/python-3.6/lib/python3.6/subprocess.py”, line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘ace’, ‘-g’, ‘./output/grammars/ikx/ace/config.tdl’, ‘-G’, ‘./output/grammars/ikx/ace/ikx.dat’]’ died with <Signals.SIGABRT: 6>.

I’m having some trouble figuring out what isn’t well-formed in the grammar. Here is the lexical rule and its super-type:

verb-pc56-lex-rule-super := add-only-no-ccont-rule & infl-lex-rule &
[ DTR verb57-verb-lex ].

verb-pc56_lrt1-lex-rule := verb-pc56-lex-rule-super &
[ SYNSEM.LOCAL [ CAT.VAL.COMPS.FIRST.LOCAL.CONT.HOOK.INDEX.PNG [ PER 3rd,
NUM sg ],
CONT.HOOK.INDEX.E.MOOD sim ] ].

I think these features are all defined appropriately:
person := *top*.
3rd := person.

number := *top*.
sg := number.

mood := sort.
sim := mood.

Any ideas what is causing this error?

I suspect that the problem is that verb57-verb-lex inherits the constraint that its COMPS list is empty.

More generally: if you are getting compilation errors, it can be useful to try loading the grammar in the LKB (which will describe the problems slightly differently). Also, it’s easier for me to read these things if you just invoke ace independently of whatever script is calling it and/or edit out the python traceback info which is all external to the tdl error.

Thanks- that does seem to be the problem. And the error message in the LKB is a little more informative: Unification with constraint failed with verb57-verb-lex at path DTR