When I try to deploy my new application to an executable, Dolphin shows
the message "The application may be dependent upon non-distributable development tools or classes in the following packages: Development System ...". Sometimes, Dolphin is able to produce an executable but the executable can not be run : it takes nearly 100% of the CPU time for several minutes and the main view never appears. I know from the past that I will not be able to deploy correctly until I get rid of this dependency, but how to do that ? The only prerequisite my application has on the Development System is the following: Owned: LedView class>>publishedAspectOfInstances Dependency: references global Prerequisite Object: Aspect Is it really illegal ? How to circumvent it and finally deploy my application ? I use Dolphin Smalltalk Professional 6.02 and I try to deploy from a fresh, clean, image. Thanks, Joseph |
Joseph Frippiat wrote:
> Owned: LedView class>>publishedAspectOfInstances > Dependency: references global > Prerequisite Object: Aspect > > Is it really illegal ? > How to circumvent it and finally deploy my application ? If you haven't already, then try putting that method into category 'development' or 'must strip' (or both) That tells the stripper that the method must be removed, and thus (hopefully) removes the dependency on Aspect. I sort of doubt whether that will solve your problem, but it's worth doing anyway, and it /might/ fix it. Fingers crossed ;-) -- chris |
Chris Uppal wrote:
> If you haven't already, then try putting that method into category > 'development' or 'must strip' (or both) That tells the stripper that the > method must be removed, and thus (hopefully) removes the dependency on Aspect. Thanks, it removes the Development System dependency and Dolphin stops complaining, but the executable is not runnable. It takes nearly 100% of CPU and when I kill it I get a huge ERRORS file. Here is the start of the file: ************************** Dolphin Virtual Machine Dump Report *************************** 17:06:50 PM, 6/1/2006: Primitive Process>>primTerminate failed (0) *----> VM Context <----* Process: {090D0004:size 76 words, suspended frame 00E60010, priority 6, callbacks 0 last failure 0:nil, FPE mask 3, thread nil} Active Method: SessionManager>>logError: IP: 08F863C9 (9) SP: 090D0214 BP: 090D01E8 (106) ActiveFrame: {090D01EC: cf 090D01CD, sp 090D0204, bp 090D01E8, ip 5, RemoteMonitoringSessionManager(SessionManager)>>logError:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth: Message Selector: dump:path:stackDepth:walkbackDepth: *----> Stack Back Trace <----* {090D01EC: cf 090D01CD, sp 090D0204, bp 090D01E8, ip 5, RemoteMonitoringSessionManager(SessionManager)>>logError:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error {090D01CC: cf 090D01AD, sp 090D01E0, bp 090D01C8, ip 3, RemoteMonitoringSessionManager(SessionManager)>>unhandledException:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error {090D01AC: cf 090D018D, sp 090D01C0, bp 090D01A8, ip 3, RemoteMonitoringSessionManager(SessionManager)>>onUnhandledError:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error {090D018C: cf 090D0171, sp 090D01A0, bp 090D018C, ip 5, Error>>defaultAction} receiver: a Error {090D0170: cf 090D013D, sp 090D0184, bp 090D0158, ip 55, Error(Exception)>>_propagateFrom:} receiver: a Error arg[0]: nil stack temp[0]: nil stack temp[1]: nil stack temp[2]: nil stack temp[3]: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) stack temp[4]: nil {090D013C: cf 090D011D, sp 090D0150, bp 090D0138, ip 6, Error(Exception)>>_propagate} receiver: a Error stack temp[0]: nil {090D011C: cf 090D0101, sp 090D0130, bp 090D011C, ip 11, Error(Exception)>>signal} receiver: a Error {090D0100: cf 090D00E1, sp 090D0114, bp 090D00FC, ip 5, Error(Exception)>>signal:} receiver: a Error arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00E0: cf 090D00C1, sp 090D00F4, bp 090D00DC, ip 5, Error class(Exception class)>>signal:} receiver: Error arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00C0: cf 090D00A1, sp 090D00D4, bp 090D00BC, ip 4, Process(Object)>>error:} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00A0: cf 090D0081, sp 090D00B4, bp 090D009C, ip 21, Process(Object)>>primitiveFailed} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) stack temp[0]: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0080: cf 090D0065, sp 090D0094, bp 090D0080, ip 7, Process>>primTerminate} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0064: cf 090D0049, sp 090D0078, bp 090D0064, ip 15, Process>>shutdown} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0048: cf 00000001, sp 090D005C, bp 090D0048, ip 21, [] in BlockClosure>>newProcess} receiver: [] @ 10 in InputState>>forkMain <Bottom of stack> ***** End of dump ***** ************************** Dolphin Virtual Machine Dump Report *************************** 17:06:50 PM, 6/1/2006: UndefinedObject does not understand #asInteger *----> VM Context <----* Process: {090D0004:size 207 words, suspended frame 00E60010, priority 6, callbacks 0 last failure 2:nil, FPE mask 3, thread nil} Active Method: SessionManager>>logError: IP: 08F863C9 (9) SP: 090D0420 BP: 090D03F4 (237) ActiveFrame: {090D03F8: cf 090D03D9, sp 090D0410, bp 090D03F4, ip 5, RemoteMonitoringSessionManager(SessionManager)>>logError:} receiver: a RemoteMonitoringSessionManager arg[0]: a MessageNotUnderstood New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth: Message Selector: dump:path:stackDepth:walkbackDepth: *----> Stack Back Trace <----* {090D03F8: cf 090D03D9, sp 090D0410, bp 090D03F4, ip 5, RemoteMonitoringSessionManager(SessionManager)>>logError:} receiver: a RemoteMonitoringSessionManager arg[0]: a MessageNotUnderstood {090D03D8: cf 090D03B9, sp 090D03EC, bp 090D03D4, ip 3, RemoteMonitoringSessionManager(SessionManager)>>unhandledException:} receiver: a RemoteMonitoringSessionManager arg[0]: a MessageNotUnderstood {090D03B8: cf 090D0399, sp 090D03CC, bp 090D03B4, ip 3, RemoteMonitoringSessionManager(SessionManager)>>onUnhandledError:} receiver: a RemoteMonitoringSessionManager arg[0]: a MessageNotUnderstood {090D0398: cf 090D037D, sp 090D03AC, bp 090D0398, ip 5, MessageNotUnderstood(Error)>>defaultAction} receiver: a MessageNotUnderstood {090D037C: cf 090D0349, sp 090D0390, bp 090D0364, ip 55, MessageNotUnderstood(Exception)>>_propagateFrom:} receiver: a MessageNotUnderstood arg[0]: nil stack temp[0]: nil stack temp[1]: nil stack temp[2]: nil stack temp[3]: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) stack temp[4]: nil {090D0348: cf 090D0329, sp 090D035C, bp 090D0344, ip 6, MessageNotUnderstood(Exception)>>_propagate} receiver: a MessageNotUnderstood stack temp[0]: nil {090D0328: cf 090D030D, sp 090D033C, bp 090D0328, ip 11, MessageNotUnderstood(Exception)>>signal} receiver: a MessageNotUnderstood {090D030C: cf 090D02E9, sp 090D0320, bp 090D0304, ip 12, MessageNotUnderstood class>>receiver:message:} receiver: MessageNotUnderstood arg[0]: nil arg[1]: Message selector: asInteger arguments: ***Bad Array: 00000000 {090D02E8: cf 090D02C9, sp 090D02FC, bp 090D02E4, ip 4, Object>>doesNotUnderstand:} receiver: nil arg[0]: Message selector: asInteger arguments: ***Bad Array: 00000000 {090D02C8: cf 090D02A1, sp 090D02DC, bp 090D02BC, ip 10, ByteArray>>retryDwordAtOffset:put:} receiver: a ByteArray arg[0]: 4 arg[1]: nil stack temp[0]: nil {090D02A0: cf 090D027D, sp 090D02B4, bp 090D0298, ip 4, ByteArray>>dwordAtOffset:put:} receiver: a ByteArray arg[0]: 4 arg[1]: nil {090D027C: cf 090D025D, sp 090D0290, bp 090D0278, ip 6, MSGBOXPARAMS>>hwndOwner:} receiver: a MSGBOXPARAMS arg[0]: nil {090D025C: cf 090D020D, sp 090D0270, bp 090D0228, ip 73, UserLibrary>>messageBox:text:caption:style:icon:instance:} receiver: a UserLibrary arg[0]: nil arg[1]: 'Primitive Process>>primTerminate failed (0)' arg[2]: 'Remote Monitoring' 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 {090D020C: cf 090D01E9, sp 090D0220, bp 090D0204, ip 20, Error(Exception)>>showMessage:style:} receiver: a Error arg[0]: 'Primitive Process>>primTerminate failed (0)' arg[1]: 16 {090D01E8: cf 090D01CD, sp 090D01FC, bp 090D01E8, ip 11, Error(Exception)>>okToContinue} receiver: a Error {090D01CC: cf 090D01AD, sp 090D01E0, bp 090D01C8, ip 6, RemoteMonitoringSessionManager(SessionManager)>>unhandledException:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error {090D01AC: cf 090D018D, sp 090D01C0, bp 090D01A8, ip 3, RemoteMonitoringSessionManager(SessionManager)>>onUnhandledError:} receiver: a RemoteMonitoringSessionManager arg[0]: a Error {090D018C: cf 090D0171, sp 090D01A0, bp 090D018C, ip 5, Error>>defaultAction} receiver: a Error {090D0170: cf 090D013D, sp 090D0184, bp 090D0158, ip 55, Error(Exception)>>_propagateFrom:} receiver: a Error arg[0]: nil stack temp[0]: nil stack temp[1]: nil stack temp[2]: nil stack temp[3]: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) stack temp[4]: nil {090D013C: cf 090D011D, sp 090D0150, bp 090D0138, ip 6, Error(Exception)>>_propagate} receiver: a Error stack temp[0]: nil {090D011C: cf 090D0101, sp 090D0130, bp 090D011C, ip 11, Error(Exception)>>signal} receiver: a Error {090D0100: cf 090D00E1, sp 090D0114, bp 090D00FC, ip 5, Error(Exception)>>signal:} receiver: a Error arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00E0: cf 090D00C1, sp 090D00F4, bp 090D00DC, ip 5, Error class(Exception class)>>signal:} receiver: Error arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00C0: cf 090D00A1, sp 090D00D4, bp 090D00BC, ip 4, Process(Object)>>error:} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) arg[0]: 'Primitive Process>>primTerminate failed (0)' {090D00A0: cf 090D0081, sp 090D00B4, bp 090D009C, ip 21, Process(Object)>>primitiveFailed} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) stack temp[0]: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0080: cf 090D0065, sp 090D0094, bp 090D0080, ip 7, Process>>primTerminate} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0064: cf 090D0049, sp 090D0078, bp 090D0064, ip 15, Process>>shutdown} receiver: a Process('Main' base 090D0000 [ACTIVE] in SessionManager>>logError: sp=00000000 ip=4 list=00E60010) {090D0048: cf 00000001, sp 090D005C, bp 090D0048, ip 21, [] in BlockClosure>>newProcess} receiver: [] @ 10 in InputState>>forkMain <Bottom of stack> ***** End of dump ***** ************************** Dolphin Virtual Machine Dump Report *************************** 17:06:50 PM, 6/1/2006: UndefinedObject does not understand #asInteger etc ... Thanks, Joseph |
jfripp wrote:
> Chris Uppal wrote: >> If you haven't already, then try putting that method into category >> 'development' or 'must strip' (or both) That tells the stripper that the >> method must be removed, and thus (hopefully) removes the dependency on Aspect. > > Thanks, it removes the Development System dependency and Dolphin stops > complaining, but the executable is not runnable. It takes nearly 100% > of CPU and when I kill it I get a huge ERRORS file. The first thing you should do is see whether Chris has a version of Ghoul for D6. It really helps in making sense of crash dumps. My hunch after a quick skim of the dump is that you might have a message box where it does not belong. Search the archives of this group for startup and MessageBox, and see if any of it sounds familiar. IIRC, you can make the box system modal, or you can arrange for the session to not shut down while the box is displayed, or something like that. Have a good one, Bill -- Wilhelm K. Schwab, Ph.D. [hidden email] |
Bill Schwab wrote:
> jfripp wrote: > > Chris Uppal wrote: > >> If you haven't already, then try putting that method into category > >> 'development' or 'must strip' (or both) That tells the stripper that the > >> method must be removed, and thus (hopefully) removes the dependency on Aspect. > > > > Thanks, it removes the Development System dependency and Dolphin stops > > complaining, but the executable is not runnable. It takes nearly 100% > > of CPU and when I kill it I get a huge ERRORS file. > > The first thing you should do is see whether Chris has a version of > Ghoul for D6. It really helps in making sense of crash dumps. > > My hunch after a quick skim of the dump is that you might have a message > box where it does not belong. Search the archives of this group for > startup and MessageBox, and see if any of it sounds familiar. IIRC, you > can make the box system modal, or you can arrange for the session to not > shut down while the box is displayed, or something like that. > > Have a good one, > > Bill > > > -- > Wilhelm K. Schwab, Ph.D. > [hidden email] Bill's recall is correct. I think this is the same problem that I and several others have run into before. The program has an error during startup when here is no UI windows and the default Dolphin error handler uses UserLibrary>>messageBox:text:caption:style:icon:instance: but not using the task modal style. The hWnd end up being nil. This causes another error, tries to display a messagebox, failes...rinse, repeat forever. Just patching the method with something like hWnd ifNil: [hWnd := 0] after the hWnd assignment at the beginning of the method should allow the message box to appear. Won't fix the error triggering this however ;) John |
In reply to this post by Schwab,Wilhelm K
Bill Schwab wrote:
> My hunch after a quick skim of the dump is that you might have a message > box where it does not belong. Search the archives of this group for No, I don't have a message box. Nothing will happen before the main view appears and the user clicks on a button (I disabled the automatic actions). But the main view doesn't appear (everything works fine in the development image) ... Thanks, Joseph |
Joseph,
perhaps something is stripped out which should be kept. You may want to check the generated xml for stripped methods. Some candidates could be: a package has loose methods, which you use indirectly without using anything from the "base classes" in the package. Hope this helps, Janos |
In reply to this post by John Rubier
John Rubier wrote:
> hWnd ifNil: [hWnd := 0] John, you saved my life. Thanks, Joseph |
In reply to this post by Schwab,Wilhelm K
Bill Schwab wrote:
> My hunch after a quick skim of the dump is that you might have a message > box where it does not belong. Search the archives of this group for Bill, you were right ... there was a messageBox. Using John Rubier modification to the messageBox method I was able to find it. I will keep this modification in my image ... Thanks, Joseph |
Free forum by Nabble | Edit this page |