I applied Andreas' Exception fix (Kernel-ar.540 in the Inbox), to
double-check Julian's counter-example. I used a virgin trunk updated to
10877.
1 I did a print-it on "[ Error signal ] on: UnhandledError do: [ :ex |
'ANSI says so' ]", and the debugger popped up just as Julian described.
2 I accidentally dropped too far down the stack into
Compiler>>evaluate:in:to:notifying:ifFail:logged:.
3 I hit "restart" and while stepping through execution I got as far as
value := receiver
withArgs: (context ifNil: [#()] ifNotNil: [{context}])
executeMethod: method.
and when I hit "Over" the VM (Squeak4.0.01 from Mar 28 2010) crashed, saying
Exception code: C0000005
Exception address: 004096D1
Current byte code: 209
Primitive index: 258
Crash dump attached as crash-1.dmp.
Trying to reproduce the problem resulted in another crash:
Reason: Recursive not understood error encountered
Current byte code: 231
Primitive index: 199
Crash dump attached as crash-2.dmp
Subsequent attempts repeated the second error, as in crash-4.dmp.
Crash-3.dmp and crash-5.dmp happened while trying to reproduce the exact
crash.
So we have two errors:
* an access violation in crash-1, crash-3 and crash-5
* a recursive MNU in crash-2, crash-4
All appear somewhere during the execution of MethodContext>printDetails:.
frank