shared class T
{
void f() { }
};
shared class T2 : T
{
};
class T3 : T
{
void f() { T::f(); }
};
Stack:
asCScriptFunction::AddReferences() Line 661 + 0x23 bytes C++
asCReader::Read() Line 366 C++
asCModule::LoadByteCode(asIBinaryStream * in) Line 1470 + 0xb bytes C++
Where:
case asBC_CALLINTF:
{
int func = asBC_INTARG(&byteCode[n]);
engine->scriptFunctions[func]->AddRef(); // func is 0 here and scriptFunctions[func] is NULL
}
Note: the crash goes away if T2 is removed or made nonshared.