Compiler error while deploying a ToGo...

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

Compiler error while deploying a ToGo...

Theo Pronk
Hi,
I'm trying to create a toGo exe file of a new ToDo application, but keep
getting the error:

        "Invalid arg 2: Cannot coerce a CompiledMethod to lpstr"

I've looked through the .errors but find it difficult to determine
what's wrong or even where to start looking.

Can anyone help?

I've attached the dump for anyone who wants to have a bit of light
reading...

Thanks,
Theo Pronk

********************************************************************************
************************** Dolphin Crash Dump Report ***************************

09:13:12, 30/05/2003: DOLPHIN.EXE caused an unhandled Win32 Exception 20000002
at 10018B81 in module 10000000 (C:\PROGRAM FILES\COMMON FILES\OBJECT ARTS\DOLPHIN SMALLTALK 5.1\DOLPHINVM005.DLL)

*----> Exception Parameters <----*
0775B744 Invalid arg 2: Cannot coerce a CompiledM

*----> CPU Context for thread 0xfffd09bf <----*
EAX = 00000000 EBX = 0770AAC4 ECX = 00000007
ESI = 07F70564 EDI = FFFFFFFF EIP = 10018B81
ESP = 00D3F9F0 EBP = 00D3F9F8 EFL = 00000246
CS = 0187 SS = 018F DS = 018F
ES = 018F FS = 1FC7 GS = 0000

*----> VM Context <----*
Process: {07F70004:size 183 words, suspended frame 07F705FD, priority 5, callbacks 0
last failure 17:nil, FPE mask 3, thread nil}
Active Method: VMLibrary>>crashDump:
IP: 07761B0E (22)
SP: 07F70564
BP: 07F70548 (321)
ActiveFrame: {07F70550: cf 07F70531, sp 07F70560, bp 07F70548, ip 10, VMLibrary>>crashDump:}
        receiver: a VMLibrary
        arg[0]: 'Invalid arg 2: Cannot coerce a CompiledMethod to lpstr'
        temp[0]: a DWORDArray


New Method: KernelLibrary>>raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments:
Message Selector: #raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments:

