Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

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

Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

pharo
Status: Accepted
Owner: ----
Labels: Milestone-1.3 Type-Bug

New issue 5040 by norbert.hartl: NonInterativeUIManager is missing methods  
and shows wrong stack trace
http://code.google.com/p/pharo/issues/detail?id=5040

When a pharo image is started in headless mode the ui manager is switched  
to the NonInteractiveUIManager which leaves the vm if someone tries to open  
a Dialog/Window. If there is an uncatched exeception the message send

openOn:context:label:contents:fullView:

occurs which is not implemented in NonInteractiveUIManager. A simple  
implementation with "self nonInteractive" shows only the stack trace of the  
nonInteractive singalling up to world. The exception that originally was  
signalled is not shown at all.

I tested this in pharo 1.3


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

pharo

Comment #1 on issue 5040 by [hidden email]: NonInterativeUIManager is  
missing methods and shows wrong stack trace
http://code.google.com/p/pharo/issues/detail?id=5040

This effects images hosted on seasidehosting.st. Here is a sample  
stack-trace:


THERE_BE_DRAGONS_HERE
MessageNotUnderstood:  
NonInteractiveUIManager>>openDebuggerOn:context:label:contents:fullView:
28 November 2011 5:21:53 pm

VM: unix - i686 - linux - Squeak3.10.2 of '5 June 2008' [latest update:  
#7179]
Image: Pharo1.3 [Latest update: #13315]

NonInteractiveUIManager(Object)>>doesNotUnderstand:  
#openDebuggerOn:context:label:contents:fullView:
        Receiver: a NonInteractiveUIManager
        Arguments and temporary variables:
                aMessage: openDebuggerOn: a Process in GRPharoPlatform>>openDebuggerOn:  
context...etc...
                exception: MessageNotUnderstood:  
NonInteractiveUIManager>>openDebuggerOn:contex...etc...
                resumeValue: nil
        Receiver's instance variables:
                uiManager: a MorphicUIManager
                doNotQuitOnRestart: false


Debugger class>>openOn:context:label:contents:fullView:
        Receiver: Debugger
        Arguments and temporary variables:
                process: a Process in GRPharoPlatform>>openDebuggerOn:
                context: MAMemoryFileModel class(Object)>>doesNotUnderstand:  
#baseDirectoryPath...etc...
                title: 'MessageNotUnderstood: MAMemoryFileModel class>>baseDirectoryPath'
                contentsStringOrNil: nil
                bool: true
                fullView: true
        Receiver's instance variables:
                superclass: CodeHolder
                methodDict: a  
MethodDictionary(#addOptionalButtonsTo:at:plus:->(Debugger>>#addO...etc...
                format: 166
                instanceVariables:
#('interruptedProcess' 'interruptedController' 'contextStack...etc...
                organization: ('*Ocompletion' guessTypeForName:)
('*Polymorph-Widgets' addOptio...etc...
                subclasses: nil
                name: #Debugger
                classPool: a Dictionary(#AlwaysOpenFullDebugger->false  
#ContextStackKeystrokes-...etc...
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'Tools-Debugger'
                traitComposition: nil
                localSelectors: nil


[:tool | ^ tool
                openOn: aProcess
                context: aContext
                label: aString
                contents: contents
                fullView: aBool] in ToolRegistry>>debug:context:label:contents:fullView:
        Receiver: a ToolRegistry
        Arguments and temporary variables:
                aProcess: Debugger
                aContext: a Process in GRPharoPlatform>>openDebuggerOn:
                aString: MAMemoryFileModel class(Object)>>doesNotUnderstand:  
#baseDirectoryPath...etc...
                contents: 'MessageNotUnderstood: MAMemoryFileModel  
class>>baseDirectoryPath'
                aBool: nil
                tool: true
        Receiver's instance variables:
                tools: an IdentityDictionary(#basicInspector->BasicInspector  
#browser->[self de...etc...
                inspectorsMap: an  
IdentityDictionary(#CompiledMethod->#CompiledMethodInspector ...etc...


ToolRegistry>>using:do:
        Receiver: a ToolRegistry
        Arguments and temporary variables:
                aToolName: #debugger
                aBlock: [:tool | ^ tool
                openOn: aProcess
                context: aContext
                label: aString...etc...
                tool: Debugger
        Receiver's instance variables:
                tools: an IdentityDictionary(#basicInspector->BasicInspector  
#browser->[self de...etc...
                inspectorsMap: an  
IdentityDictionary(#CompiledMethod->#CompiledMethodInspector ...etc...


ToolRegistry>>debug:context:label:contents:fullView:
        Receiver: a ToolRegistry
        Arguments and temporary variables:
                aProcess: a Process in GRPharoPlatform>>openDebuggerOn:
                aContext: MAMemoryFileModel class(Object)>>doesNotUnderstand:  
#baseDirectoryPat...etc...
                aString: 'MessageNotUnderstood: MAMemoryFileModel  
class>>baseDirectoryPath'
                contents: nil
                aBool: true
        Receiver's instance variables:
                tools: an IdentityDictionary(#basicInspector->BasicInspector  
#browser->[self de...etc...
                inspectorsMap: an  
IdentityDictionary(#CompiledMethod->#CompiledMethodInspector ...etc...


Process>>debug:title:full:
        Receiver: a Process in GRPharoPlatform>>openDebuggerOn:
        Arguments and temporary variables:
                context: MAMemoryFileModel class(Object)>>doesNotUnderstand:  
#baseDirectoryPath...etc...
                title: 'MessageNotUnderstood: MAMemoryFileModel class>>baseDirectoryPath'
                bool: true
                topCtxt: GRPharoPlatform>>openDebuggerOn:
        Receiver's instance variables:
                nextLink: nil
                suspendedContext: GRPharoPlatform>>openDebuggerOn:
                priority: 30
                myList: a LinkedList()
                threadId: nil
                errorHandler: nil
                name: 'seaside-20224 connection'
                env: nil


[process
                debug: anError signalerContext
                title: anError description
                full: true] in GRPharoPlatform>>openDebuggerOn:
        Receiver: a GRPharoPlatform
        Arguments and temporary variables:
                anError: MessageNotUnderstood: MAMemoryFileModel class>>baseDirectoryPath
                process: a Process in GRPharoPlatform>>openDebuggerOn:
        Receiver's instance variables:
a GRPharoPlatform

WorldState>>runStepMethodsIn:
        Receiver: a WorldState
        Arguments and temporary variables:
                aWorld: a PasteUpMorph(425197568) [world]
                queue: SharedQueue with 0 items
                nextInQueue: [process
                debug: anError signalerContext
                title: anError descrip...etc...
        Receiver's instance variables:
                hands: an Array(a HandMorph(843055104))
                viewBox: 0@0 corner: 1296@875
                canvas: a FormCanvas on: DisplayScreen(1296x875x32)
                damageRecorder: a DamageRecorder
                stepList: a Heap(StepMessage(#stepAt: -> an  
OBSystemWindow(417857536))(an OBSys...etc...
                lastStepTime: 5998634
                lastStepMessage: nil
                lastCycleTime: 5998680
                alarms: a Heap()
                lastAlarmTime: 5998634
                menuBuilder: a PragmaMenuBuilder


PasteUpMorph>>runStepMethods
        Receiver: a PasteUpMorph(425197568) [world]
        Arguments and temporary variables:

        Receiver's instance variables:
                bounds: 0@0 corner: 1296@875
                owner: nil
                submorphs: an Array(a TaskbarMorph(984088576) a SystemWindow(898891776)  
an OBSy...etc...
                fullBounds: 0@0 corner: 1296@875
                color: (Color r: 0.97 g: 0.98 b: 1.0)
                extension: a MorphExtension (666632192) [eventHandler = an  
EventHandler]  [othe...etc...
                borderWidth: 0
                borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
                backgroundMorph: nil
                worldState: a WorldState
                griddingOn: nil


WorldState>>doOneCycleNowFor:
        Receiver: a WorldState
        Arguments and temporary variables:
                aWorld: a PasteUpMorph(425197568) [world]
        Receiver's instance variables:
                hands: an Array(a HandMorph(843055104))
                viewBox: 0@0 corner: 1296@875
                canvas: a FormCanvas on: DisplayScreen(1296x875x32)
                damageRecorder: a DamageRecorder
                stepList: a Heap(StepMessage(#stepAt: -> an  
OBSystemWindow(417857536))(an OBSys...etc...
                lastStepTime: 5998634
                lastStepMessage: nil
                lastCycleTime: 5998680
                alarms: a Heap()
                lastAlarmTime: 5998634
                menuBuilder: a PragmaMenuBuilder


WorldState>>doOneCycleFor:
        Receiver: a WorldState
        Arguments and temporary variables:
                aWorld: a PasteUpMorph(425197568) [world]
        Receiver's instance variables:
                hands: an Array(a HandMorph(843055104))
                viewBox: 0@0 corner: 1296@875
                canvas: a FormCanvas on: DisplayScreen(1296x875x32)
                damageRecorder: a DamageRecorder
                stepList: a Heap(StepMessage(#stepAt: -> an  
OBSystemWindow(417857536))(an OBSys...etc...
                lastStepTime: 5998634
                lastStepMessage: nil
                lastCycleTime: 5998680
                alarms: a Heap()
                lastAlarmTime: 5998634
                menuBuilder: a PragmaMenuBuilder


PasteUpMorph>>doOneCycle
        Receiver: a PasteUpMorph(425197568) [world]
        Arguments and temporary variables:

        Receiver's instance variables:
                bounds: 0@0 corner: 1296@875
                owner: nil
                submorphs: an Array(a TaskbarMorph(984088576) a SystemWindow(898891776)  
an OBSy...etc...
                fullBounds: 0@0 corner: 1296@875
                color: (Color r: 0.97 g: 0.98 b: 1.0)
                extension: a MorphExtension (666632192) [eventHandler = an  
EventHandler]  [othe...etc...
                borderWidth: 0
                borderColor: (Color r: 0.03 g: 0.02 b: 0.0)
                backgroundMorph: nil
                worldState: a WorldState
                griddingOn: nil


[[World doOneCycle.
        Processor yield.
        false] whileFalse.
        nil] in Project class>>spawnNewProcess
        Receiver: Project
        Arguments and temporary variables:

        Receiver's instance variables:
                superclass: Model
                methodDict: a MethodDictionary(#beep->(Project>>#beep "a  
CompiledMethod(7072645...etc...
                format: 132
                instanceVariables: nil
                organization: ('*sound' beep)

                subclasses: nil
                name: #Project
                classPool: a Dictionary(#UIProcess->a Process in nil )
                sharedPools: nil
                environment: a SystemDictionary(lots of globals)
                category: #'System-Support'
                traitComposition: {}
                localSelectors: nil


[self value.
        Processor terminateActive] in BlockClosure>>newProcess
        Receiver: [[World doOneCycle.
        Processor yield.
        false] whileFalse.
        nil]
        Arguments and temporary variables:

        Receiver's instance variables:
                outerContext: Project class>>spawnNewProcess
                startpc: 57
                numArgs: 0


BlockClosure>>on:do:
        Receiver: [tmp swapSender: thisContext sender.
        thisContext sender sender sender swapSender: nil.
        t...etc...
        Arguments and temporary variables:
                exception: BindingsLocator
                handlerAction: [:n | n resume: aContext]
                handlerActive: true
        Receiver's instance variables:
                outerContext: BindingsLocator>>defaultAction
                startpc: 60
                numArgs: 0


BlockClosure>>valueWithBindingsContext:
        Receiver: [tmp swapSender: thisContext sender.
        thisContext sender sender sender swapSender: nil.
        t...etc...
        Arguments and temporary variables:
                aContext: BlockClosure>>valueWithBindings:
        Receiver's instance variables:
                outerContext: BindingsLocator>>defaultAction
                startpc: 60
                numArgs: 0


BlockClosure>>valueWithBindings:
        Receiver: [tmp swapSender: thisContext sender.
        thisContext sender sender sender swapSender: nil.
        t...etc...
        Arguments and temporary variables:
                dynamicBindings: a DynamicBindings(#'HttpAdaptor-keepAlive'->false )
        Receiver's instance variables:
                outerContext: BindingsLocator>>defaultAction
                startpc: 60
                numArgs: 0




_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

pharo

Comment #2 on issue 5040 by [hidden email]: NonInterativeUIManager is  
missing methods and shows wrong stack trace
http://code.google.com/p/pharo/issues/detail?id=5040

A temporary work around:

UIManager default: MorphicUIManager new



_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

pharo
Updates:
        Labels: UIManager

Comment #3 on issue 5040 by [hidden email]: NonInterativeUIManager  
is missing methods and shows wrong stack trace
http://code.google.com/p/pharo/issues/detail?id=5040

(No comment was entered for this change.)


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker
Reply | Threaded
Open this post in threaded view
|

Re: Issue 5040 in pharo: NonInterativeUIManager is missing methods and shows wrong stack trace

pharo
Updates:
        Status: Duplicate
        Mergedinto: 4617

Comment #4 on issue 5040 by [hidden email]: NonInterativeUIManager  
is missing methods and shows wrong stack trace
http://code.google.com/p/pharo/issues/detail?id=5040

This should be fixe by the back port of the starup fixes of 1.4


_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker