Help! Squeak crashes during updates
Danny Sharpe
dsharpe at westga.edu
Mon Dec 20 14:06:13 UTC 1999
Jan Bottorff wrote:
>
> The FP tag word has a 2-bit field for each FP/MMX register. I believe the
> MSVC debugger will show the FP tag register if you open the register
> window. A value of FFFF means the FP registers are empty, 0000 means all
> full, and MAY indicate a missing EMMS instruction after MMX code (a MMX
> instruction set's the tag register to 0000).
>
> Trapping in the debugger at the failure will be required first.
Okay, I ran it again under MS Visual Studio debugger, tried to enter Play
With Me 7, and as usual it died on the instruction indicated below:
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]
015089B1 faddp st(1),st
Here are the register contents:
EAX = 02144794 EBX = 0000002A ECX = 021901C4 EDX = 00000010
ESI = 021901C4 EDI = 02144794 EIP = 015089A0 ESP = 0068FB00
EBP = 0068FB20 EFL = 00010206 CS = 0137 DS = 013F ES = 013F SS = 013F
FS = 47AF GS = 0000 OV=0 UP=0 EI=1 PL=0 ZR=0 AC=0 PE=1 CY=0
0068FB18 = BFD6E05BE0000000
ST0 = +0.00000000000000000e+0000 ST1 = +0.00000000000000000e+0000
ST2 = +0.00000000000000000e+0000 ST3 = +0.00000000000000000e+0000
ST4 = +0.00000000000000000e+0000 ST5 = +6.30592279601072110e-0002
ST6 = -3.57443779706954956e-0001 ST7 = +3.23359996080398560e-0001
CTRL = 1270 STAT = B9A2 TAGS = 3FFF EIP = 0150899D CS = 0137 DS = 013F
EDO = 021901D8
> >> You can probably make the MSVC debugger trap the exception,
> >> you just have to add an exception code 10H to the list of
> >> known exceptions and tell it to always trap it. Actually,
> >> exceptions can have just about ANY number as software can
> >> call RaiseException with any value.
I tried it again with 00000010 added to the list of exceptions and with Stop
Always selected, and got the same results.
----------------------------+-------------------------------------------------
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
|