Uhhgn, complicated..
You don't say?
D::BB also has PROGRAM_USES_PARENT, right? Is it possible to minimize
I assume so, D (and D::BB) is written in pike.
the test case any further?
I don't have a stand-alone test, but I assume it's possible.
To complicate things further: A::AA, B::BB and D::BB are iterators, and A::AA::foo() is called via A::AA::next() via B::BB::next() in an instance of D::BB via foreach_iterate() called by a function implemented in the class C. Simple, isn't it?
Anyway, the main problem seems to be that Pike_fp->fun when A::AA::foo() calls A::foo() has a bad value (cf interpret.c:apply_external() and 12677018).