While deploying a package to an executable, I got the following error (using
all default settings, in Dolphin 5.0): The following error occurred while stripping. The image MUST exit immediately, but see crash dump (if configured). assertion failure What should I be doing to get this package into an executable? Thanks. Ted |
Ted
"Ted Shen" <[hidden email]> wrote in message news:1uF%8.6388$[hidden email]... > While deploying a package to an executable, I got the following error (using > all default settings, in Dolphin 5.0): > > The following error occurred while stripping. > > The image MUST exit immediately, but see crash dump (if configured). > > assertion failure The only times I've had this happen to me are when I've forgotten (or haven't bothered!) to start with a clean image before building the exe. With any luck, you can start with a fresh image (or a copy of a back-up of your original image), load in your packages, and things will go smoothly. If that doesn't help, check back, because there are definitely people who've built more Dolphin executables than I have! HTH, Don > > > > What should I be doing to get this package into an executable? > > > > Thanks. > > > > Ted > > > > > > > |
In reply to this post by Ted Shen-2
Ted Shen <[hidden email]> wrote in message
news:1uF%8.6388$[hidden email]... > While deploying a package to an executable, I got the following error (using > all default settings, in Dolphin 5.0): > > The following error occurred while stripping. > > The image MUST exit immediately, but see crash dump (if configured). > > assertion failure > > What should I be doing to get this package into an executable? Look for a file with the same root name as your image but with the extension errors (myImageName.errors). This should contain the crash dump info on the end of the file and may provide a more meaningful error description. Perhaps you could post an excerpt. Chris |
In reply to this post by Ted Shen-2
Sorry for the long Crash Dump Report. I tried starting a copy of the
original, clean image, then loading just the one package, and then deploying that package to an executable. I got the same assertion failure error. Below is the entire .ERRORS file that was generated. Any help would be greatly appreciated. Ted **************************************************************************** **** ************************** Dolphin Crash Dump Report *************************** 19:09:48 PM, 7/24/2002: Dolphin.exe caused an unhandled Win32 Exception 20000002 at 77E6D756 in module 77E60000 (C:\WINDOWS\system32\kernel32.dll) *----> Exception Parameters <----* 01A253C4 assertion failure *----> CPU Context for thread 0xcd4 <----* EAX = 00C0FCF4 EBX = 0737CC84 ECX = 00000000 ESI = 01A2A718 EDI = FFFFFFFF EIP = 77E6D756 ESP = 00C0FCF0 EBP = 00C0FD44 EFL = 00000202 CS = 001B SS = 0023 DS = 0023 ES = 0023 FS = 003B GS = 0000 *----> VM Context <----* Process: {01760004:suspended frame 01760421, priority 5, callbacks 0 last failure 0:nil, FPE mask 3, thread nil} Active Method: VMLibrary>>crashDump: IP: 073CF646 (22) SP: 01760398 BP: 0176036C (202) ActiveFrame: {01760374: cf 01760355, sp 01760384, bp 0176036C, ip 10, VMLibrary>>crashDump:} New Method: KernelLibrary>>raiseException:dwExceptionFlags:nNumberOfArguments:lpArgument s: Message Selector: #raiseException:dwExceptionFlags:nNumberOfArguments:lpArguments: *----> Stack <----* [01760398: 213]-->a DWORDArray [01760394: 212]-->1 [01760390: 211]-->0 [0176038C: 210]-->536870914 [01760388: 209]-->a KernelLibrary [01760384: 208]-->12255670 [01760380: 207]-->VMLibrary>>crashDump: [0176037C: 206]-->12255682 [01760378: 205]-->13 [01760374: 204]-->12255658 [01760370: 203]-->a DWORDArray [0176036C: 202]-->'assertion failure' [01760368: 201]-->a VMLibrary [01760364: 200]-->12255654 [01760360: 199]-->ImageStripper>>onError: [0176035C: 198]-->12255666 [01760358: 197]-->24 [01760354: 196]-->12255642 [01760350: 195]-->'assertion failure' [0176034C: 194]-->a RaisedSignal [01760348: 193]-->a ImageStripper [01760344: 192]-->[] @ 250 in ImageStripper>>stripAndSaveNotifying: [01760340: 191]-->ImageStripper>>stripAndSaveNotifying: [0176033C: 190]-->12255650 [01760338: 189]-->269 [01760334: 188]-->12255632 [01760330: 187]-->[] @ 15 in Exception>>_evaluateHandler:in: [0176032C: 186]-->Exception>>_evaluateHandler:in: [01760328: 185]-->12255640 [01760324: 184]-->36 [01760320: 183]-->12255618 [0176031C: 182]-->[] @ 6 in BlockClosure>>ifCurtailed: [01760318: 181]-->[] @ 15 in Exception>>_evaluateHandler:in: [01760314: 180]-->a MethodContext [01760310: 179]-->BlockClosure>>ifCurtailed: [0176030C: 178]-->12255630 [01760308: 177]-->20 [01760304: 176]-->12255608 [01760300: 175]-->12255604 [017602FC: 174]-->BlockClosure>>ensure: [017602F8: 173]-->12255616 [017602F4: 172]-->7 [017602F0: 171]-->12255592 [017602EC: 170]-->nil [017602E8: 169]-->[] @ 40 in Exception>>_evaluateHandler:in: [017602E4: 168]-->[] @ 15 in Exception>>_evaluateHandler:in: [017602E0: 167]-->a MethodContext [017602DC: 166]-->Exception>>_evaluateHandler:in: [017602D8: 165]-->12255600 [017602D4: 164]-->52 [017602D0: 163]-->12255582 [017602CC: 162]-->a MethodContext [017602C8: 161]-->Exception>>_propagateFrom: [017602C4: 160]-->12255590 [017602C0: 159]-->47 [017602BC: 158]-->12255572 [017602B8: 157]-->12255570 [017602B4: 156]-->Exception>>_propagate [017602B0: 155]-->12255580 [017602AC: 154]-->9 [017602A8: 153]-->12255558 [017602A4: 152]-->nil [017602A0: 151]-->a RaisedSignal [0176029C: 150]-->12255558 [01760298: 149]-->Exception>>signal [01760294: 148]-->12255566 [01760290: 147]-->15 [0176028C: 146]-->12255546 [01760288: 145]-->a RaisedSignal [01760284: 144]-->12255546 [01760280: 143]-->Signal>>signal [0176027C: 142]-->12255554 [01760278: 141]-->3 [01760274: 140]-->12255534 [01760270: 139]-->a Signal [0176026C: 138]-->12255532 [01760268: 137]-->Object>>assert: [01760264: 136]-->12255542 [01760260: 135]-->10 [0176025C: 134]-->12255520 [01760258: 133]-->[] @ 72 in ImageStripper>>stripAndSaveNotifying: [01760254: 132]-->a ImageStripper [01760250: 131]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying: [0176024C: 130]-->ImageStripper>>stripAndSaveNotifying: [01760248: 129]-->12255528 [01760244: 128]-->84 [01760240: 127]-->12255510 [0176023C: 126]-->a MethodContext [01760238: 125]-->ExceptionHandlerAbstract>>markAndTry [01760234: 124]-->12255518 [01760230: 123]-->14 [0176022C: 122]-->12255500 [01760228: 121]-->[] @ 15 in ExceptionHandlerAbstract>>try: [01760224: 120]-->ExceptionHandlerAbstract>>try: [01760220: 119]-->12255508 [0176021C: 118]-->24 [01760218: 117]-->12255486 [01760214: 116]-->[] @ 6 in BlockClosure>>ifCurtailed: [01760210: 115]-->[] @ 15 in ExceptionHandlerAbstract>>try: [0176020C: 114]-->a MethodContext [01760208: 113]-->BlockClosure>>ifCurtailed: [01760204: 112]-->12255498 [01760200: 111]-->20 [017601FC: 110]-->12255476 [017601F8: 109]-->12255472 [017601F4: 108]-->BlockClosure>>ensure: [017601F0: 107]-->12255484 [017601EC: 106]-->7 [017601E8: 105]-->12255460 [017601E4: 104]-->nil [017601E0: 103]-->[] @ 34 in ExceptionHandlerAbstract>>try: [017601DC: 102]-->[] @ 15 in ExceptionHandlerAbstract>>try: [017601D8: 101]-->a MethodContext [017601D4: 100]-->ExceptionHandlerAbstract>>try: [017601D0: 99]-->12255468 [017601CC: 98]-->42 [017601C8: 97]-->12255450 [017601C4: 96]-->12255448 [017601C0: 95]-->BlockClosure>>onDo: [017601BC: 94]-->12255458 [017601B8: 93]-->3 [017601B4: 92]-->12255436 [017601B0: 91]-->a ExceptionHandlerSet [017601AC: 90]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying: [017601A8: 89]-->12255428 [017601A4: 88]-->BlockClosure>>on:do:on:do: [017601A0: 87]-->12255444 [0176019C: 86]-->16 [01760198: 85]-->12255416 [01760194: 84]-->[] @ 273 in ImageStripper>>stripAndSaveNotifying: [01760190: 83]-->Notification [0176018C: 82]-->[] @ 250 in ImageStripper>>stripAndSaveNotifying: [01760188: 81]-->Error [01760184: 80]-->[] @ 5 in ImageStripper>>stripAndSaveNotifying: [01760180: 79]-->a MethodContext [0176017C: 78]-->ImageStripper>>stripAndSaveNotifying: [01760178: 77]-->12255424 [01760174: 76]-->295 [01760170: 75]-->12255406 [0176016C: 74]-->12255406 [01760168: 73]-->ImageStripper>>stripAndSaveWithProgress [01760164: 72]-->12255414 [01760160: 71]-->14 [0176015C: 70]-->12255394 [01760158: 69]-->a ImageStripper [01760154: 68]-->12255394 [01760150: 67]-->MessageSendAbstract>>value [0176014C: 66]-->12255402 [01760148: 65]-->9 [01760144: 64]-->12255382 [01760140: 63]-->a MessageSend [0176013C: 62]-->12255376 [01760138: 61]-->InputState>>loopWhile: [01760134: 60]-->12255390 [01760130: 59]-->35 [0176012C: 58]-->12255364 [01760128: 57]-->a MSG [01760124: 56]-->a MessageSend [01760120: 55]-->[] @ 6 in InputState>>mainLoop [0176011C: 54]-->a InputState [01760118: 53]-->a MethodContext [01760114: 52]-->InputState>>mainLoop [01760110: 51]-->12255372 [0176010C: 50]-->15 [01760108: 49]-->12255354 [01760104: 48]-->[] @ 8 in InputState>>forkMain [01760100: 47]-->InputState>>forkMain [017600FC: 46]-->12255362 [017600F8: 45]-->16 [017600F4: 44]-->12255344 [017600F0: 43]-->a MethodContext [017600EC: 42]-->ExceptionHandlerAbstract>>markAndTry [017600E8: 41]-->12255352 [017600E4: 40]-->14 [017600E0: 39]-->12255334 [017600DC: 38]-->[] @ 15 in ExceptionHandlerAbstract>>try: [017600D8: 37]-->ExceptionHandlerAbstract>>try: [017600D4: 36]-->12255342 [017600D0: 35]-->24 [017600CC: 34]-->12255320 [017600C8: 33]-->[] @ 6 in BlockClosure>>ifCurtailed: [017600C4: 32]-->[] @ 15 in ExceptionHandlerAbstract>>try: [017600C0: 31]-->a MethodContext [017600BC: 30]-->BlockClosure>>ifCurtailed: [017600B8: 29]-->12255332 [017600B4: 28]-->20 [017600B0: 27]-->12255310 [017600AC: 26]-->12255306 [017600A8: 25]-->BlockClosure>>ensure: [017600A4: 24]-->12255318 [017600A0: 23]-->7 [0176009C: 22]-->12255294 [01760098: 21]-->nil [01760094: 20]-->[] @ 34 in ExceptionHandlerAbstract>>try: [01760090: 19]-->[] @ 15 in ExceptionHandlerAbstract>>try: [0176008C: 18]-->a MethodContext [01760088: 17]-->ExceptionHandlerAbstract>>try: [01760084: 16]-->12255302 [01760080: 15]-->42 [0176007C: 14]-->12255284 [01760078: 13]-->12255280 [01760074: 12]-->BlockClosure>>on:do: [01760070: 11]-->12255292 [0176006C: 10]-->10 [01760068: 9]-->12255268 [01760064: 8]-->[] @ 12 in BlockClosure>>newProcess [01760060: 7]-->ProcessTermination [0176005C: 6]-->[] @ 8 in InputState>>forkMain [01760058: 5]-->[] @ 6 in BlockClosure>>newProcess [01760054: 4]-->BlockClosure>>newProcess [01760050: 3]-->12255276 [0176004C: 2]-->20 [01760048: 1]-->0 <Bottom of stack> *----> Stack Back Trace <----* {01760374: cf 01760355, sp 01760384, bp 0176036C, ip 10, VMLibrary>>crashDump:} {01760354: cf 01760335, sp 01760364, bp 0176034C, ip 21, ImageStripper>>onError:} {01760334: cf 01760321, sp 01760344, bp 075B4080, ip 266, [] in ImageStripper>>stripAndSaveNotifying:} {01760320: cf 01760305, sp 01760330, bp 01ABE5C0, ip 33, [] in RaisedSignal(Exception)>>_evaluateHandler:in:} {01760304: cf 017602F1, sp 0176031C, bp 01ABDBA8, ip 17, BlockClosure>>ifCurtailed:} {017602F0: cf 017602D1, sp 01760300, bp 017602E8, ip 4, BlockClosure>>ensure:} {017602D0: cf 017602BD, sp 017602E0, bp 01ABE5C0, ip 49, RaisedSignal(Exception)>>_evaluateHandler:in:} {017602BC: cf 017602A9, sp 017602CC, bp 01ABE630, ip 44, RaisedSignal(Exception)>>_propagateFrom:} {017602A8: cf 0176028D, sp 017602B8, bp 017602A4, ip 6, RaisedSignal(Exception)>>_propagate} {0176028C: cf 01760275, sp 0176029C, bp 0176028C, ip 12, RaisedSignal(Exception)>>signal} {01760274: cf 0176025D, sp 01760284, bp 01760274, ip 4, Signal>>signal} {0176025C: cf 01760241, sp 0176026C, bp 01760258, ip 7, ImageStripper(Object)>>assert:} {01760240: cf 0176022D, sp 01760250, bp 075B4080, ip 81, [] in ImageStripper>>stripAndSaveNotifying:} {0176022C: cf 01760219, sp 0176023C, bp 01A3B5C0, ip 11, ExceptionHandlerSet(ExceptionHandlerAbstract)>>markAndTry} {01760218: cf 017601FD, sp 01760228, bp 076FCDD8, ip 21, [] in ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:} {017601FC: cf 017601E9, sp 01760214, bp 01ABEDD8, ip 17, BlockClosure>>ifCurtailed:} {017601E8: cf 017601C9, sp 017601F8, bp 017601E0, ip 4, BlockClosure>>ensure:} {017601C8: cf 017601B5, sp 017601D8, bp 076FCDD8, ip 39, ExceptionHandlerSet(ExceptionHandlerAbstract)>>try:} {017601B4: cf 01760199, sp 017601C4, bp 017601B0, ip 4, BlockClosure>>onDo:} {01760198: cf 01760171, sp 017601A8, bp 01760188, ip 13, BlockClosure>>on:do:on:do:} {01760170: cf 0176015D, sp 01760180, bp 075B4080, ip 292, ImageStripper>>stripAndSaveNotifying:} {0176015C: cf 01760145, sp 0176016C, bp 0176015C, ip 11, ImageStripper>>stripAndSaveWithProgress} {01760144: cf 0176012D, sp 01760154, bp 01760144, ip 6, MessageSend(MessageSendAbstract)>>value} {0176012C: cf 01760109, sp 0176013C, bp 01760120, ip 32, InputState>>loopWhile:} {01760108: cf 017600F5, sp 01760118, bp 01A3BB70, ip 12, InputState>>mainLoop} {017600F4: cf 017600E1, sp 01760104, bp 01A3BB38, ip 13, [] in InputState>>forkMain} {017600E0: cf 017600CD, sp 017600F0, bp 075A5D68, ip 11, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry} {017600CC: cf 017600B1, sp 017600DC, bp 0770FE10, ip 21, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:} {017600B0: cf 0176009D, sp 017600C8, bp 0770FBA8, ip 17, BlockClosure>>ifCurtailed:} {0176009C: cf 0176007D, sp 017600AC, bp 01760094, ip 4, BlockClosure>>ensure:} {0176007C: cf 01760069, sp 0176008C, bp 0770FE10, ip 39, ExceptionHandler(ExceptionHandlerAbstract)>>try:} {01760068: cf 01760049, sp 01760078, bp 01760060, ip 7, BlockClosure>>on:do:} {01760048: cf 00000001, sp 01760058, bp 075A5AC8, ip 17, [] in BlockClosure>>newProcess} <Bottom of stack> ***** End of crash report ***** |
"Ted Shen" <[hidden email]> wrote in message
news:%mH%8.6417$[hidden email]... > Sorry for the long Crash Dump Report. I tried starting a copy of the > original, clean image, then loading just the one package, and then deploying > that package to an executable. I got the same assertion failure error. > Below is the entire .ERRORS file that was generated. Any help would be > greatly appreciated. > [snip dump] It looks as though you have chosen a non-runtime SessionManager. If you have written your own SessionManager it should normally be subclasses off either RuntimeSessionManager (for a GUI app), ConsoleSessionManager (for a console app), or AXDllSessionManager (for an Active-X DLL). Regards Blair |
I subclassed RuntimeSessionManager and put in one method:
MyRuntimeSessionManager >> main MyShell showOn: MyModel new When I evaluate this line of code from the class browser, the shell opens up fine and the app runs as desired. The package (containing MyShell and MyRuntimeSessionManager along with my domain classes) also deploys to an executable without any error. But when I run the executable, the shell doesn't appear on screen. Any suggestions? Ted "Blair McGlashan" <[hidden email]> wrote in message news:ahoe9a$ujnr3$[hidden email]... > "Ted Shen" <[hidden email]> wrote in message > news:%mH%8.6417$[hidden email]... > > Sorry for the long Crash Dump Report. I tried starting a copy of the > > original, clean image, then loading just the one package, and then > deploying > > that package to an executable. I got the same assertion failure error. > > Below is the entire .ERRORS file that was generated. Any help would be > > greatly appreciated. > > [snip dump] > > It looks as though you have chosen a non-runtime SessionManager. If you > written your own SessionManager it should normally be subclasses off either > RuntimeSessionManager (for a GUI app), ConsoleSessionManager (for a console > app), or AXDllSessionManager (for an Active-X DLL). > > Regards > > Blair > > |
Ted,
> But when I run the executable, the shell > doesn't appear on screen. Any suggestions? Nothing concrete as there are a lot of things it could be. - Make sure your main shell is a Shell subclass and not a Dialog subclass. - Create a log file when you deploy the app and see if you can spot anything being stripped that shouldn't. - Have a look and see if a "YourFileName.errors" file is being created. - Use SessionManager>>trace, or your own logging mechanism, to see how far your app is getting. Ian |
In reply to this post by Ted Shen-2
Ted,
> I subclassed RuntimeSessionManager and put in one method: > > MyRuntimeSessionManager >> main > MyShell showOn: MyModel new > > When I evaluate this line of code from the class browser, the shell opens up > fine and the app runs as desired. The package (containing MyShell and > MyRuntimeSessionManager along with my domain classes) also deploys to an > executable without any error. But when I run the executable, the shell > doesn't appear on screen. Any suggestions? Do you get a .ERRORS file from the app? You might have a dependence on something that's getting stripped. Causes can range from something being errantly cateogorized as must-strip to more subtle scenarios involving a "stealth" dependence (perhaps based only on loose methods) that that package manager doesn't detect. In the latter case, you can add an explicit dependence - in the package manager, right click on the package that doesn't "see" the other one, choose properties, and then look for #manualPrerequisites. You can also disable stripping options to see if the (artificially big) result runs and then gradually bracket the problem. Finally, you might have a problem that shows up only in a deployed executable; but, the ERRORS file will generally smoke those out for you. Does that help? Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
In reply to this post by Ted Shen-2
"Ted Shen" <[hidden email]> wrote in message
news:jfX%8.6572$[hidden email]... > I subclassed RuntimeSessionManager and put in one method: > > MyRuntimeSessionManager >> main > MyShell showOn: MyModel new > > When I evaluate this line of code from the class browser, the shell opens up > fine and the app runs as desired. The package (containing MyShell and > MyRuntimeSessionManager along with my domain classes) also deploys to an > executable without any error. But when I run the executable, the shell > doesn't appear on screen. Any suggestions? Presumably you have actually configured the deployment to be using MyRuntimeSessionManager? Are you able to successfully deploy and run one of the samples such as Notepad? Regards Blair |
Thanks everyone for the suggestions. No .errors file was created during
deployment. It was an elementary oversight on my part - I'd left the default setting of using RuntimeSessionManager alone, instead of telling the image stripper to use my subclass of RuntimeSessionManager. Ted "Blair McGlashan" <[hidden email]> wrote in message news:ahprr3$uqgg6$1@ID- > Presumably you have actually configured the deployment to be using > MyRuntimeSessionManager? |
Free forum by Nabble | Edit this page |