I think I've found the cause; precompile.pike puts INHERIT sections after the section with subclasses, which caused the code:
PIKECLASS A { PIKECLASS AA program_flags PROGRAM_USES_PARENT; { ... } }
PIKECLASS B { INHERIT A;
PIKECLASS BB program_flags PROGRAM_USES_PARENT; { EXTRA { low_inherit(A_AA_program, 0, A_AA_program_fun_num + Pike_compiler->previous->new_program->inherits[1].identifier_level, 1 + 42, 0, NULL);
} } }
to fail, since Pike_compiler->previous->new_program->inherits[1] hasn't been initialized yet when the low_inherit() is executed.