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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |