Processor>>cannotReturn

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Processor>>cannotReturn

Steve Waring-2
Hi,

I am using Dolphin v4.0 and win2000 with SP1.

While this situation is due to a problem with my code, it is causing Dolphin
v4.0 to crash, instead of giving me a walkback like it did in v3.06

Example code which will cause a crash;


TestObject1>>createBlock
     | block |
    block := [:answer | ^answer]
    ^block

 TestObject2>>test
    | temp |
    temp := TestObject1 new createBlock
    temp value: 1.

Evaluating "TestObject2 new test" crashes dolphin with the log file entry
being;

****************************************************************************
****
************************** Dolphin Crash Dump Report
***************************
0:45:06 AM, 11/22/2000: Dolphin.exe caused an unhandled Win32 Exception
0xC0000005
at 0x00011C33 in module 0x00000000 (C:\Program Files\Dolphin Smalltalk
4.0\Dolphin.exe)
*----> Exception Parameters <----*
00000000
00011C33
*----> CPU Context for thread 0x4fc <----*
EAX = FFFFFFFF EBX = 0BC30438 ECX = 08E8A780
ESI = 0BC3044C EDI = 08E8EB84 EIP = 00011C33
ESP = 01A3FBB8 EBP = 01A3FBE4 EFL = 00010286
CS = 001B SS = 0023 DS = 0023
ES = 0023 FS = 0038 GS = 0000
*----> VM Context <----*
Process: {0x0BC30004:suspended frame 0x0BC302BD, priority 5, callbacks 1
last failure 0:nil, FPE mask 1, thread nil}
Active Method: ProcessorScheduler>>cannotReturn:
IP: 0x08E8EB84 (4)
SP: 0x0BC3044C
BP: 0x0BC30438 (253)
ActiveFrame: {0x0BC3043C: cf 0x0BC30421, sp 0x00000000, bp 0x0BC30438, ip 0,
ProcessorScheduler>>cannotReturn:}
New Method: ProcessorScheduler>>cannotReturn:
Message Selector: #cannotReturn:

Thanks,
Steve


Reply | Threaded
Open this post in threaded view
|

Re: Processor>>cannotReturn

Blair McGlashan
Steve

You wrote in message news:wpvS5.40449$[hidden email]...
> ....
> While this situation is due to a problem with my code, it is causing
Dolphin
> v4.0 to crash, instead of giving me a walkback like it did in v3.06
>
> ... [example of far return from a block whose home context has already
returned snipped]

Well spotted. Because this is a bug in the VM, we'll not be updating it via
LiveUpdate. Instead I'll be posting a zipped up new VM (version 4.0.3 to
replace the 4.0.2) here as a follow up to this message. Its about 90Kb, so
I'll post it separately so others can avoid downloading it if they don't
need it immediately (the problem only affects this relatively obscure error
condition). The VM should be unzipped, and copied over the top of the
existing VM in "\Program Files\Common Files\Dolphin Smalltalk 4.0".
Obviously you'll not be able to do this with Dolphin running. If you later
"repair" the installation, then the Microsoft Installer will recognise that
the VM is a later version, and not overwrite it.

We'll also be updating the download MSI. If you are a Dolphin 4.0 user, and
not confident about overwriting the VM, then we recommend downloading a
fresh install at your convenience. There are no other changes.

Regards

Blair


Reply | Threaded
Open this post in threaded view
|

Re: Processor>>cannotReturn

Steve Waring-2
Blair,

Thanks for the quick fix, I am now getting the walkback as expected!

Steve