Earlier I had mentioned that whenever I added "strip methods" to my
deployment settings Dolphin crashed. I've just rebuilt my image using my new purchased licence key and voila - it works.... and happilly my DLL is now alot smaller. Only - now it doesn't register, my guess is I need to set a manual requires for something... Time to go hunting, thought I'd post here in the hope that if I don't find it, someone might post a reply, and if I do find it, I can follow it up with the solution.... amrk ************************** Dolphin Virtual Machine Dump Report *************************** 10:53:50 AM, 9/9/2004: UndefinedObject does not understand #value *----> VM Context <----* Process: {00F00004:size 249 words, suspended frame 00F00405, priority 8, callbacks 0 last failure 0:nil, FPE mask 3, thread nil} Active Method: SessionManager>>logError: IP: 00C7CA8D (13) SP: 00F00494 BP: 00F0046C (266) ActiveFrame: {00F00470: cf 00F00455, sp 00F00484, bp 00F0046C, ip 5, GUIAXDllSessionManager(SessionManager)>>logError:} receiver: a GUIAXDllSessionManager arg[0]: a MessageNotUnderstood New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth: Message Selector: #dump:path:stackDepth:walkbackDepth: *----> Stack Back Trace <----* {00F00470: cf 00F00455, sp 00F00484, bp 00F0046C, ip 5, GUIAXDllSessionManager(SessionManager)>>logError:} receiver: a GUIAXDllSessionManager arg[0]: a MessageNotUnderstood {00F00454: cf 00F00439, sp 00F00464, bp 00F00450, ip 4, GUIAXDllSessionManager(SessionManager)>>unhandledException:} receiver: a GUIAXDllSessionManager arg[0]: a MessageNotUnderstood {00F00438: cf 00F0041D, sp 00F00448, bp 00F00434, ip 4, GUIAXDllSessionManager(SessionManager)>>onUnhandledError:} receiver: a GUIAXDllSessionManager arg[0]: a MessageNotUnderstood {00F0041C: cf 00F00405, sp 00F0042C, bp 00F0041C, ip 5, MessageNotUnderstood(Error)>>defaultAction} receiver: a MessageNotUnderstood {00F00404: cf 00F003F1, sp 00F00414, bp 00DC07F0, ip 57, MessageNotUnderstood(Exception)>>_propagateFrom:} receiver: a MessageNotUnderstood arg[0]: a ExceptionHandler temp[0]: nil temp[1]: a ExceptionHandler temp[2]: nil temp[3]: a Process('Main' base 00F00000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=8 list=nil) temp[4]: nil {00F003F0: cf 00F003D5, sp 00F00400, bp 00F003EC, ip 6, MessageNotUnderstood(Exception)>>_propagate} receiver: a MessageNotUnderstood temp[0]: nil {00F003D4: cf 00F003BD, sp 00F003E4, bp 00F003D4, ip 12, MessageNotUnderstood(Exception)>>signal} receiver: a MessageNotUnderstood {00F003BC: cf 00F0039D, sp 00F003CC, bp 00F003B4, ip 13, MessageNotUnderstood class>>receiver:message:} receiver: MessageNotUnderstood arg[0]: nil arg[1]: Message selector: #value arguments: a Array {00F0039C: cf 00F00381, sp 00F003AC, bp 00F00398, ip 5, UndefinedObject(Object)>>doesNotUnderstand:} receiver: nil arg[0]: Message selector: #value arguments: a Array {00F00380: cf 00F00365, sp 00F00390, bp 00DC0780, ip 25, [] in GUIAXDllSessionManager(SessionManager)>>argv} receiver: a GUIAXDllSessionManager temp[0]: a CRTLibrary temp[1]: nil {00F00364: cf 00F00349, sp 00F0037C, bp 00DC07B8, ip 18, [] in StructureArray(ExternalArray)>>collect:} receiver: a StructureArray arg[0]: [] @ 22 in SessionManager>>argv temp[0]: a Array temp[1]: 1 temp[2]: nil {00F00348: cf 00F00321, sp 00F00360, bp 00F00338, ip 16, StructureArray(ExternalArray)>>uncheckedFrom:to:keysAndValuesDo:} receiver: a StructureArray arg[0]: 1 arg[1]: 3 arg[2]: [] @ 11 in ExternalArray>>collect: temp[0]: 1 {00F00320: cf 00F002FD, sp 00F00330, bp 00F00314, ip 24, StructureArray(ExternalArray)>>from:to:keysAndValuesDo:} receiver: a StructureArray arg[0]: 1 arg[1]: 3 arg[2]: [] @ 11 in ExternalArray>>collect: {00F002FC: cf 00F002E1, sp 00F0030C, bp 00F002F8, ip 8, StructureArray(ExternalArray)>>keysAndValuesDo:} receiver: a StructureArray arg[0]: [] @ 11 in ExternalArray>>collect: {00F002E0: cf 00F002CD, sp 00F002F0, bp 00DC07B8, ip 21, StructureArray(ExternalArray)>>collect:} receiver: a StructureArray arg[0]: [] @ 22 in SessionManager>>argv temp[0]: a Array temp[1]: 1 temp[2]: nil {00F002CC: cf 00F002B9, sp 00F002DC, bp 00DC0780, ip 27, GUIAXDllSessionManager(SessionManager)>>argv} receiver: a GUIAXDllSessionManager temp[0]: a CRTLibrary temp[1]: nil {00F002B8: cf 00F002A5, sp 00F002C8, bp 00DC0748, ip 9, GUIAXDllSessionManager(SessionManager)>>cmdLineFlags} receiver: a GUIAXDllSessionManager temp[0]: nil {00F002A4: cf 00F00289, sp 00F002B4, bp 00F002A0, ip 3, GUIAXDllSessionManager(GUISessionManager)>>tertiaryStartup} receiver: a GUIAXDllSessionManager temp[0]: nil {00F00288: cf 00F00275, sp 00F00298, bp 00DC06D8, ip 65, [] in GUIAXDllSessionManager(SessionManager)>>onStartup:} receiver: a GUIAXDllSessionManager arg[0]: a Array {00F00274: cf 00F00255, sp 00F00284, bp 00F0026C, ip 7, BlockClosure>>ensure:} receiver: [] @ 55 in SessionManager>>onStartup: arg[0]: [] @ 63 in SessionManager>>onStartup: temp[0]: a IPDolphin {00F00254: cf 00F00239, sp 00F00264, bp 00DC06D8, ip 67, [] in GUIAXDllSessionManager(SessionManager)>>onStartup:} receiver: a GUIAXDllSessionManager arg[0]: a Array {00F00238: cf 00F00225, sp 00F00250, bp 00DC0710, ip 17, BlockClosure>>ifCurtailed:} receiver: [] @ 8421382 in nil arg[0]: [] @ 77 in SessionManager>>onStartup: temp[0]: nil temp[1]: nil temp[2]: nil {00F00224: cf 00F00205, sp 00F00234, bp 00F0021C, ip 4, BlockClosure>>ensure:} receiver: [] @ 35 in SessionManager>>onStartup: arg[0]: [] @ 77 in SessionManager>>onStartup: temp[0]: nil {00F00204: cf 00F001F1, sp 00F00214, bp 00DC06D8, ip 86, GUIAXDllSessionManager(SessionManager)>>onStartup:} receiver: a GUIAXDllSessionManager arg[0]: a Array {00F001F0: cf 00F001D5, sp 00F00200, bp 00F001EC, ip 11, ProcessorScheduler>>onStartup:} receiver: a ProcessorScheduler arg[0]: a Array {00F001D4: cf 00F001B9, sp 00F001E4, bp 00DC0668, ip 11, [] in ProcessorScheduler>>vmi:list:no:with:} receiver: a ProcessorScheduler arg[0]: 380 arg[1]: nil arg[2]: 8 arg[3]: a Array {00F001B8: cf 00F001A5, sp 00F001D0, bp 00DC06A0, ip 17, BlockClosure>>ifCurtailed:} receiver: [] @ 8421382 in nil arg[0]: [] @ 16 in ProcessorScheduler>>vmi:list:no:with: temp[0]: nil temp[1]: nil temp[2]: nil {00F001A4: cf 00F00181, sp 00F001B4, bp 00DC0668, ip 20, ProcessorScheduler>>vmi:list:no:with:} receiver: a ProcessorScheduler arg[0]: 380 arg[1]: nil arg[2]: 8 arg[3]: a Array {00F00180: cf 00F0015D, sp 00F001A0, bp 00F00174, ip 47, AXDllImageStripper(ImageStripper)>>snapshot:} receiver: a AXDllImageStripper arg[0]: 'C:\Documents and Settings\Talios\My Documents\SMSComposer.tmp' temp[0]: a GUIAXDllSessionManager temp[1]: 6 {00F0015C: cf 00F00149, sp 00F0016C, bp 00DBFD58, ip 15, AXDllImageStripper(ImageStripper)>>saveExecutable:} receiver: a AXDllImageStripper arg[0]: 'C:\Documents and Settings\Talios\My Documents\SMSComposer.dll' temp[0]: 'C:\Documents and Settings\Talios\My Documents\SMSComposer.tmp' temp[1]: nil temp[2]: true temp[3]: nil temp[4]: nil {00F00148: cf 00F00131, sp 00F00158, bp 00F00148, ip 6, MessageSend(MessageSendAbstract)>>value} receiver: a MessageSend {00F00130: cf 00F00109, sp 00F00140, bp 00F00120, ip 44, InputState>>loopWhile:} receiver: a InputState arg[0]: [] @ 6 in InputState>>mainLoop temp[0]: a MSG temp[1]: true temp[2]: a MessageSend {00F00108: cf 00F000F5, sp 00F00118, bp 00DBED50, ip 12, InputState>>mainLoop} receiver: a InputState {00F000F4: cf 00F000E1, sp 00F00104, bp 00DBED00, ip 13, [] in InputState>>forkMain} receiver: a InputState {00F000E0: cf 00F000CD, sp 00F000F0, bp 00DC2E68, ip 11, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry} receiver: a ExceptionHandler temp[0]: nil {00F000CC: cf 00F000B1, sp 00F000DC, bp 00DC35F0, 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 00F00000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=8 list=nil) {00F000B0: cf 00F0009D, sp 00F000C8, bp 00DC36F0, ip 17, BlockClosure>>ifCurtailed:} receiver: [] @ 8421382 in nil arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try: temp[0]: nil temp[1]: nil temp[2]: nil {00F0009C: cf 00F0007D, sp 00F000AC, bp 00F00094, ip 4, BlockClosure>>ensure:} receiver: [] @ 15 in ExceptionHandlerAbstract>>try: arg[0]: [] @ 34 in ExceptionHandlerAbstract>>try: temp[0]: nil {00F0007C: cf 00F00069, sp 00F0008C, bp 00DC35F0, 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 00F00000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=8 list=nil) {00F00068: cf 00F00049, sp 00F00078, bp 00F00060, ip 7, BlockClosure>>on:do:} receiver: [] @ 8 in InputState>>forkMain arg[0]: ProcessTermination arg[1]: [] @ 12 in BlockClosure>>newProcess {00F00048: cf 00000001, sp 00F00058, bp 00DC2E08, ip 17, [] in BlockClosure>>newProcess} receiver: [] @ 8 in InputState>>forkMain temp[0]: nil <Bottom of stack> ***** End of dump ***** |
Mark Derricutt wrote:
> {00F00180: cf 00F0015D, sp 00F001A0, bp 00F00174, ip 47, > AXDllImageStripper(ImageStripper)>>snapshot:} > receiver: a AXDllImageStripper > arg[0]: 'C:\Documents and Settings\Talios\My > Documents\SMSComposer.tmp' > temp[0]: a GUIAXDllSessionManager > temp[1]: 6 > > {00F0015C: cf 00F00149, sp 00F0016C, bp 00DBFD58, ip 15, > AXDllImageStripper(ImageStripper)>>saveExecutable:} > receiver: a AXDllImageStripper > arg[0]: 'C:\Documents and Settings\Talios\My > Documents\SMSComposer.dll' > temp[0]: 'C:\Documents and Settings\Talios\My > Documents\SMSComposer.tmp' > temp[1]: nil > temp[2]: true > temp[3]: nil > temp[4]: nil This piece has me concerned, why would my stripped, deployed application want to try call #saveExecutable when run through regsvr32.... Somethings gone afowl here me thinks.... mmmm. Mark |
In reply to this post by talios@gmail.com
Mark Derricutt wrote:
> Time to go hunting, thought I'd post here in the hope that if I don't > find it, someone might post a reply, and if I do find it, I can follow > it up with the solution.... To me it looks as if you have a custom session manager that is calling #argv (via #cmdLineFlags) in its #tertiaryStartup, and that that is falling over because the 'argv' returned by the CRTLibrary is NULL (0). I don't know why: CRTLibrary default argv should be answering 0. Perhaps its something to do with the fact that you are deploying as an ActiveX control, not a "normal" application... As far as #saveExecutable: goes. I don't /think/ you need to worry about it. AIUI, it's an artefact of the way the image is snapshotted during deployment, and then resumes where it left off as the deployed .exe starts before being "interrupted" by the VM telling it to initiate the startup sequence. I know this has been mentioned here recently, but I can't find the post in question. -- chris |
Mark and Chris
"Chris Uppal" <[hidden email]> wrote in message news:[hidden email]... > Mark Derricutt wrote: > [...] > I know this has been mentioned here recently, but I can't find the post in > question. I guess I didn't read Mark's posts closely enough, but I had the same problem. Presumably you're using a custom subclass of SessionManager (Blair said it's the result of using a GUI SessionManager in a DLL), in which case you need to override #tertiariyStartup so that it invokes only #basicTertiaryStartup. For more detail (of dubious utility), see http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&safe=active&threadm=2nstobF4fli9U1%40uni-berlin.de&rnum=1&prev=/groups%3Fq%3D%2522Error%2Bregistering%2Ba%2BDLL%2Bwith%2Bregsvr32%2522%26hl%3Den%26lr%3D%26ie%3DUTF-8%26group%3Dcomp.lang.smalltalk.dolphin%26safe%3Dactive%26selm%3D2nstobF4fli9U1%2540uni-berlin.de%26rnum%3D1 HTH, Don > > -- chris > > > |
Don Rylander wrote:
>Presumably you're using a custom subclass of SessionManager (Blair said it's >the result of using a GUI SessionManager in a DLL), in which case you need >to override #tertiariyStartup so that it invokes only #basicTertiaryStartup. > > Yep - using a custom SessionManager that initializes the GUI system ( was posted by somewhere here awhile back ). I'll look at #tertiaryStartup and report back... Mark |
In reply to this post by Don Rylander-3
Don Rylander wrote:
>Presumably you're using a custom subclass of SessionManager (Blair said it's >the result of using a GUI SessionManager in a DLL), in which case you need >to override #tertiariyStartup so that it invokes only #basicTertiaryStartup. > > Yep - the exact same problems you had. I also had to override #applicationName. Mark |
Mark Derricutt wrote:
> Yep - the exact same problems you had. I also had to override > #applicationName. Damm, ok, now this is pissing me off. It worked the first time I rebuilt the DLL but not the successive times :( Right - 2am and time for sleep instead of code. I've prolly missed something.. |
In reply to this post by talios@gmail.com
Mark,
"Mark Derricutt" <[hidden email]> wrote in message news:chujqd$[hidden email]... > Don Rylander wrote: > > >Presumably you're using a custom subclass of SessionManager (Blair said it's > >the result of using a GUI SessionManager in a DLL), in which case you need > >to override #tertiariyStartup so that it invokes only #basicTertiaryStartup. > > > > > Yep - using a custom SessionManager that initializes the GUI system ( > was posted by somewhere here awhile back ).[...] Hmm. I bet I can guess why we had the same problems, then. Apparently Google archives aren't being properly refreshed from my STS Repository. Let me know if you'd like the version I'm currently using, even if only for comparison to your own code. Don |
Free forum by Nabble | Edit this page |