*----> Stack <----*
[07F70564: 328]-->a KernelLibrary
[07F70560: 327]-->66814628
[07F7055C: 326]-->VMLibrary>>crashDump:
[07F70558: 325]-->66814640
[07F70554: 324]-->13
[07F70550: 323]-->66814616
[07F7054C: 322]-->a DWORDArray
[07F70548: 321]-->'Invalid arg 2: Cannot coerce a CompiledMethod to lpstr'
[07F70544: 320]-->a VMLibrary
[07F70540: 319]-->66814612
[07F7053C: 318]-->ImageStripper>>onError:
[07F70538: 317]-->66814624
[07F70534: 316]-->24
[07F70530: 315]-->66814600
[07F7052C: 314]-->'Invalid arg 2: Cannot coerce a CompiledMethod to lpstr'
[07F70528: 313]-->a InvalidExternalCall
[07F70524: 312]-->a ImageStripper
[07F70520: 311]-->[] @ 250 in ImageStripper>>stripAndSaveNotifying:
[07F7051C: 310]-->ImageStripper>>stripAndSaveNotifying:
[07F70518: 309]-->66814608
[07F70514: 308]-->269
[07F70510: 307]-->66814590
[07F7050C: 306]-->[] @ 15 in Exception>>_evaluateHandler:in:
[07F70508: 305]-->Exception>>_evaluateHandler:in:
[07F70504: 304]-->66814598
[07F70500: 303]-->36
[07F704FC: 302]-->66814576
[07F704F8: 301]-->[] @ 6 in BlockClosure>>ifCurtailed:
[07F704F4: 300]-->[] @ 15 in Exception>>_evaluateHandler:in:
[07F704F0: 299]-->a MethodContext for: BlockClosure>>ifCurtailed: frame: 7f704e1 receiver: [] @ 8028006 in nil
[07F704EC: 298]-->BlockClosure>>ifCurtailed:
[07F704E8: 297]-->66814588
[07F704E4: 296]-->20
[07F704E0: 295]-->66814566
[07F704DC: 294]-->66814562
[07F704D8: 293]-->BlockClosure>>ensure:
[07F704D4: 292]-->66814574
[07F704D0: 291]-->7
[07F704CC: 290]-->66814550
[07F704C8: 289]-->nil
[07F704C4: 288]-->[] @ 38 in Exception>>_evaluateHandler:in:
[07F704C0: 287]-->[] @ 15 in Exception>>_evaluateHandler:in:
[07F704BC: 286]-->a MethodContext for: Exception>>_evaluateHandler:in: frame: 7f704ad receiver: a InvalidExternalCall
[07F704B8: 285]-->Exception>>_evaluateHandler:in:
[07F704B4: 284]-->66814558
[07F704B0: 283]-->50
[07F704AC: 282]-->66814540
[07F704A8: 281]-->a MethodContext for: Exception>>_propagateFrom: frame: 7f70499 receiver: a InvalidExternalCall
[07F704A4: 280]-->Exception>>_propagateFrom:
[07F704A0: 279]-->66814548
[07F7049C: 278]-->47
[07F70498: 277]-->66814530
[07F70494: 276]-->66814528
[07F70490: 275]-->Exception>>_propagate
[07F7048C: 274]-->66814538
[07F70488: 273]-->9
[07F70484: 272]-->66814516
[07F70480: 271]-->nil
[07F7047C: 270]-->a InvalidExternalCall
[07F70478: 269]-->66814516
[07F70474: 268]-->Exception>>signal
[07F70470: 267]-->66814524
[07F7046C: 266]-->15
[07F70468: 265]-->66814504
[07F70464: 264]-->a InvalidExternalCall
[07F70460: 263]-->66814500
[07F7045C: 262]-->Exception>>signal:with:
[07F70458: 261]-->66814512
[07F70454: 260]-->14
[07F70450: 259]-->66814488
[07F7044C: 258]-->2
[07F70448: 257]-->nil
[07F70444: 256]-->a InvalidExternalCall
[07F70440: 255]-->66814486
[07F7043C: 254]-->Exception>>signalWith:
[07F70438: 253]-->66814496
[07F70434: 252]-->8
[07F70430: 251]-->66814474
[07F7042C: 250]-->2
[07F70428: 249]-->a InvalidExternalCall
[07F70424: 248]-->66814468
[07F70420: 247]-->InvalidExternalCall class>>invalidArgument:got:expected:
[07F7041C: 246]-->66814482
[07F70418: 245]-->16
[07F70414: 244]-->66814456
[07F70410: 243]-->'lpstr'
[07F7040C: 242]-->ArithmeticValue>>retry:coercing:
[07F70408: 241]-->2
[07F70404: 240]-->InvalidExternalCall
[07F70400: 239]-->66814442
[07F703FC: 238]-->ExternalLibrary>>invalidCall
[07F703F8: 237]-->66814464
[07F703F4: 236]-->61
[07F703F0: 235]-->66814430
[07F703EC: 234]-->a ExternalDescriptor
[07F703E8: 233]-->2
[07F703E4: 232]-->2
[07F703E0: 231]-->a StackFrame
[07F703DC: 230]-->a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)
[07F703D8: 229]-->17
[07F703D4: 228]-->nil
[07F703D0: 227]-->a KernelLibrary
[07F703CC: 226]-->66814426
[07F703C8: 225]-->KernelLibrary>>lstrcmp:lpString2:
[07F703C4: 224]-->66814438
[07F703C0: 223]-->2
[07F703BC: 222]-->66814414
[07F703B8: 221]-->ArithmeticValue>>retry:coercing:
[07F703B4: 220]-->'className'
[07F703B0: 219]-->a KernelLibrary
[07F703AC: 218]-->66814412
[07F703A8: 217]-->String>>trueCompare:
[07F703A4: 216]-->66814422
[07F703A0: 215]-->9
[07F7039C: 214]-->66814400
[07F70398: 213]-->ArithmeticValue>>retry:coercing:
[07F70394: 212]-->'className'
[07F70390: 211]-->[] @ 24 in Symbol class>>findInterned:
[07F7038C: 210]-->Symbol class>>findInterned:
[07F70388: 209]-->66814408
[07F70384: 208]-->37
[07F70380: 207]-->66814386
[07F7037C: 206]-->22
[07F70378: 205]-->1
[07F70374: 204]-->66814382
[07F70370: 203]-->ArrayedCollection>>do:
[07F7036C: 202]-->66814398
[07F70368: 201]-->19
[07F70364: 200]-->66814370
[07F70360: 199]-->6
[07F7035C: 198]-->[] @ 24 in Symbol class>>findInterned:
[07F70358: 197]-->a WeakArray
[07F70354: 196]-->a MethodContext for: Symbol class>>findInterned: frame: 7f70345 receiver: Symbol
[07F70350: 195]-->Symbol class>>findInterned:
[07F7034C: 194]-->66814378
[07F70348: 193]-->46
[07F70344: 192]-->66814360
[07F70340: 191]-->66814356
[07F7033C: 190]-->Symbol class>>intern:
[07F70338: 189]-->66814368
[07F70334: 188]-->7
[07F70330: 187]-->66814344
[07F7032C: 186]-->nil
[07F70328: 185]-->'className'
[07F70324: 184]-->Symbol
[07F70320: 183]-->66814344
[07F7031C: 182]-->String>>asSymbol
[07F70318: 181]-->66814352
[07F70314: 180]-->3
[07F70310: 179]-->66814330
...
<27 slots omitted>
...
[07F702A0: 151]-->66814278
[07F7029C: 150]-->66814270
[07F70298: 149]-->ImageStripper>>stripRedundantMethodsNotifying:
[07F70294: 148]-->66814286
[07F70290: 147]-->21
[07F7028C: 146]-->66814256
[07F70288: 145]-->nil
[07F70284: 144]-->a OrderedCollection
[07F70280: 143]-->0
[07F7027C: 142]-->a Array
[07F70278: 141]-->a ImageStripper
[07F70274: 140]-->125
[07F70270: 139]-->66814252
[07F7026C: 138]-->ImageStripper>>stripRedundantClassesMethodsAndResources:notifying:
[07F70268: 137]-->66814266
[07F70264: 136]-->11
[07F70260: 135]-->66814240
[07F7025C: 134]-->a Array
[07F70258: 133]-->false
[07F70254: 132]-->a ImageStripper
[07F70250: 131]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying:
[07F7024C: 130]-->ImageStripper>>stripAndSaveNotifying:
[07F70248: 129]-->66814248
[07F70244: 128]-->127
[07F70240: 127]-->66814230
[07F7023C: 126]-->a MethodContext for: ExceptionHandlerAbstract>>markAndTry frame: 7f7022d receiver: a ExceptionHandlerSet
[07F70238: 125]-->ExceptionHandlerAbstract>>markAndTry
[07F70234: 124]-->66814238
[07F70230: 123]-->14
[07F7022C: 122]-->66814220
[07F70228: 121]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F70224: 120]-->ExceptionHandlerAbstract>>try:
[07F70220: 119]-->66814228
[07F7021C: 118]-->24
[07F70218: 117]-->66814206
[07F70214: 116]-->[] @ 6 in BlockClosure>>ifCurtailed:
[07F70210: 115]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F7020C: 114]-->a MethodContext for: BlockClosure>>ifCurtailed: frame: 7f701fd receiver: [] @ 8028006 in nil
[07F70208: 113]-->BlockClosure>>ifCurtailed:
[07F70204: 112]-->66814218
[07F70200: 111]-->20
[07F701FC: 110]-->66814196
[07F701F8: 109]-->66814192
[07F701F4: 108]-->BlockClosure>>ensure:
[07F701F0: 107]-->66814204
[07F701EC: 106]-->7
[07F701E8: 105]-->66814180
[07F701E4: 104]-->nil
[07F701E0: 103]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[07F701DC: 102]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F701D8: 101]-->a MethodContext for: ExceptionHandlerAbstract>>try: frame: 7f701c9 receiver: a ExceptionHandlerSet
[07F701D4: 100]-->ExceptionHandlerAbstract>>try:
[07F701D0: 99]-->66814188
[07F701CC: 98]-->42
[07F701C8: 97]-->66814170
[07F701C4: 96]-->66814168
[07F701C0: 95]-->BlockClosure>>onDo:
[07F701BC: 94]-->66814178
[07F701B8: 93]-->3
[07F701B4: 92]-->66814156
[07F701B0: 91]-->a ExceptionHandlerSet
[07F701AC: 90]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying:
[07F701A8: 89]-->66814148
[07F701A4: 88]-->BlockClosure>>on:do:on:do:
[07F701A0: 87]-->66814164
[07F7019C: 86]-->16
[07F70198: 85]-->66814136
[07F70194: 84]-->[] @ 273 in ImageStripper>>stripAndSaveNotifying:
[07F70190: 83]-->Notification
[07F7018C: 82]-->[] @ 250 in ImageStripper>>stripAndSaveNotifying:
[07F70188: 81]-->Error
[07F70184: 80]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying:
[07F70180: 79]-->a MethodContext for: ImageStripper>>stripAndSaveNotifying: frame: 7f70171 receiver: a ImageStripper
[07F7017C: 78]-->ImageStripper>>stripAndSaveNotifying:
[07F70178: 77]-->66814144
[07F70174: 76]-->295
[07F70170: 75]-->66814126
[07F7016C: 74]-->66814126
[07F70168: 73]-->ImageStripper>>stripAndSaveWithProgress
[07F70164: 72]-->66814134
[07F70160: 71]-->14
[07F7015C: 70]-->66814114
[07F70158: 69]-->a ImageStripper
[07F70154: 68]-->66814114
[07F70150: 67]-->MessageSendAbstract>>value
[07F7014C: 66]-->66814122
[07F70148: 65]-->9
[07F70144: 64]-->66814102
[07F70140: 63]-->a MessageSend
[07F7013C: 62]-->66814096
[07F70138: 61]-->InputState>>loopWhile:
[07F70134: 60]-->66814110
[07F70130: 59]-->35
[07F7012C: 58]-->66814084
[07F70128: 57]-->a MessageSend
[07F70124: 56]-->a MSG
[07F70120: 55]-->[] @ 6 in InputState>>mainLoop
[07F7011C: 54]-->a InputState
[07F70118: 53]-->a MethodContext for: InputState>>mainLoop frame: 7f70109 receiver: a InputState
[07F70114: 52]-->InputState>>mainLoop
[07F70110: 51]-->66814092
[07F7010C: 50]-->15
[07F70108: 49]-->66814074
[07F70104: 48]-->[] @ 8 in InputState>>forkMain
[07F70100: 47]-->InputState>>forkMain
[07F700FC: 46]-->66814082
[07F700F8: 45]-->16
[07F700F4: 44]-->66814064
[07F700F0: 43]-->a MethodContext for: ExceptionHandlerAbstract>>markAndTry frame: 7f700e1 receiver: a ExceptionHandler
[07F700EC: 42]-->ExceptionHandlerAbstract>>markAndTry
[07F700E8: 41]-->66814072
[07F700E4: 40]-->14
[07F700E0: 39]-->66814054
[07F700DC: 38]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F700D8: 37]-->ExceptionHandlerAbstract>>try:
[07F700D4: 36]-->66814062
[07F700D0: 35]-->24
[07F700CC: 34]-->66814040
[07F700C8: 33]-->[] @ 6 in BlockClosure>>ifCurtailed:
[07F700C4: 32]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F700C0: 31]-->a MethodContext for: BlockClosure>>ifCurtailed: frame: 7f700b1 receiver: [] @ 8028006 in nil
[07F700BC: 30]-->BlockClosure>>ifCurtailed:
[07F700B8: 29]-->66814052
[07F700B4: 28]-->20
[07F700B0: 27]-->66814030
[07F700AC: 26]-->66814026
[07F700A8: 25]-->BlockClosure>>ensure:
[07F700A4: 24]-->66814038
[07F700A0: 23]-->7
[07F7009C: 22]-->66814014
[07F70098: 21]-->nil
[07F70094: 20]-->[] @ 34 in ExceptionHandlerAbstract>>try:
[07F70090: 19]-->[] @ 15 in ExceptionHandlerAbstract>>try:
[07F7008C: 18]-->a MethodContext for: ExceptionHandlerAbstract>>try: frame: 7f7007d receiver: a ExceptionHandler
[07F70088: 17]-->ExceptionHandlerAbstract>>try:
[07F70084: 16]-->66814022
[07F70080: 15]-->42
[07F7007C: 14]-->66814004
[07F70078: 13]-->66814000
[07F70074: 12]-->BlockClosure>>on:do:
[07F70070: 11]-->66814012
[07F7006C: 10]-->10
[07F70068: 9]-->66813988
[07F70064: 8]-->[] @ 12 in BlockClosure>>newProcess
[07F70060: 7]-->ProcessTermination
[07F7005C: 6]-->[] @ 8 in InputState>>forkMain
[07F70058: 5]-->[] @ 6 in BlockClosure>>newProcess
[07F70054: 4]-->BlockClosure>>newProcess
[07F70050: 3]-->66813996
[07F7004C: 2]-->20
[07F70048: 1]-->0
<Bottom of stack>

