From: Mark M. <mie...@gm...> - 2007-12-02 16:49:54
|
Hi Rick, Thought I'd start a new thread. With the interpreter at the latest level (1376) The crash is here: bool RexxInternalObject::isBaseClass() { return behaviour->isPrimitive(); } With the this pointer looking invalid: this 0xe2912357 Here is the stack trace rexx.dll!RexxInternalObject::isBaseClass() Line 176 + 0x3 bytes rexx.dll!RexxObject::requestArray() Line 1263 + 0x8 bytes rexx.dll!REQUEST_ARRAY(RexxObject * obj=0xe2912357) Line 737 + 0xf bytes rexx.dll!RexxObject::methodObject(RexxString * msgname=0xe2912357) Line 846 + 0x8 bytes rexx.dll!RexxActivity::runThread() Line 126 + 0x13 bytes rexx.dll!activity_thread(RexxActivity * objp=0x7d42c2e0) Line 94 rexx.dll!call_thread_function(void * Arguments=0x7d42c2e0) Line 372 kernel32.dll!7c80b683() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] I can reproduce it with the program I posted before: world=.WorldObject~new msg1=world~start("HELLO") /* same as next line */ say 'Going to use SysSleep() for 1 seconds before starting message 2' j = SysSleep(1) say 'Back from SysSleep()' msg2=.message~new(world,"HELLO")~~start /* same as previous line */ say msg1~result /* Produces Hello world 21:04:25.065000 */ /* for example */ say msg2~result /* Produces Hello world 21:04:25.081000 */ /* for example */ ::class 'WorldObject' public ::method hello return "Hello world" time('L') I get the same stack trace each time, with the this pointer an invalid address, but a different address each time. -- Mark Miesfeld |