Help! Squeak crashes during updates

Danny Sharpe dsharpe at westga.edu
Fri Dec 17 20:50:54 UTC 1999


Torge Husfeldt wrote:
> I have a Problem with update #1695
> When I Proceed the notifier squeak raises a Windows-Exception and is
> immediately shut down :-(
>         
> I am running Squeak under win98.
> I didn't find the version number of the VM but it is exactly 319,488 Bytes and
> seems to be created Friday the 8th of October (just what windows tells me).
> It may be a hint that PlayWithMe 7 also crashes (about the same way).

Andreas Raab replied:
> You can get the version of the running VM by pressing F2 and choosing 'display 
> version information' from the menu. However, your debug log looks somewhat
> strange - it seems that the system is breaking during the attempt to show a
> notifier... quite strange. It's also weird that Windows says there would be
> an exception '10H' - AFAIK, there is *no* such exception...

That's funny, my Squeak exhibits the same behavior as Torge's, and under
the same conditions.  After selecting proceed during update 1695, there
is a short pause and then Squeak crashes rather rudely:

    SQUEAK caused an exception 10H in module SQUEAK.EXE at 0137:0041e357.
    Registers:
    EAX=00000000 CS=0137 EIP=0041e357 EFLGS=00010257
    EBX=00000000 SS=013f ESP=0068fbc0 EBP=01f26a46
    ECX=021fda94 DS=013f ESI=021fccc0 FS=22ef
    EDX=020ac24c ES=013f EDI=01ce6f98 GS=0000
    Bytes at CS:EIP:
    db 44 24 18 85 c0 0f 84 fa 00 00 00 dd 84 24 e0 
    Stack dump:
    00000000 01000000 0068fcdc 00000000 021fcc9c 01ce6f98 00000000 4385d0d8
    0000000f 00000008 9a6699a6 3fc9a669 00000000 00000000 00000000 00000000 

Going into debug and looking at the disassembly reveals a little more about the
error:

    Unhandled exception in Squeak.exe: 0xC0000092: Float Stack Check

        0041E33F   xor         eax,eax
        0041E341   mov         [00452744],eax
        0041E346   mov         edx,dword ptr ds:[4527F0h]
        0041E34C   test        bl,1
        0041E34F   je          0041E383
        0041E351   sar         ebx,1
        0041E353   mov         dword ptr [esp+18h],ebx
    --> 0041E357   fild        dword ptr [esp+18h]
        0041E35B   test        eax,eax
        0041E35D   je          0041E45D
        0041E363   fld         qword ptr [esp+0E0h]
        0041E36A   fcomp       st(1)
        0041E36C   fnstsw      ax
        0041E36E   test        ah,40h
        0041E371   fstp        st(0)
        0041E373   je          0041E417
        0041E379   mov         ecx,1
        0041E37E   jmp         0041E419

Version information from the Squeak VM Preferences:

    Squeak 2.6 VM (release build 1) from Oct 18 1999

I'm running Win95.

Play With Me 7 crashes on mine, too.  When I open it up and try to enter the
project, it immediately crashes:

    SQUEAK caused an exception 10H in module SQUEAK3D.DLL at 0137:015089a0.
    Registers:
    EAX=021c6a34 CS=0137 EIP=015089a0 EFLGS=00010206
    EBX=0000002a SS=013f ESP=0068fb00 EBP=0068fb20
    ECX=02216acc DS=013f ESI=02216acc FS=4b07
    EDX=00000010 ES=013f EDI=021c6a34 GS=0000
    Bytes at CS:EIP:
    dd 5c 24 18 d9 40 04 dc 4c 24 08 d9 00 dc 4c 24 
    Stack dump:
    60000000 3fe49de0 00000000 3fef9874 60000000 3fc44990 e0000000 bfd6e05b
    0220b7d8 01508df5 02216acc 021c6a34 00000000 0000008a 022152cc 0220b7d8

The debugger explains the error as,

    Unhandled exception in Squeak.exe (SQUEAK3D.DLL): 0xC0000090: Float
    Invalid Operation

With the following disassembly:

    01508980   push        ebp
    01508981   mov         ebp,esp
    01508983   and         esp,0F8h
    01508986   sub         esp,20h
    01508989   mov         ecx,dword ptr [ebp+8]
    0150898C   mov         eax,dword ptr [ebp+0Ch]
    0150898F   fld         dword ptr [ecx+0Ch]
    01508992   fstp        qword ptr [esp+10h]
    01508996   fld         dword ptr [ecx+10h]
    01508999   fstp        qword ptr [esp+8]
    0150899D   fld         dword ptr [ecx+14h]
--> 015089A0   fstp        qword ptr [esp+18h]
    015089A4   fld         dword ptr [eax+4]
    015089A7   fmul        qword ptr [esp+8]
    015089AB   fld         dword ptr [eax]
    015089AD   fmul        qword ptr [esp+10h]

Aside from noticing that each error occurs on a floating point instruction
with an operand of [esp+18h], I haven't dug any deeper to try to find the
cause.

----------------------------+-------------------------------------------------
Danny Sharpe                |   When I walked into class the other day, the
Department of Computing     |   following notice was posted on the board:
State Univ. of West Georgia | 
Carrollton, GA 30118        |             Y2K Damage Assessment
Office: (770) 836-6491      |                    Meeting
Fax: (770) 836-4695         |                January 4, 1900





More information about the Squeak-dev mailing list