*----> Stack Back Trace <----*
{07F70550: cf 07F70531, sp 07F70560, bp 07F70548, ip 10, VMLibrary>>crashDump:}
        receiver: a VMLibrary
        arg[0]: 'Invalid arg 2: Cannot coerce a CompiledMethod to lpstr'
        temp[0]: a DWORDArray

{07F70530: cf 07F70511, sp 07F70540, bp 07F70528, ip 21, ImageStripper>>onError:}
        receiver: a ImageStripper
        arg[0]: a InvalidExternalCall
        temp[0]: 'Invalid arg 2: Cannot coerce a CompiledMethod to lpstr'

{07F70510: cf 07F704FD, sp 07F70520, bp 095700F0, ip 266, [] in ImageStripper>>stripAndSaveNotifying:}
        receiver: a ImageStripper
        arg[0]: a Array
        temp[0]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[1]: a WeakIdentitySet
        temp[2]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[3]: a InvalidExternalCall
        temp[4]: a Notification

{07F704FC: cf 07F704E1, sp 07F7050C, bp 07F3F1D0, ip 33, [] in InvalidExternalCall(Exception)>>_evaluateHandler:in:}
        receiver: a InvalidExternalCall
        arg[0]: [] @ 250 in ImageStripper>>stripAndSaveNotifying:
        arg[1]: a ExceptionHandlerSet
        temp[0]: nil
        temp[1]: a ExceptionHandlerSet
        temp[2]: nil
        temp[3]: nil
        temp[4]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)
        temp[5]: nil

{07F704E0: cf 07F704CD, sp 07F704F8, bp 07ADACF8, ip 17, BlockClosure>>ifCurtailed:}
        receiver: [] @ 134381574 in nil
        arg[0]: [] @ 38 in Exception>>_evaluateHandler:in:
        temp[0]: nil
        temp[1]: nil
        temp[2]: nil

{07F704CC: cf 07F704AD, sp 07F704DC, bp 07F704C4, ip 4, BlockClosure>>ensure:}
        receiver: [] @ 15 in Exception>>_evaluateHandler:in:
        arg[0]: [] @ 38 in Exception>>_evaluateHandler:in:
        temp[0]: nil

{07F704AC: cf 07F70499, sp 07F704BC, bp 07F3F1D0, ip 47, InvalidExternalCall(Exception)>>_evaluateHandler:in:}
        receiver: a InvalidExternalCall
        arg[0]: [] @ 250 in ImageStripper>>stripAndSaveNotifying:
        arg[1]: a ExceptionHandlerSet
        temp[0]: nil
        temp[1]: a ExceptionHandlerSet
        temp[2]: nil
        temp[3]: nil
        temp[4]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)
        temp[5]: nil

{07F70498: cf 07F70485, sp 07F704A8, bp 07F3F240, ip 44, InvalidExternalCall(Exception)>>_propagateFrom:}
        receiver: a InvalidExternalCall
        arg[0]: a ExceptionHandlerSet
        temp[0]: a ExceptionHandlerSet
        temp[1]: a ExceptionHandlerSet
        temp[2]: nil
        temp[3]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)
        temp[4]: [] @ 250 in ImageStripper>>stripAndSaveNotifying:

{07F70484: cf 07F70469, sp 07F70494, bp 07F70480, ip 6, InvalidExternalCall(Exception)>>_propagate}
        receiver: a InvalidExternalCall
        temp[0]: nil

{07F70468: cf 07F70451, sp 07F70478, bp 07F70468, ip 12, InvalidExternalCall(Exception)>>signal}
        receiver: a InvalidExternalCall

{07F70450: cf 07F70431, sp 07F70460, bp 07F70448, ip 11, InvalidExternalCall(Exception)>>signal:with:}
        receiver: a InvalidExternalCall
        arg[0]: nil
        arg[1]: 2

{07F70430: cf 07F70415, sp 07F70440, bp 07F7042C, ip 5, InvalidExternalCall(Exception)>>signalWith:}
        receiver: a InvalidExternalCall
        arg[0]: 2

{07F70414: cf 07F703F1, sp 07F70424, bp 07F70408, ip 13, InvalidExternalCall class>>invalidArgument:got:expected:}
        receiver: InvalidExternalCall
        arg[0]: 2
        arg[1]: ArithmeticValue>>retry:coercing:
        arg[2]: 'lpstr'

{07F703F0: cf 07F703BD, sp 07F70400, bp 07F703D4, ip 58, KernelLibrary(ExternalLibrary)>>invalidCall}
        receiver: a KernelLibrary
        temp[0]: nil
        temp[1]: 17
        temp[2]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)
        temp[3]: a StackFrame
        temp[4]: 2
        temp[5]: 2
        temp[6]: a ExternalDescriptor

{07F703BC: cf 07F7039D, sp 07F703CC, bp 07F703B4, ip 3, KernelLibrary>>lstrcmp:lpString2:}
        receiver: a KernelLibrary
        arg[0]: 'className'
        arg[1]: ArithmeticValue>>retry:coercing:

{07F7039C: cf 07F70381, sp 07F703AC, bp 07F70398, ip 6, String>>trueCompare:}
        receiver: 'className'
        arg[0]: ArithmeticValue>>retry:coercing:

{07F70380: cf 07F70365, sp 07F70390, bp 07ADA320, ip 34, [] in Symbol class>>findInterned:}
        receiver: Symbol
        arg[0]: 'className'
        temp[0]: a WeakArray
        temp[1]: a DeadObject
        temp[2]: ArithmeticValue>>retry:coercing:

{07F70364: cf 07F70345, sp 07F7037C, bp 07F7035C, ip 16, WeakArray(ArrayedCollection)>>do:}
        receiver: a WeakArray
        arg[0]: [] @ 24 in Symbol class>>findInterned:
        temp[0]: 6

{07F70344: cf 07F70331, sp 07F70354, bp 07ADA320, ip 43, Symbol class>>findInterned:}
        receiver: Symbol
        arg[0]: 'className'
        temp[0]: a WeakArray
        temp[1]: a DeadObject
        temp[2]: ArithmeticValue>>retry:coercing:

{07F70330: cf 07F70311, sp 07F70340, bp 07F70328, ip 4, Symbol class>>intern:}
        receiver: Symbol
        arg[0]: 'className'
        temp[0]: nil

{07F70310: cf 07F702F5, sp 07F70320, bp 07F70310, ip 4, String>>asSymbol}
        receiver: 'className'

{07F702F4: cf 07F702D9, sp 07F70308, bp 0803B7F0, ip 115, [] in ImageStripper>>messagesSentBy:}
        receiver: a ImageStripper
        arg[0]: a OrderedCollection
        temp[0]: a IdentitySet
        temp[1]: RichTextEdit class>>onStartup
        temp[2]: #onStartup
        temp[3]: #registerClass
        temp[4]: a EventsCollection
        temp[5]: a EventMessageSequence
        temp[6]: a EventMessageSend
        temp[7]: #className:
        temp[8]: nil

{07F702D8: cf 07F702B5, sp 07F702F0, bp 07F702CC, ip 27, IdentitySet(Set)>>do:}
        receiver: a IdentitySet
        arg[0]: [] @ 90 in ImageStripper>>messagesSentBy:
        temp[0]: #className:
        temp[1]: 4964

{07F702B4: cf 07F702A1, sp 07F702C4, bp 0803B7F0, ip 129, ImageStripper>>messagesSentBy:}
        receiver: a ImageStripper
        arg[0]: a OrderedCollection
        temp[0]: a IdentitySet
        temp[1]: RichTextEdit class>>onStartup
        temp[2]: #onStartup
        temp[3]: #registerClass
        temp[4]: a EventsCollection
        temp[5]: a EventMessageSequence
        temp[6]: a EventMessageSend
        temp[7]: #className:
        temp[8]: nil

{07F702A0: cf 07F7028D, sp 07F702B0, bp 0802E9E8, ip 17, ImageStripper>>stripRedundantMethodsOnceFrom:notifying:}
        receiver: a ImageStripper
        arg[0]: a OrderedCollection
        arg[1]: a Array
        temp[0]: nil
        temp[1]: nil
        temp[2]: a IdentitySet
        temp[3]: nil
        temp[4]: nil
        temp[5]: nil

{07F7028C: cf 07F70261, sp 07F7029C, bp 07F7027C, ip 18, ImageStripper>>stripRedundantMethodsNotifying:}
        receiver: a ImageStripper
        arg[0]: a Array
        temp[0]: 0
        temp[1]: a OrderedCollection
        temp[2]: nil

{07F70260: cf 07F70241, sp 07F70274, bp 07F70258, ip 8, ImageStripper>>stripRedundantClassesMethodsAndResources:notifying:}
        receiver: a ImageStripper
        arg[0]: false
        arg[1]: a Array

{07F70240: cf 07F7022D, sp 07F70250, bp 095700F0, ip 124, [] in ImageStripper>>stripAndSaveNotifying:}
        receiver: a ImageStripper
        arg[0]: a Array
        temp[0]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[1]: a WeakIdentitySet
        temp[2]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[3]: a InvalidExternalCall
        temp[4]: a Notification

{07F7022C: cf 07F70219, sp 07F7023C, bp 0803B518, ip 11, ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry}
        receiver: a ExceptionHandlerSet
        temp[0]: nil

{07F70218: cf 07F701FD, sp 07F70228, bp 07FA8438, ip 21, [] in ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandlerSet
        arg[0]: [] @ 5 in ImageStripper>>stripAndSaveNotifying:
        temp[0]: a ExceptionHandler
        temp[1]: nil
        temp[2]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)

{07F701FC: cf 07F701E9, sp 07F70214, bp 0803B4A8, ip 17, BlockClosure>>ifCurtailed:}
        receiver: [] @ 134381574 in nil
        arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try:
        temp[0]: nil
        temp[1]: nil
        temp[2]: nil

{07F701E8: cf 07F701C9, sp 07F701F8, bp 07F701E0, ip 4, BlockClosure>>ensure:}
        receiver: [] @ 15 in ExceptionHandlerAbstract>>try:
        arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try:
        temp[0]: nil

{07F701C8: cf 07F701B5, sp 07F701D8, bp 07FA8438, ip 39, ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandlerSet
        arg[0]: [] @ 5 in ImageStripper>>stripAndSaveNotifying:
        temp[0]: a ExceptionHandler
        temp[1]: nil
        temp[2]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)

{07F701B4: cf 07F70199, sp 07F701C4, bp 07F701B0, ip 4, BlockClosure>>onDo:}
        receiver: [] @ 5 in ImageStripper>>stripAndSaveNotifying:
        arg[0]: a ExceptionHandlerSet

{07F70198: cf 07F70171, sp 07F701A8, bp 07F70188, ip 13, BlockClosure>>on:do:on:do:}
        receiver: [] @ 5 in ImageStripper>>stripAndSaveNotifying:
        arg[0]: Error
        arg[1]: [] @ 250 in ImageStripper>>stripAndSaveNotifying:
        arg[2]: Notification
        arg[3]: [] @ 273 in ImageStripper>>stripAndSaveNotifying:

{07F70170: cf 07F7015D, sp 07F70180, bp 095700F0, ip 292, ImageStripper>>stripAndSaveNotifying:}
        receiver: a ImageStripper
        arg[0]: a Array
        temp[0]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[1]: a WeakIdentitySet
        temp[2]: 'C:\My Documents\Dolphin Smalltalk 5.1\TPRO Consulting Pty Ltd\Projects\toDo.exe'
        temp[3]: a InvalidExternalCall
        temp[4]: a Notification

{07F7015C: cf 07F70145, sp 07F7016C, bp 07F7015C, ip 11, ImageStripper>>stripAndSaveWithProgress}
        receiver: a ImageStripper

{07F70144: cf 07F7012D, sp 07F70154, bp 07F70144, ip 6, MessageSend(MessageSendAbstract)>>value}
        receiver: a MessageSend

{07F7012C: cf 07F70109, sp 07F7013C, bp 07F70120, ip 32, InputState>>loopWhile:}
        receiver: a InputState
        arg[0]: [] @ 6 in InputState>>mainLoop
        temp[0]: a MSG
        temp[1]: a MessageSend

{07F70108: cf 07F700F5, sp 07F70118, bp 0803B898, ip 12, InputState>>mainLoop}
        receiver: a InputState

{07F700F4: cf 07F700E1, sp 07F70104, bp 0802E588, ip 13, [] in InputState>>forkMain}
        receiver: a InputState

{07F700E0: cf 07F700CD, sp 07F700F0, bp 0802E7B8, ip 11, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
        receiver: a ExceptionHandler
        temp[0]: nil

{07F700CC: cf 07F700B1, sp 07F700DC, bp 0802E9B0, ip 21, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler
        arg[0]: [] @ 8 in InputState>>forkMain
        temp[0]: nil
        temp[1]: nil
        temp[2]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)

{07F700B0: cf 07F7009D, sp 07F700C8, bp 0802EA20, ip 17, BlockClosure>>ifCurtailed:}
        receiver: [] @ 134381574 in nil
        arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try:
        temp[0]: nil
        temp[1]: nil
        temp[2]: nil

{07F7009C: cf 07F7007D, sp 07F700AC, bp 07F70094, ip 4, BlockClosure>>ensure:}
        receiver: [] @ 15 in ExceptionHandlerAbstract>>try:
        arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try:
        temp[0]: nil

{07F7007C: cf 07F70069, sp 07F7008C, bp 0802E9B0, ip 39, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
        receiver: a ExceptionHandler
        arg[0]: [] @ 8 in InputState>>forkMain
        temp[0]: nil
        temp[1]: nil
        temp[2]: a Process('Main' base 07F70000 [ACTIVE] in VMLibrary>>crashDump: sp=00000000 ip=13 list=nil)

{07F70068: cf 07F70049, sp 07F70078, bp 07F70060, ip 7, BlockClosure>>on:do:}
        receiver: [] @ 8 in InputState>>forkMain
        arg[0]: ProcessTermination
        arg[1]: [] @ 12 in BlockClosure>>newProcess

{07F70048: cf 00000001, sp 07F70058, bp 0802E978, ip 17, [] in BlockClosure>>newProcess}
        receiver: [] @ 8 in InputState>>forkMain
        temp[0]: nil

<Bottom of stack>

***** End of crash report *****

Reply | Threaded
Open this post in threaded view
|

Re: Compiler error while deploying a ToGo...

Bill Dargel
Theo wrote:

> I'm trying to create a toGo exe file of a new ToDo application, but keep
> getting the error:
>
>         "Invalid arg 2: Cannot coerce a CompiledMethod to lpstr"
>
> I've looked through the .errors but find it difficult to determine
> what's wrong or even where to start looking.
>
> Can anyone help?
>
> I've attached the dump for anyone who wants to have a bit of light
> reading...

Thanks :-) I needed a break just now.

Looks like the symbol table of the image you're trying to strip has been corrupted.


> {07F70380: cf 07F70365, sp 07F70390, bp 07ADA320, ip 34, [] in Symbol class>>findInterned:}
>         receiver: Symbol
>         arg[0]: 'className'
>         temp[0]: a WeakArray
>         temp[1]: a DeadObject
>         temp[2]: ArithmeticValue>>retry:coercing:

It's looking through the buckets in the Symbol table and finding a CompiledMethod (ArithmeticValue>>retry:coercing:) where it
should be finding just Symbols and the occasional DeadObject. How it got that way is anybody's guess at this point.

I'd recommend starting with a fresh image and reloading your application's packages to make a new working image that doesn't
have the corruption.

hope that helps,
-Bill

-------------------------------------------
Bill Dargel            [hidden email]
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA


Reply | Threaded
Open this post in threaded view
|

Re: Compiler error while deploying a ToGo...

Christopher J. Demers
In reply to this post by Theo Pronk
"Theo" <[hidden email]> wrote in message
news:[hidden email]...
> I'm trying to create a toGo exe file of a new ToDo application, but keep
> getting the error:
> "Invalid arg 2: Cannot coerce a CompiledMethod to lpstr"
> I've looked through the .errors but find it difficult to determine
> what's wrong or even where to start looking.
...

It seems that an actual instance of a CompiledMethod has been interned in
the Symbol table.  I wonder how that could have happened.  I think this is
your problem, or at least one of them.

If you inspect the result of this code you can see the problem, it should
return any items that are not Strings or DeadObjects:
==========
((Symbol classPool at: #Table) collect: [:eachBucket |
eachBucket select: [:eachString | (eachString isKindOf: String) not and:
[(eachString isKindOf: DeadObject) not]]]) reject: [:eachBucket | eachBucket
isEmpty]
==========

You could probably write some code to fix the Symbol table by removing the
offending items.  Just be VERY careful, and make plenty of image backups.

Good luck,
Chris


Reply | Threaded
Open this post in threaded view
|

Re: Compiler error while deploying a ToGo...

Theo Pronk
In reply to this post by Theo Pronk
Thanks Bill and Chris,

As you suggested reloading a fresh image did the trick. I always create
a copy of the main files after an upgrade or even for each patch and
load my packages on top.

The possible cause is various system lockups I'm still using WinMe but
that is about to change.

Regards,
Theo Pronk
=================
Theo wrote:


 > I'm trying to create a toGo exe file of a new ToDo application, but keep
 > getting the error:
 >
 > "Invalid arg 2: Cannot coerce a CompiledMethod to lpstr"
 >
 > I've looked through the .errors but find it difficult to determine
 > what's wrong or even where to start looking.
 >
 > Can anyone help?
 >
 > I've attached the dump for anyone who wants to have a bit of light
 > reading...


Thanks  [:-)] I needed a break just now.

Looks like the symbol table of the image you're trying to strip has been
corrupted.



 > {07F70380: cf 07F70365, sp 07F70390, bp 07ADA320, ip 34, [] in Symbol
class>>findInterned:}
 > receiver: Symbol
 > arg[0]: 'className'
 > temp[0]: a WeakArray
 > temp[1]: a DeadObject
 > temp[2]: ArithmeticValue>>retry:coercing:


It's looking through the buckets in the Symbol table and finding a
CompiledMethod (ArithmeticValue>>retry:coercing:) where it
should be finding just Symbols and the occasional DeadObject. How it got
that way is anybody's guess at this point.

I'd recommend starting with a fresh image and reloading your
application's packages to make a new working image that doesn't
have the corruption.

hope that helps,
-Bill

-------------------------------------------
Bill Dargel            [hidden email]
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA



"Theo" <[hidden email]> wrote in message
news:[hidden email]...

 > I'm trying to create a toGo exe file of a new ToDo application, but keep
 > getting the error:
 > "Invalid arg 2: Cannot coerce a CompiledMethod to lpstr"
 > I've looked through the .errors but find it difficult to determine
 > what's wrong or even where to start looking.

...

It seems that an actual instance of a CompiledMethod has been interned in
the Symbol table.  I wonder how that could have happened.  I think this is
your problem, or at least one of them.

If you inspect the result of this code you can see the problem, it should
return any items that are not Strings or DeadObjects:
==========
((Symbol classPool at: #Table) collect: [:eachBucket |
eachBucket select: [:eachString | (eachString isKindOf: String) not and:
[(eachString isKindOf: DeadObject) not]]]) reject: [:eachBucket | eachBucket
isEmpty]
==========

You could probably write some code to fix the Symbol table by removing the
offending items.  Just be VERY careful, and make plenty of image backups.

Good luck,
Chris