Dolphin X6 ToGo crash with dodgy .ERRORS file

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

Dolphin X6 ToGo crash with dodgy .ERRORS file

Ted
Hi,

I've had several occurrences of a crash of my deployed app leaving a
massive (~200Mb) .ERRORS file that has some kind of dodgy data in it.
When trying to open the file, it seems to have multiple start-of-file
and end-of-file characters in it, as the reader thinks it is at the
start/end throughout the file.

This is DX6, the same app has never done this in D5.

The app seems to be crashing on a divide-by-zero error, with some
strange references of a bad array [00000000]. Trying to figure out
what's going on I got the suspicion it is in the message forwarding.
I've overridden #doesNotUnderstand: to forward messages of a wrapper to
the wrapped object. Now the bad array gets created when the message
(which doesn't have any arguments) gets sent around. As the Array has
seen changes in DX6 to support immutable arrays, I can imagine the
Message class>>selector: message might be causing the problem, as that
creates an immutable array for the arguments.

See enclosed for an extract of the error log (most of this is repeated
umpteen times).

Can anybody shed some light on this?

Thanks,

Ted

************************** Dolphin Virtual Machine Dump Report ***************************

16:42:04, 25/02/2006: Division by zero of 0.0

*----> VM Context <----*
Process: {0B280004:size 304 words, suspended frame 0B280425, priority 3, callbacks 0
last failure 0:nil, FPE mask 3, thread nil}
Active Method: SessionManager>>logError:
IP: 0985B0F9 (9)
SP: 0B2805A4
BP: 0B280578 (334)
ActiveFrame: {0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5, MyAppSessionManager(SessionManager)>>logError:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide


New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
Message Selector: dump:path:stackDepth:walkbackDepth:

*----> Stack Back Trace <----*
{0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5, MyAppSessionManager(SessionManager)>>logError:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide

{0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 3, MyAppSessionManager(SessionManager)>>unhandledException:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide

{0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide

{0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5, ZeroDivide(Error)>>defaultAction}
        receiver: a ZeroDivide

{0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55, ZeroDivide(Exception)>>_propagateFrom:}
        receiver: a ZeroDivide
        arg[0]: a ExceptionHandler
        stack temp[0]: nil
        stack temp[1]: a ExceptionHandler
        stack temp[2]: nil
        stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
        stack temp[4]: nil

{0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6, ZeroDivide(Exception)>>_propagate}
        receiver: a ZeroDivide
        stack temp[0]: nil

{0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11, ZeroDivide(Exception)>>signal}
        receiver: a ZeroDivide

{0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8, ZeroDivide(Exception)>>signal:with:}
        receiver: a ZeroDivide
        arg[0]: nil
        arg[1]: 0

{0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide class(Exception class)>>signal:with:}
        receiver: ZeroDivide
        arg[0]: nil
        arg[1]: 0

{0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide class(Exception class)>>signalWith:}
        receiver: ZeroDivide
        arg[0]: 0

{0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide class>>dividend:}
        receiver: ZeroDivide
        arg[0]: 0

{0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14, ProcessorScheduler>>fpException:}
        receiver: a ProcessorScheduler
        arg[0]: a ByteArray
        stack temp[0]: a _FPIEEE_RECORD

{0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in ProcessorScheduler>>vmi:list:no:with:}
        receiver: a ProcessorScheduler

{0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18, BlockClosure>>ifCurtailed:}
        receiver: [] @ 0 in nil
        arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:

{0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27, ProcessorScheduler>>vmi:list:no:with:}
        receiver: a ProcessorScheduler
        arg[0]: 872
        arg[1]: nil
        arg[2]: 10
        arg[3]: a ByteArray

{0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0, Float(ArithmeticValue)>>divideIntoFloat:}
        receiver: 0
        arg[0]: 0

{0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
        receiver: 0
        arg[0]: 0

{0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        arg[0]: a HRPlayerSetCalc
        stack temp[0]: a HRPlayerSetCalc

{0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
        stack temp[0]: 2

{0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        arg[0]: a HRPlayerSetCalc

{0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
        stack temp[0]: 1

{0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79, HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        stack temp[0]: true
        stack temp[1]: 0.1

{0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50, HRTeamSetCalc>>calculateFirstSetChance}
        receiver: a HRTeamSetCalc
        stack temp[0]: false
        stack temp[1]: 0.1

{0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62, HRTeamSetCalc>>calculateSetValue}
        receiver: a HRTeamSetCalc

{0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in HRMeetingSetCalc>>setAll}
        receiver: nil
        arg[0]: a HRTeamSetCalc

{0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
        stack temp[0]: 5

{0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8, HRMeetingSetCalc>>setAll}
        receiver: a HRMeetingSetCalc

{0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2, HRMeetingSetCalc>>recalcSetValues}
        receiver: a HRMeetingSetCalc

{0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5, Message>>forwardTo:}
        receiver: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
        arg[0]: a HRMeetingSetCalc

{0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4, HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
        receiver: a HRMyMeeting
        arg[0]: Message selector: recalcSetValues arguments: ***Bad Array: 00000000

{0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16, HRMtgDashboardModel>>refresh}
        receiver: a HRMtgDashboardModel

{0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in HRScheduleItem>>execute}
        receiver: a HRScheduleItem

{0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
        receiver: a ExceptionHandler

{0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler

{0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18, BlockClosure>>ifCurtailed:}
        receiver: [] @ 0 in nil
        arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:

{0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3, BlockClosure>>ensure:}
        receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
        arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
        stack temp[0]: nil

{0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler
        arg[0]: [] @ 12 in HRScheduleItem>>execute
        stack temp[0]: nil
        stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
        env temp[0]: nil

{0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7, BlockClosure>>on:do:}
        receiver: [] @ 12 in HRScheduleItem>>execute
        arg[0]: ProcessTermination
        arg[1]: [] @ 13 in BlockClosure>>newProcess

{0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in BlockClosure>>newProcess}
        receiver: [] @ 12 in HRScheduleItem>>execute

<Bottom of stack>

***** End of dump *****


************************** Dolphin Virtual Machine Dump Report ***************************

16:42:04, 25/02/2006: UndefinedObject does not understand #asInteger

*----> VM Context <----*
Process: {0B280004:size 435 words, suspended frame 0B280425, priority 3, callbacks 0
last failure 2:nil, FPE mask 3, thread nil}
Active Method: SessionManager>>logError:
IP: 0985B0F9 (9)
SP: 0B2807B0
BP: 0B280784 (465)
ActiveFrame: {0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5, MyAppSessionManager(SessionManager)>>logError:}
        receiver: a MyAppSessionManager
        arg[0]: a MessageNotUnderstood


New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
Message Selector: dump:path:stackDepth:walkbackDepth:

*----> Stack Back Trace <----*
{0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5, MyAppSessionManager(SessionManager)>>logError:}
        receiver: a MyAppSessionManager
        arg[0]: a MessageNotUnderstood

{0B280768: cf 0B280749, sp 0B28077C, bp 0B280764, ip 3, MyAppSessionManager(SessionManager)>>unhandledException:}
        receiver: a MyAppSessionManager
        arg[0]: a MessageNotUnderstood

{0B280748: cf 0B280729, sp 0B28075C, bp 0B280744, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
        receiver: a MyAppSessionManager
        arg[0]: a MessageNotUnderstood

{0B280728: cf 0B28070D, sp 0B28073C, bp 0B280728, ip 5, MessageNotUnderstood(Error)>>defaultAction}
        receiver: a MessageNotUnderstood

{0B28070C: cf 0B2806D9, sp 0B280720, bp 0B2806F4, ip 55, MessageNotUnderstood(Exception)>>_propagateFrom:}
        receiver: a MessageNotUnderstood
        arg[0]: a ExceptionHandler
        stack temp[0]: nil
        stack temp[1]: a ExceptionHandler
        stack temp[2]: nil
        stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
        stack temp[4]: nil

{0B2806D8: cf 0B2806B9, sp 0B2806EC, bp 0B2806D4, ip 6, MessageNotUnderstood(Exception)>>_propagate}
        receiver: a MessageNotUnderstood
        stack temp[0]: nil

{0B2806B8: cf 0B28069D, sp 0B2806CC, bp 0B2806B8, ip 11, MessageNotUnderstood(Exception)>>signal}
        receiver: a MessageNotUnderstood

{0B28069C: cf 0B280679, sp 0B2806B0, bp 0B280694, ip 12, MessageNotUnderstood class>>receiver:message:}
        receiver: MessageNotUnderstood
        arg[0]: nil
        arg[1]: Message selector: asInteger arguments: ***Bad Array: 00000000

{0B280678: cf 0B280659, sp 0B28068C, bp 0B280674, ip 4, Object>>doesNotUnderstand:}
        receiver: nil
        arg[0]: Message selector: asInteger arguments: ***Bad Array: 00000000

{0B280658: cf 0B280631, sp 0B28066C, bp 0B28064C, ip 10, ByteArray>>retryDwordAtOffset:put:}
        receiver: a ByteArray
        arg[0]: 4
        arg[1]: nil
        stack temp[0]: nil

{0B280630: cf 0B28060D, sp 0B280644, bp 0B280628, ip 4, ByteArray>>dwordAtOffset:put:}
        receiver: a ByteArray
        arg[0]: 4
        arg[1]: nil

{0B28060C: cf 0B2805ED, sp 0B280620, bp 0B280608, ip 6, MSGBOXPARAMS>>hwndOwner:}
        receiver: a MSGBOXPARAMS
        arg[0]: nil

{0B2805EC: cf 0B28059D, sp 0B280600, bp 0B2805B8, ip 73, UserLibrary>>messageBox:text:caption:style:icon:instance:}
        receiver: a UserLibrary
        arg[0]: nil
        arg[1]: ''Division by zero of 0.0''
        arg[2]: ''MP59Alpha5''
        arg[3]: 16
        arg[4]: nil
        arg[5]: nil
        stack temp[0]: nil
        stack temp[1]: a MSGBOXPARAMS
        stack temp[2]: nil
        stack temp[3]: nil
        stack temp[4]: nil
        stack temp[5]: false
        stack temp[6]: nil

{0B28059C: cf 0B280579, sp 0B2805B0, bp 0B280594, ip 20, ZeroDivide(Exception)>>showMessage:style:}
        receiver: a ZeroDivide
        arg[0]: ''Division by zero of 0.0''
        arg[1]: 16

{0B280578: cf 0B28055D, sp 0B28058C, bp 0B280578, ip 11, ZeroDivide(Exception)>>okToContinue}
        receiver: a ZeroDivide

{0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 6, MyAppSessionManager(SessionManager)>>unhandledException:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide

{0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
        receiver: a MyAppSessionManager
        arg[0]: a ZeroDivide

{0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5, ZeroDivide(Error)>>defaultAction}
        receiver: a ZeroDivide

{0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55, ZeroDivide(Exception)>>_propagateFrom:}
        receiver: a ZeroDivide
        arg[0]: a ExceptionHandler
        stack temp[0]: nil
        stack temp[1]: a ExceptionHandler
        stack temp[2]: nil
        stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
        stack temp[4]: nil

{0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6, ZeroDivide(Exception)>>_propagate}
        receiver: a ZeroDivide
        stack temp[0]: nil

{0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11, ZeroDivide(Exception)>>signal}
        receiver: a ZeroDivide

{0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8, ZeroDivide(Exception)>>signal:with:}
        receiver: a ZeroDivide
        arg[0]: nil
        arg[1]: 0

{0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide class(Exception class)>>signal:with:}
        receiver: ZeroDivide
        arg[0]: nil
        arg[1]: 0

{0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide class(Exception class)>>signalWith:}
        receiver: ZeroDivide
        arg[0]: 0

{0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide class>>dividend:}
        receiver: ZeroDivide
        arg[0]: 0

{0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14, ProcessorScheduler>>fpException:}
        receiver: a ProcessorScheduler
        arg[0]: a ByteArray
        stack temp[0]: a _FPIEEE_RECORD

{0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in ProcessorScheduler>>vmi:list:no:with:}
        receiver: a ProcessorScheduler

{0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18, BlockClosure>>ifCurtailed:}
        receiver: [] @ 0 in nil
        arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:

{0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27, ProcessorScheduler>>vmi:list:no:with:}
        receiver: a ProcessorScheduler
        arg[0]: 872
        arg[1]: nil
        arg[2]: 10
        arg[3]: a ByteArray

{0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0, Float(ArithmeticValue)>>divideIntoFloat:}
        receiver: 0
        arg[0]: 0

{0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
        receiver: 0
        arg[0]: 0

{0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        arg[0]: a HRPlayerSetCalc
        stack temp[0]: a HRPlayerSetCalc

{0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
        stack temp[0]: 2

{0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        arg[0]: a HRPlayerSetCalc

{0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
        stack temp[0]: 1

{0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79, HRTeamSetCalc>>calculateSecondSetChance}
        receiver: a HRTeamSetCalc
        stack temp[0]: true
        stack temp[1]: 0.1

{0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50, HRTeamSetCalc>>calculateFirstSetChance}
        receiver: a HRTeamSetCalc
        stack temp[0]: false
        stack temp[1]: 0.1

{0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62, HRTeamSetCalc>>calculateSetValue}
        receiver: a HRTeamSetCalc

{0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in HRMeetingSetCalc>>setAll}
        receiver: nil
        arg[0]: a HRTeamSetCalc

{0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11, OrderedCollection>>do:}
        receiver: a OrderedCollection
        arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
        stack temp[0]: 5

{0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8, HRMeetingSetCalc>>setAll}
        receiver: a HRMeetingSetCalc

{0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2, HRMeetingSetCalc>>recalcSetValues}
        receiver: a HRMeetingSetCalc

{0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5, Message>>forwardTo:}
        receiver: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
        arg[0]: a HRMeetingSetCalc

{0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4, HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
        receiver: a HRMyMeeting
        arg[0]: Message selector: recalcSetValues arguments: ***Bad Array: 00000000

{0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16, HRMtgDashboardModel>>refresh}
        receiver: a HRMtgDashboardModel

{0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in HRScheduleItem>>execute}
        receiver: a HRScheduleItem

{0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
        receiver: a ExceptionHandler

{0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler

{0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18, BlockClosure>>ifCurtailed:}
        receiver: [] @ 0 in nil
        arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:

{0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3, BlockClosure>>ensure:}
        receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
        arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
        stack temp[0]: nil

{0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler
        arg[0]: [] @ 12 in HRScheduleItem>>execute
        stack temp[0]: nil
        stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
        env temp[0]: nil

{0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7, BlockClosure>>on:do:}
        receiver: [] @ 12 in HRScheduleItem>>execute
        arg[0]: ProcessTermination
        arg[1]: [] @ 13 in BlockClosure>>newProcess

{0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in BlockClosure>>newProcess}
        receiver: [] @ 12 in HRScheduleItem>>execute

<Bottom of stack>

***** End of dump *****
Ted
Reply | Threaded
Open this post in threaded view
|

Re: Dolphin X6 ToGo crash with dodgy .ERRORS file

Ted
I found a way to easily reproduce this. Just put a 'self halt' in your
app (with the #doesNotUnderstand: forwarding mechanism), deploy it and -
hey presto.

Something must have changed in this area as in D5 these issues never
caused the app to crash so badly.

Should I worry about the fact that the error file is massive and seems
to have dodgy data in it? What about that bad array?

Ted


Ted wrote:

> Hi,
>
> I've had several occurrences of a crash of my deployed app leaving a
> massive (~200Mb) .ERRORS file that has some kind of dodgy data in it.
> When trying to open the file, it seems to have multiple start-of-file
> and end-of-file characters in it, as the reader thinks it is at the
> start/end throughout the file.
>
> This is DX6, the same app has never done this in D5.
>
> The app seems to be crashing on a divide-by-zero error, with some
> strange references of a bad array [00000000]. Trying to figure out
> what's going on I got the suspicion it is in the message forwarding.
> I've overridden #doesNotUnderstand: to forward messages of a wrapper to
> the wrapped object. Now the bad array gets created when the message
> (which doesn't have any arguments) gets sent around. As the Array has
> seen changes in DX6 to support immutable arrays, I can imagine the
> Message class>>selector: message might be causing the problem, as that
> creates an immutable array for the arguments.
>
> See enclosed for an extract of the error log (most of this is repeated
> umpteen times).
>
> Can anybody shed some light on this?
>
> Thanks,
>
> Ted
>
>
> ------------------------------------------------------------------------
>
> ************************** Dolphin Virtual Machine Dump Report ***************************
>
> 16:42:04, 25/02/2006: Division by zero of 0.0
>
> *----> VM Context <----*
> Process: {0B280004:size 304 words, suspended frame 0B280425, priority 3, callbacks 0
> last failure 0:nil, FPE mask 3, thread nil}
> Active Method: SessionManager>>logError:
> IP: 0985B0F9 (9)
> SP: 0B2805A4
> BP: 0B280578 (334)
> ActiveFrame: {0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5, MyAppSessionManager(SessionManager)>>logError:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
>
> New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
> Message Selector: dump:path:stackDepth:walkbackDepth:
>
> *----> Stack Back Trace <----*
> {0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5, MyAppSessionManager(SessionManager)>>logError:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
> {0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 3, MyAppSessionManager(SessionManager)>>unhandledException:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
> {0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
> {0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5, ZeroDivide(Error)>>defaultAction}
> receiver: a ZeroDivide
>
> {0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55, ZeroDivide(Exception)>>_propagateFrom:}
> receiver: a ZeroDivide
> arg[0]: a ExceptionHandler
> stack temp[0]: nil
> stack temp[1]: a ExceptionHandler
> stack temp[2]: nil
> stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
> stack temp[4]: nil
>
> {0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6, ZeroDivide(Exception)>>_propagate}
> receiver: a ZeroDivide
> stack temp[0]: nil
>
> {0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11, ZeroDivide(Exception)>>signal}
> receiver: a ZeroDivide
>
> {0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8, ZeroDivide(Exception)>>signal:with:}
> receiver: a ZeroDivide
> arg[0]: nil
> arg[1]: 0
>
> {0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide class(Exception class)>>signal:with:}
> receiver: ZeroDivide
> arg[0]: nil
> arg[1]: 0
>
> {0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide class(Exception class)>>signalWith:}
> receiver: ZeroDivide
> arg[0]: 0
>
> {0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide class>>dividend:}
> receiver: ZeroDivide
> arg[0]: 0
>
> {0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14, ProcessorScheduler>>fpException:}
> receiver: a ProcessorScheduler
> arg[0]: a ByteArray
> stack temp[0]: a _FPIEEE_RECORD
>
> {0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in ProcessorScheduler>>vmi:list:no:with:}
> receiver: a ProcessorScheduler
>
> {0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18, BlockClosure>>ifCurtailed:}
> receiver: [] @ 0 in nil
> arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:
>
> {0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27, ProcessorScheduler>>vmi:list:no:with:}
> receiver: a ProcessorScheduler
> arg[0]: 872
> arg[1]: nil
> arg[2]: 10
> arg[3]: a ByteArray
>
> {0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0, Float(ArithmeticValue)>>divideIntoFloat:}
> receiver: 0
> arg[0]: 0
>
> {0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
> receiver: 0
> arg[0]: 0
>
> {0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> arg[0]: a HRPlayerSetCalc
> stack temp[0]: a HRPlayerSetCalc
>
> {0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
> stack temp[0]: 2
>
> {0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> arg[0]: a HRPlayerSetCalc
>
> {0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
> stack temp[0]: 1
>
> {0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79, HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> stack temp[0]: true
> stack temp[1]: 0.1
>
> {0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50, HRTeamSetCalc>>calculateFirstSetChance}
> receiver: a HRTeamSetCalc
> stack temp[0]: false
> stack temp[1]: 0.1
>
> {0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62, HRTeamSetCalc>>calculateSetValue}
> receiver: a HRTeamSetCalc
>
> {0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in HRMeetingSetCalc>>setAll}
> receiver: nil
> arg[0]: a HRTeamSetCalc
>
> {0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
> stack temp[0]: 5
>
> {0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8, HRMeetingSetCalc>>setAll}
> receiver: a HRMeetingSetCalc
>
> {0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2, HRMeetingSetCalc>>recalcSetValues}
> receiver: a HRMeetingSetCalc
>
> {0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5, Message>>forwardTo:}
> receiver: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
> arg[0]: a HRMeetingSetCalc
>
> {0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4, HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
> receiver: a HRMyMeeting
> arg[0]: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
>
> {0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16, HRMtgDashboardModel>>refresh}
> receiver: a HRMtgDashboardModel
>
> {0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in HRScheduleItem>>execute}
> receiver: a HRScheduleItem
>
> {0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
> receiver: a ExceptionHandler
>
> {0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> receiver: a ExceptionHandler
>
> {0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18, BlockClosure>>ifCurtailed:}
> receiver: [] @ 0 in nil
> arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>
> {0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3, BlockClosure>>ensure:}
> receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
> arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
> stack temp[0]: nil
>
> {0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> receiver: a ExceptionHandler
> arg[0]: [] @ 12 in HRScheduleItem>>execute
> stack temp[0]: nil
> stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
> env temp[0]: nil
>
> {0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7, BlockClosure>>on:do:}
> receiver: [] @ 12 in HRScheduleItem>>execute
> arg[0]: ProcessTermination
> arg[1]: [] @ 13 in BlockClosure>>newProcess
>
> {0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in BlockClosure>>newProcess}
> receiver: [] @ 12 in HRScheduleItem>>execute
>
> <Bottom of stack>
>
> ***** End of dump *****
>
>
> ************************** Dolphin Virtual Machine Dump Report ***************************
>
> 16:42:04, 25/02/2006: UndefinedObject does not understand #asInteger
>
> *----> VM Context <----*
> Process: {0B280004:size 435 words, suspended frame 0B280425, priority 3, callbacks 0
> last failure 2:nil, FPE mask 3, thread nil}
> Active Method: SessionManager>>logError:
> IP: 0985B0F9 (9)
> SP: 0B2807B0
> BP: 0B280784 (465)
> ActiveFrame: {0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5, MyAppSessionManager(SessionManager)>>logError:}
> receiver: a MyAppSessionManager
> arg[0]: a MessageNotUnderstood
>
>
> New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
> Message Selector: dump:path:stackDepth:walkbackDepth:
>
> *----> Stack Back Trace <----*
> {0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5, MyAppSessionManager(SessionManager)>>logError:}
> receiver: a MyAppSessionManager
> arg[0]: a MessageNotUnderstood
>
> {0B280768: cf 0B280749, sp 0B28077C, bp 0B280764, ip 3, MyAppSessionManager(SessionManager)>>unhandledException:}
> receiver: a MyAppSessionManager
> arg[0]: a MessageNotUnderstood
>
> {0B280748: cf 0B280729, sp 0B28075C, bp 0B280744, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
> receiver: a MyAppSessionManager
> arg[0]: a MessageNotUnderstood
>
> {0B280728: cf 0B28070D, sp 0B28073C, bp 0B280728, ip 5, MessageNotUnderstood(Error)>>defaultAction}
> receiver: a MessageNotUnderstood
>
> {0B28070C: cf 0B2806D9, sp 0B280720, bp 0B2806F4, ip 55, MessageNotUnderstood(Exception)>>_propagateFrom:}
> receiver: a MessageNotUnderstood
> arg[0]: a ExceptionHandler
> stack temp[0]: nil
> stack temp[1]: a ExceptionHandler
> stack temp[2]: nil
> stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
> stack temp[4]: nil
>
> {0B2806D8: cf 0B2806B9, sp 0B2806EC, bp 0B2806D4, ip 6, MessageNotUnderstood(Exception)>>_propagate}
> receiver: a MessageNotUnderstood
> stack temp[0]: nil
>
> {0B2806B8: cf 0B28069D, sp 0B2806CC, bp 0B2806B8, ip 11, MessageNotUnderstood(Exception)>>signal}
> receiver: a MessageNotUnderstood
>
> {0B28069C: cf 0B280679, sp 0B2806B0, bp 0B280694, ip 12, MessageNotUnderstood class>>receiver:message:}
> receiver: MessageNotUnderstood
> arg[0]: nil
> arg[1]: Message selector: asInteger arguments: ***Bad Array: 00000000
>
> {0B280678: cf 0B280659, sp 0B28068C, bp 0B280674, ip 4, Object>>doesNotUnderstand:}
> receiver: nil
> arg[0]: Message selector: asInteger arguments: ***Bad Array: 00000000
>
> {0B280658: cf 0B280631, sp 0B28066C, bp 0B28064C, ip 10, ByteArray>>retryDwordAtOffset:put:}
> receiver: a ByteArray
> arg[0]: 4
> arg[1]: nil
> stack temp[0]: nil
>
> {0B280630: cf 0B28060D, sp 0B280644, bp 0B280628, ip 4, ByteArray>>dwordAtOffset:put:}
> receiver: a ByteArray
> arg[0]: 4
> arg[1]: nil
>
> {0B28060C: cf 0B2805ED, sp 0B280620, bp 0B280608, ip 6, MSGBOXPARAMS>>hwndOwner:}
> receiver: a MSGBOXPARAMS
> arg[0]: nil
>
> {0B2805EC: cf 0B28059D, sp 0B280600, bp 0B2805B8, ip 73, UserLibrary>>messageBox:text:caption:style:icon:instance:}
> receiver: a UserLibrary
> arg[0]: nil
> arg[1]: ''Division by zero of 0.0''
> arg[2]: ''MP59Alpha5''
> arg[3]: 16
> arg[4]: nil
> arg[5]: nil
> stack temp[0]: nil
> stack temp[1]: a MSGBOXPARAMS
> stack temp[2]: nil
> stack temp[3]: nil
> stack temp[4]: nil
> stack temp[5]: false
> stack temp[6]: nil
>
> {0B28059C: cf 0B280579, sp 0B2805B0, bp 0B280594, ip 20, ZeroDivide(Exception)>>showMessage:style:}
> receiver: a ZeroDivide
> arg[0]: ''Division by zero of 0.0''
> arg[1]: 16
>
> {0B280578: cf 0B28055D, sp 0B28058C, bp 0B280578, ip 11, ZeroDivide(Exception)>>okToContinue}
> receiver: a ZeroDivide
>
> {0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 6, MyAppSessionManager(SessionManager)>>unhandledException:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
> {0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3, MyAppSessionManager(SessionManager)>>onUnhandledError:}
> receiver: a MyAppSessionManager
> arg[0]: a ZeroDivide
>
> {0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5, ZeroDivide(Error)>>defaultAction}
> receiver: a ZeroDivide
>
> {0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55, ZeroDivide(Exception)>>_propagateFrom:}
> receiver: a ZeroDivide
> arg[0]: a ExceptionHandler
> stack temp[0]: nil
> stack temp[1]: a ExceptionHandler
> stack temp[2]: nil
> stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
> stack temp[4]: nil
>
> {0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6, ZeroDivide(Exception)>>_propagate}
> receiver: a ZeroDivide
> stack temp[0]: nil
>
> {0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11, ZeroDivide(Exception)>>signal}
> receiver: a ZeroDivide
>
> {0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8, ZeroDivide(Exception)>>signal:with:}
> receiver: a ZeroDivide
> arg[0]: nil
> arg[1]: 0
>
> {0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide class(Exception class)>>signal:with:}
> receiver: ZeroDivide
> arg[0]: nil
> arg[1]: 0
>
> {0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide class(Exception class)>>signalWith:}
> receiver: ZeroDivide
> arg[0]: 0
>
> {0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide class>>dividend:}
> receiver: ZeroDivide
> arg[0]: 0
>
> {0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14, ProcessorScheduler>>fpException:}
> receiver: a ProcessorScheduler
> arg[0]: a ByteArray
> stack temp[0]: a _FPIEEE_RECORD
>
> {0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in ProcessorScheduler>>vmi:list:no:with:}
> receiver: a ProcessorScheduler
>
> {0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18, BlockClosure>>ifCurtailed:}
> receiver: [] @ 0 in nil
> arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:
>
> {0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27, ProcessorScheduler>>vmi:list:no:with:}
> receiver: a ProcessorScheduler
> arg[0]: 872
> arg[1]: nil
> arg[2]: 10
> arg[3]: a ByteArray
>
> {0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0, Float(ArithmeticValue)>>divideIntoFloat:}
> receiver: 0
> arg[0]: 0
>
> {0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
> receiver: 0
> arg[0]: 0
>
> {0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> arg[0]: a HRPlayerSetCalc
> stack temp[0]: a HRPlayerSetCalc
>
> {0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
> stack temp[0]: 2
>
> {0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> arg[0]: a HRPlayerSetCalc
>
> {0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
> stack temp[0]: 1
>
> {0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79, HRTeamSetCalc>>calculateSecondSetChance}
> receiver: a HRTeamSetCalc
> stack temp[0]: true
> stack temp[1]: 0.1
>
> {0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50, HRTeamSetCalc>>calculateFirstSetChance}
> receiver: a HRTeamSetCalc
> stack temp[0]: false
> stack temp[1]: 0.1
>
> {0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62, HRTeamSetCalc>>calculateSetValue}
> receiver: a HRTeamSetCalc
>
> {0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in HRMeetingSetCalc>>setAll}
> receiver: nil
> arg[0]: a HRTeamSetCalc
>
> {0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11, OrderedCollection>>do:}
> receiver: a OrderedCollection
> arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
> stack temp[0]: 5
>
> {0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8, HRMeetingSetCalc>>setAll}
> receiver: a HRMeetingSetCalc
>
> {0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2, HRMeetingSetCalc>>recalcSetValues}
> receiver: a HRMeetingSetCalc
>
> {0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5, Message>>forwardTo:}
> receiver: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
> arg[0]: a HRMeetingSetCalc
>
> {0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4, HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
> receiver: a HRMyMeeting
> arg[0]: Message selector: recalcSetValues arguments: ***Bad Array: 00000000
>
> {0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16, HRMtgDashboardModel>>refresh}
> receiver: a HRMtgDashboardModel
>
> {0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in HRScheduleItem>>execute}
> receiver: a HRScheduleItem
>
> {0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
> receiver: a ExceptionHandler
>
> {0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> receiver: a ExceptionHandler
>
> {0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18, BlockClosure>>ifCurtailed:}
> receiver: [] @ 0 in nil
> arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>
> {0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3, BlockClosure>>ensure:}
> receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
> arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
> stack temp[0]: nil
>
> {0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
> receiver: a ExceptionHandler
> arg[0]: [] @ 12 in HRScheduleItem>>execute
> stack temp[0]: nil
> stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
> env temp[0]: nil
>
> {0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7, BlockClosure>>on:do:}
> receiver: [] @ 12 in HRScheduleItem>>execute
> arg[0]: ProcessTermination
> arg[1]: [] @ 13 in BlockClosure>>newProcess
>
> {0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in BlockClosure>>newProcess}
> receiver: [] @ 12 in HRScheduleItem>>execute
>
> <Bottom of stack>
>
> ***** End of dump *****


Ted
Reply | Threaded
Open this post in threaded view
|

Re: Dolphin X6 ToGo crash with dodgy .ERRORS file

Ted
Well, I'm not getting any further with this (and nobody else seems to
worry about it ...) so I'm afraid I will have to resort to porting that
app back into D5.

Ted


Ted wrote:

> I found a way to easily reproduce this. Just put a 'self halt' in your
> app (with the #doesNotUnderstand: forwarding mechanism), deploy it and -
> hey presto.
>
> Something must have changed in this area as in D5 these issues never
> caused the app to crash so badly.
>
> Should I worry about the fact that the error file is massive and seems
> to have dodgy data in it? What about that bad array?
>
> Ted
>
>
> Ted wrote:
>
>> Hi,
>>
>> I've had several occurrences of a crash of my deployed app leaving a
>> massive (~200Mb) .ERRORS file that has some kind of dodgy data in it.
>> When trying to open the file, it seems to have multiple start-of-file
>> and end-of-file characters in it, as the reader thinks it is at the
>> start/end throughout the file.
>>
>> This is DX6, the same app has never done this in D5.
>>
>> The app seems to be crashing on a divide-by-zero error, with some
>> strange references of a bad array [00000000]. Trying to figure out
>> what's going on I got the suspicion it is in the message forwarding.
>> I've overridden #doesNotUnderstand: to forward messages of a wrapper to
>> the wrapped object. Now the bad array gets created when the message
>> (which doesn't have any arguments) gets sent around. As the Array has
>> seen changes in DX6 to support immutable arrays, I can imagine the
>> Message class>>selector: message might be causing the problem, as that
>> creates an immutable array for the arguments.
>>
>> See enclosed for an extract of the error log (most of this is repeated
>> umpteen times).
>>
>> Can anybody shed some light on this?
>>
>> Thanks,
>>
>> Ted
>>
>>
>> ------------------------------------------------------------------------
>>
>> ************************** Dolphin Virtual Machine Dump Report
>> ***************************
>>
>> 16:42:04, 25/02/2006: Division by zero of 0.0
>>
>> *----> VM Context <----*
>> Process: {0B280004:size 304 words, suspended frame 0B280425, priority
>> 3, callbacks 0
>> last failure 0:nil, FPE mask 3, thread nil}
>> Active Method: SessionManager>>logError:
>> IP: 0985B0F9 (9)
>> SP: 0B2805A4
>> BP: 0B280578 (334)
>> ActiveFrame: {0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5,
>> MyAppSessionManager(SessionManager)>>logError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>>
>> New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
>> Message Selector: dump:path:stackDepth:walkbackDepth:
>>
>> *----> Stack Back Trace <----*
>> {0B28057C: cf 0B28055D, sp 0B280594, bp 0B280578, ip 5,
>> MyAppSessionManager(SessionManager)>>logError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>> {0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 3,
>> MyAppSessionManager(SessionManager)>>unhandledException:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>> {0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3,
>> MyAppSessionManager(SessionManager)>>onUnhandledError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>> {0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5,
>> ZeroDivide(Error)>>defaultAction}
>>     receiver: a ZeroDivide
>>
>> {0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55,
>> ZeroDivide(Exception)>>_propagateFrom:}
>>     receiver: a ZeroDivide
>>     arg[0]: a ExceptionHandler
>>     stack temp[0]: nil
>>     stack temp[1]: a ExceptionHandler
>>     stack temp[2]: nil
>>     stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000
>> [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
>>     stack temp[4]: nil
>>
>> {0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6,
>> ZeroDivide(Exception)>>_propagate}
>>     receiver: a ZeroDivide
>>     stack temp[0]: nil
>>
>> {0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11,
>> ZeroDivide(Exception)>>signal}
>>     receiver: a ZeroDivide
>>
>> {0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8,
>> ZeroDivide(Exception)>>signal:with:}
>>     receiver: a ZeroDivide
>>     arg[0]: nil
>>     arg[1]: 0
>>
>> {0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide
>> class(Exception class)>>signal:with:}
>>     receiver: ZeroDivide
>>     arg[0]: nil
>>     arg[1]: 0
>>
>> {0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide
>> class(Exception class)>>signalWith:}
>>     receiver: ZeroDivide
>>     arg[0]: 0
>>
>> {0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide
>> class>>dividend:}
>>     receiver: ZeroDivide
>>     arg[0]: 0
>>
>> {0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14,
>> ProcessorScheduler>>fpException:}
>>     receiver: a ProcessorScheduler
>>     arg[0]: a ByteArray
>>     stack temp[0]: a _FPIEEE_RECORD
>>
>> {0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in
>> ProcessorScheduler>>vmi:list:no:with:}
>>     receiver: a ProcessorScheduler
>>
>> {0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18,
>> BlockClosure>>ifCurtailed:}
>>     receiver: [] @ 0 in nil
>>     arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:
>>
>> {0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27,
>> ProcessorScheduler>>vmi:list:no:with:}
>>     receiver: a ProcessorScheduler
>>     arg[0]: 872
>>     arg[1]: nil
>>     arg[2]: 10
>>     arg[3]: a ByteArray
>>
>> {0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0,
>> Float(ArithmeticValue)>>divideIntoFloat:}
>>     receiver: 0
>>     arg[0]: 0
>>
>> {0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
>>     receiver: 0
>>     arg[0]: 0
>>
>> {0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     arg[0]: a HRPlayerSetCalc
>>     stack temp[0]: a HRPlayerSetCalc
>>
>> {0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
>>     stack temp[0]: 2
>>
>> {0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     arg[0]: a HRPlayerSetCalc
>>
>> {0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
>>     stack temp[0]: 1
>>
>> {0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79,
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     stack temp[0]: true
>>     stack temp[1]: 0.1
>>
>> {0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50,
>> HRTeamSetCalc>>calculateFirstSetChance}
>>     receiver: a HRTeamSetCalc
>>     stack temp[0]: false
>>     stack temp[1]: 0.1
>>
>> {0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62,
>> HRTeamSetCalc>>calculateSetValue}
>>     receiver: a HRTeamSetCalc
>>
>> {0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in
>> HRMeetingSetCalc>>setAll}
>>     receiver: nil
>>     arg[0]: a HRTeamSetCalc
>>
>> {0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
>>     stack temp[0]: 5
>>
>> {0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8,
>> HRMeetingSetCalc>>setAll}
>>     receiver: a HRMeetingSetCalc
>>
>> {0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2,
>> HRMeetingSetCalc>>recalcSetValues}
>>     receiver: a HRMeetingSetCalc
>>
>> {0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5,
>> Message>>forwardTo:}
>>     receiver: Message selector: recalcSetValues arguments: ***Bad
>> Array: 00000000
>>     arg[0]: a HRMeetingSetCalc
>>
>> {0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4,
>> HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
>>     receiver: a HRMyMeeting
>>     arg[0]: Message selector: recalcSetValues arguments: ***Bad Array:
>> 00000000
>>
>> {0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16,
>> HRMtgDashboardModel>>refresh}
>>     receiver: a HRMtgDashboardModel
>>
>> {0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in
>> HRScheduleItem>>execute}
>>     receiver: a HRScheduleItem
>>
>> {0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13,
>> ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
>>     receiver: a ExceptionHandler
>>
>> {0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in
>> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
>>     receiver: a ExceptionHandler
>>
>> {0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18,
>> BlockClosure>>ifCurtailed:}
>>     receiver: [] @ 0 in nil
>>     arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>>
>> {0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3,
>> BlockClosure>>ensure:}
>>     receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
>>     arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>>     stack temp[0]: nil
>>
>> {0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44,
>> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
>>     receiver: a ExceptionHandler
>>     arg[0]: [] @ 12 in HRScheduleItem>>execute
>>     stack temp[0]: nil
>>     stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000
>> [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
>>     env temp[0]: nil
>>
>> {0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7,
>> BlockClosure>>on:do:}
>>     receiver: [] @ 12 in HRScheduleItem>>execute
>>     arg[0]: ProcessTermination
>>     arg[1]: [] @ 13 in BlockClosure>>newProcess
>>
>> {0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in
>> BlockClosure>>newProcess}
>>     receiver: [] @ 12 in HRScheduleItem>>execute
>>
>> <Bottom of stack>
>>
>> ***** End of dump *****
>>
>>
>> ************************** Dolphin Virtual Machine Dump Report
>> ***************************
>>
>> 16:42:04, 25/02/2006: UndefinedObject does not understand #asInteger
>>
>> *----> VM Context <----*
>> Process: {0B280004:size 435 words, suspended frame 0B280425, priority
>> 3, callbacks 0
>> last failure 2:nil, FPE mask 3, thread nil}
>> Active Method: SessionManager>>logError:
>> IP: 0985B0F9 (9)
>> SP: 0B2807B0
>> BP: 0B280784 (465)
>> ActiveFrame: {0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5,
>> MyAppSessionManager(SessionManager)>>logError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a MessageNotUnderstood
>>
>>
>> New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
>> Message Selector: dump:path:stackDepth:walkbackDepth:
>>
>> *----> Stack Back Trace <----*
>> {0B280788: cf 0B280769, sp 0B2807A0, bp 0B280784, ip 5,
>> MyAppSessionManager(SessionManager)>>logError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a MessageNotUnderstood
>>
>> {0B280768: cf 0B280749, sp 0B28077C, bp 0B280764, ip 3,
>> MyAppSessionManager(SessionManager)>>unhandledException:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a MessageNotUnderstood
>>
>> {0B280748: cf 0B280729, sp 0B28075C, bp 0B280744, ip 3,
>> MyAppSessionManager(SessionManager)>>onUnhandledError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a MessageNotUnderstood
>>
>> {0B280728: cf 0B28070D, sp 0B28073C, bp 0B280728, ip 5,
>> MessageNotUnderstood(Error)>>defaultAction}
>>     receiver: a MessageNotUnderstood
>>
>> {0B28070C: cf 0B2806D9, sp 0B280720, bp 0B2806F4, ip 55,
>> MessageNotUnderstood(Exception)>>_propagateFrom:}
>>     receiver: a MessageNotUnderstood
>>     arg[0]: a ExceptionHandler
>>     stack temp[0]: nil
>>     stack temp[1]: a ExceptionHandler
>>     stack temp[2]: nil
>>     stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000
>> [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
>>     stack temp[4]: nil
>>
>> {0B2806D8: cf 0B2806B9, sp 0B2806EC, bp 0B2806D4, ip 6,
>> MessageNotUnderstood(Exception)>>_propagate}
>>     receiver: a MessageNotUnderstood
>>     stack temp[0]: nil
>>
>> {0B2806B8: cf 0B28069D, sp 0B2806CC, bp 0B2806B8, ip 11,
>> MessageNotUnderstood(Exception)>>signal}
>>     receiver: a MessageNotUnderstood
>>
>> {0B28069C: cf 0B280679, sp 0B2806B0, bp 0B280694, ip 12,
>> MessageNotUnderstood class>>receiver:message:}
>>     receiver: MessageNotUnderstood
>>     arg[0]: nil
>>     arg[1]: Message selector: asInteger arguments: ***Bad Array: 00000000
>>
>> {0B280678: cf 0B280659, sp 0B28068C, bp 0B280674, ip 4,
>> Object>>doesNotUnderstand:}
>>     receiver: nil
>>     arg[0]: Message selector: asInteger arguments: ***Bad Array: 00000000
>>
>> {0B280658: cf 0B280631, sp 0B28066C, bp 0B28064C, ip 10,
>> ByteArray>>retryDwordAtOffset:put:}
>>     receiver: a ByteArray
>>     arg[0]: 4
>>     arg[1]: nil
>>     stack temp[0]: nil
>>
>> {0B280630: cf 0B28060D, sp 0B280644, bp 0B280628, ip 4,
>> ByteArray>>dwordAtOffset:put:}
>>     receiver: a ByteArray
>>     arg[0]: 4
>>     arg[1]: nil
>>
>> {0B28060C: cf 0B2805ED, sp 0B280620, bp 0B280608, ip 6,
>> MSGBOXPARAMS>>hwndOwner:}
>>     receiver: a MSGBOXPARAMS
>>     arg[0]: nil
>>
>> {0B2805EC: cf 0B28059D, sp 0B280600, bp 0B2805B8, ip 73,
>> UserLibrary>>messageBox:text:caption:style:icon:instance:}
>>     receiver: a UserLibrary
>>     arg[0]: nil
>>     arg[1]: ''Division by zero of 0.0''
>>     arg[2]: ''MP59Alpha5''
>>     arg[3]: 16
>>     arg[4]: nil
>>     arg[5]: nil
>>     stack temp[0]: nil
>>     stack temp[1]: a MSGBOXPARAMS
>>     stack temp[2]: nil
>>     stack temp[3]: nil
>>     stack temp[4]: nil
>>     stack temp[5]: false
>>     stack temp[6]: nil
>>
>> {0B28059C: cf 0B280579, sp 0B2805B0, bp 0B280594, ip 20,
>> ZeroDivide(Exception)>>showMessage:style:}
>>     receiver: a ZeroDivide
>>     arg[0]: ''Division by zero of 0.0''
>>     arg[1]: 16
>>
>> {0B280578: cf 0B28055D, sp 0B28058C, bp 0B280578, ip 11,
>> ZeroDivide(Exception)>>okToContinue}
>>     receiver: a ZeroDivide
>>
>> {0B28055C: cf 0B28053D, sp 0B280570, bp 0B280558, ip 6,
>> MyAppSessionManager(SessionManager)>>unhandledException:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>> {0B28053C: cf 0B28051D, sp 0B280550, bp 0B280538, ip 3,
>> MyAppSessionManager(SessionManager)>>onUnhandledError:}
>>     receiver: a MyAppSessionManager
>>     arg[0]: a ZeroDivide
>>
>> {0B28051C: cf 0B280501, sp 0B280530, bp 0B28051C, ip 5,
>> ZeroDivide(Error)>>defaultAction}
>>     receiver: a ZeroDivide
>>
>> {0B280500: cf 0B2804CD, sp 0B280514, bp 0B2804E8, ip 55,
>> ZeroDivide(Exception)>>_propagateFrom:}
>>     receiver: a ZeroDivide
>>     arg[0]: a ExceptionHandler
>>     stack temp[0]: nil
>>     stack temp[1]: a ExceptionHandler
>>     stack temp[2]: nil
>>     stack temp[3]: a Process(HRScheduleItem>>execute base 0B280000
>> [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
>>     stack temp[4]: nil
>>
>> {0B2804CC: cf 0B2804AD, sp 0B2804E0, bp 0B2804C8, ip 6,
>> ZeroDivide(Exception)>>_propagate}
>>     receiver: a ZeroDivide
>>     stack temp[0]: nil
>>
>> {0B2804AC: cf 0B280491, sp 0B2804C0, bp 0B2804AC, ip 11,
>> ZeroDivide(Exception)>>signal}
>>     receiver: a ZeroDivide
>>
>> {0B280490: cf 0B28046D, sp 0B2804A4, bp 0B280488, ip 8,
>> ZeroDivide(Exception)>>signal:with:}
>>     receiver: a ZeroDivide
>>     arg[0]: nil
>>     arg[1]: 0
>>
>> {0B28046C: cf 0B280449, sp 0B280480, bp 0B280464, ip 6, ZeroDivide
>> class(Exception class)>>signal:with:}
>>     receiver: ZeroDivide
>>     arg[0]: nil
>>     arg[1]: 0
>>
>> {0B280448: cf 0B280429, sp 0B28045C, bp 0B280444, ip 5, ZeroDivide
>> class(Exception class)>>signalWith:}
>>     receiver: ZeroDivide
>>     arg[0]: 0
>>
>> {0B280428: cf 0B280409, sp 0B28043C, bp 0B280424, ip 3, ZeroDivide
>> class>>dividend:}
>>     receiver: ZeroDivide
>>     arg[0]: 0
>>
>> {0B280408: cf 0B2803E5, sp 0B28041C, bp 0B280400, ip 14,
>> ProcessorScheduler>>fpException:}
>>     receiver: a ProcessorScheduler
>>     arg[0]: a ByteArray
>>     stack temp[0]: a _FPIEEE_RECORD
>>
>> {0B2803E4: cf 0B2803B9, sp 0B2803F8, bp 0B2803DC, ip 16, [] in
>> ProcessorScheduler>>vmi:list:no:with:}
>>     receiver: a ProcessorScheduler
>>
>> {0B2803B8: cf 0B280399, sp 0B2803CC, bp 0B2803B4, ip 18,
>> BlockClosure>>ifCurtailed:}
>>     receiver: [] @ 0 in nil
>>     arg[0]: [] @ 24 in ProcessorScheduler>>vmi:list:no:with:
>>
>> {0B280398: cf 0B28036D, sp 0B2803AC, bp 0B280388, ip 27,
>> ProcessorScheduler>>vmi:list:no:with:}
>>     receiver: a ProcessorScheduler
>>     arg[0]: 872
>>     arg[1]: nil
>>     arg[2]: 10
>>     arg[3]: a ByteArray
>>
>> {0B28036C: cf 0B28034D, sp 0B280380, bp 0B280368, ip 0,
>> Float(ArithmeticValue)>>divideIntoFloat:}
>>     receiver: 0
>>     arg[0]: 0
>>
>> {0B28034C: cf 0B28032D, sp 0B280360, bp 0B280348, ip 4, Float>>/}
>>     receiver: 0
>>     arg[0]: 0
>>
>> {0B28032C: cf 0B2802F5, sp 0B280340, bp 0B280318, ip 49, [] in
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     arg[0]: a HRPlayerSetCalc
>>     stack temp[0]: a HRPlayerSetCalc
>>
>> {0B2802F4: cf 0B2802D1, sp 0B280310, bp 0B2802EC, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 32 in HRTeamSetCalc>>calculateSecondSetChance
>>     stack temp[0]: 2
>>
>> {0B2802D0: cf 0B2802A1, sp 0B2802E4, bp 0B2802C4, ip 77, [] in
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     arg[0]: a HRPlayerSetCalc
>>
>> {0B2802A0: cf 0B28027D, sp 0B2802BC, bp 0B280298, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 21 in HRTeamSetCalc>>calculateSecondSetChance
>>     stack temp[0]: 1
>>
>> {0B28027C: cf 0B280259, sp 0B280290, bp 0B280274, ip 79,
>> HRTeamSetCalc>>calculateSecondSetChance}
>>     receiver: a HRTeamSetCalc
>>     stack temp[0]: true
>>     stack temp[1]: 0.1
>>
>> {0B280258: cf 0B280235, sp 0B28026C, bp 0B280250, ip 50,
>> HRTeamSetCalc>>calculateFirstSetChance}
>>     receiver: a HRTeamSetCalc
>>     stack temp[0]: false
>>     stack temp[1]: 0.1
>>
>> {0B280234: cf 0B280219, sp 0B280248, bp 0B280234, ip 62,
>> HRTeamSetCalc>>calculateSetValue}
>>     receiver: a HRTeamSetCalc
>>
>> {0B280218: cf 0B2801F1, sp 0B28022C, bp 0B280214, ip 6, [] in
>> HRMeetingSetCalc>>setAll}
>>     receiver: nil
>>     arg[0]: a HRTeamSetCalc
>>
>> {0B2801F0: cf 0B2801CD, sp 0B28020C, bp 0B2801E8, ip 11,
>> OrderedCollection>>do:}
>>     receiver: a OrderedCollection
>>     arg[0]: [] @ 4 in HRMeetingSetCalc>>setAll
>>     stack temp[0]: 5
>>
>> {0B2801CC: cf 0B2801B1, sp 0B2801E0, bp 0B2801CC, ip 8,
>> HRMeetingSetCalc>>setAll}
>>     receiver: a HRMeetingSetCalc
>>
>> {0B2801B0: cf 0B280195, sp 0B2801C4, bp 0B2801B0, ip 2,
>> HRMeetingSetCalc>>recalcSetValues}
>>     receiver: a HRMeetingSetCalc
>>
>> {0B280194: cf 0B280175, sp 0B2801A8, bp 0B280190, ip 5,
>> Message>>forwardTo:}
>>     receiver: Message selector: recalcSetValues arguments: ***Bad
>> Array: 00000000
>>     arg[0]: a HRMeetingSetCalc
>>
>> {0B280174: cf 0B280155, sp 0B280188, bp 0B280170, ip 4,
>> HRMyMeeting(HRMeetingStrat)>>doesNotUnderstand:}
>>     receiver: a HRMyMeeting
>>     arg[0]: Message selector: recalcSetValues arguments: ***Bad Array:
>> 00000000
>>
>> {0B280154: cf 0B280139, sp 0B280168, bp 0B280154, ip 16,
>> HRMtgDashboardModel>>refresh}
>>     receiver: a HRMtgDashboardModel
>>
>> {0B280138: cf 0B28011D, sp 0B28014C, bp 0B280138, ip 15, [] in
>> HRScheduleItem>>execute}
>>     receiver: a HRScheduleItem
>>
>> {0B28011C: cf 0B280101, sp 0B280130, bp 0B28011C, ip 13,
>> ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
>>     receiver: a ExceptionHandler
>>
>> {0B280100: cf 0B2800D9, sp 0B280114, bp 0B2800FC, ip 22, [] in
>> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
>>     receiver: a ExceptionHandler
>>
>> {0B2800D8: cf 0B2800B9, sp 0B2800EC, bp 0B2800D4, ip 18,
>> BlockClosure>>ifCurtailed:}
>>     receiver: [] @ 0 in nil
>>     arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>>
>> {0B2800B8: cf 0B280095, sp 0B2800CC, bp 0B2800B0, ip 3,
>> BlockClosure>>ensure:}
>>     receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
>>     arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
>>     stack temp[0]: nil
>>
>> {0B280094: cf 0B28006D, sp 0B2800A8, bp 0B280088, ip 44,
>> ExceptionHandler(ExceptionHandlerAbstract)>>try:}
>>     receiver: a ExceptionHandler
>>     arg[0]: [] @ 12 in HRScheduleItem>>execute
>>     stack temp[0]: nil
>>     stack temp[1]: a Process(HRScheduleItem>>execute base 0B280000
>> [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=01720010)
>>     env temp[0]: nil
>>
>> {0B28006C: cf 0B280049, sp 0B280080, bp 0B280064, ip 7,
>> BlockClosure>>on:do:}
>>     receiver: [] @ 12 in HRScheduleItem>>execute
>>     arg[0]: ProcessTermination
>>     arg[1]: [] @ 13 in BlockClosure>>newProcess
>>
>> {0B280048: cf 00000001, sp 0B28005C, bp 0B280048, ip 17, [] in
>> BlockClosure>>newProcess}
>>     receiver: [] @ 12 in HRScheduleItem>>execute
>>
>> <Bottom of stack>
>>
>> ***** End of dump *****


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin X6 ToGo crash with dodgy .ERRORS file

Steve Alan Waring
Hi Ted,

I just got a walkback like your second one ("UndefinedObject does not
understand #asInteger") in a Togo app as soon as I ran it ... before
any windows were opened.

Like you, the .Errors file blew out (to 98Mb) before I could terminate
the process. The relevant section of the errors file is below.

I think the problem is in
UserLibrary>>messageBox:text:caption:style:icon:instance:

If the process is not the main process, hWnd can end up being set to
nil if there is no main window. This ends up causing an exception when
this is set into the MSGBOXPARAMS struct, and causes a nasty error
loop. One solution would be to guard for no active window and if so
treat it as being TaskModal.

I am not sure what the deal is with " ***Bad Array: 0000000". Possibly
a problem in the VM?

Also, I am not sure what the original problem was that triggered the
error loop. I redeployed, only making the change to
UserLibrary>>messageBox:text:caption:style:icon:instance: to check for
a nil hWnd, and the app opened without a problem.

Error file:

{094402E8: cf 094402C9, sp 094402FC, bp 094402E4, ip 4,
Object>>doesNotUnderstand:}
        receiver: nil
        arg[0]: Message selector: asInteger arguments: ***Bad Array: 00000000

{094402C8: cf 094402A1, sp 094402DC, bp 094402BC, ip 10,
ByteArray>>retryDwordAtOffset:put:}
        receiver: a ByteArray
        arg[0]: 4
        arg[1]: nil
        stack temp[0]: nil

{094402A0: cf 0944027D, sp 094402B4, bp 09440298, ip 4,
ByteArray>>dwordAtOffset:put:}
        receiver: a ByteArray
        arg[0]: 4
        arg[1]: nil

{0944027C: cf 0944025D, sp 09440290, bp 09440278, ip 6,
MSGBOXPARAMS>>hwndOwner:}
        receiver: a MSGBOXPARAMS
        arg[0]: nil

{0944025C: cf 0944020D, sp 09440270, bp 09440228, ip 73,
UserLibrary>>messageBox:text:caption:style:icon:instance:}
        receiver: a UserLibrary
        arg[0]: nil
        arg[1]: 'Primitive Process>>primTerminate failed (0)'
        arg[2]: 'FSClient'
        arg[3]: 16
        arg[4]: nil
        arg[5]: nil
        stack temp[0]: nil
        stack temp[1]: a MSGBOXPARAMS
        stack temp[2]: nil
        stack temp[3]: nil
        stack temp[4]: nil
        stack temp[5]: false
        stack temp[6]: nil


Steve
--
Steve Waring