[Pharo-project] issue 996: analogousCodeTo:
Hi guys,My debugger casts exceptions as soon as I click on any stack point and hence I can't almost use it for anything. The error always seems to be this MNU ByteSymbol>>analogousCodeTo: Is there a work around to use the debugger? Thanks r
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.Cheers r. On Sun, Oct 4, 2009 at 11:39 PM, Ramiro Diaz Trepat <ramiro@diaztrepat.name>wrote:
Hi guys,My debugger casts exceptions as soon as I click on any stack point and hence I can't almost use it for anything. The error always seems to be this MNU ByteSymbol>>analogousCodeTo: Is there a work around to use the debugger? Thanks
r
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too. -- Damien Cassou http://damiencassou.seasidehosting.st "Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers r. On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com>wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Sorry, and the way to reproduce was simply introducing a "self halt" in some method, or executing over a real bug as well, and trying to debug from there.Thanks again On Mon, Oct 5, 2009 at 8:47 AM, Ramiro Diaz Trepat <ramiro@diaztrepat.name>wrote:
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers
r.
On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com>wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi Ramiro, You don't need to modify a method to open a debugger, hitting Alt + . will do it. The behavior you describe is present in Pharo-Core #10466 too and is probably the same when clicking the "stack top" item in the Debugger right bottom pane (the context variables inspector). I'm not fan at all of populating Object, but a quick workaround for those who want to continue debugging without meta-debugging is to define in Object asText ^ self asString asText Cheers, Hernán 2009/10/5 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
Sorry, and the way to reproduce was simply introducing a "self halt" in some method, or executing over a real bug as well, and trying to debug from there. Thanks again
On Mon, Oct 5, 2009 at 8:47 AM, Ramiro Diaz Trepat <ramiro@diaztrepat.name> wrote:
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers
r.
On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com> wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
For the stack top error, a better solution than adding asText to Object would be to implement: ContextVariablesInspector >> contents ^super contents printString It's a subclass of StringHolder for some reason, which explain why it doesn't exactly like that the ContextVariable can be any arbitrary object... Cheers, Henry On Oct 5, 2009, at 11:17 33AM, Hernán Morales Durand wrote:
Hi Ramiro, You don't need to modify a method to open a debugger, hitting Alt + . will do it. The behavior you describe is present in Pharo-Core #10466 too and is probably the same when clicking the "stack top" item in the Debugger right bottom pane (the context variables inspector). I'm not fan at all of populating Object, but a quick workaround for those who want to continue debugging without meta-debugging is to define in Object
asText ^ self asString asText
Cheers,
Hernán
2009/10/5 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
Sorry, and the way to reproduce was simply introducing a "self halt" in some method, or executing over a real bug as well, and trying to debug from there. Thanks again
On Mon, Oct 5, 2009 at 8:47 AM, Ramiro Diaz Trepat <ramiro@diaztrepat.name
wrote:
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers
r.
On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com
wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Updated Issue987 with a SLICE in Inbox, which "fixes" the DNU in the way below. Used printString instead of asString as proposed by Hernán, as it (in principle) should be more robustly implemented and thus more suited for debugger display. (If sig's idea from some time back was adopted, this should be debugString instead of printString, of course). Cheers, Henry On Oct 5, 2009, at 11:51 23AM, Henrik Johansen wrote:
For the stack top error, a better solution than adding asText to Object would be to implement: ContextVariablesInspector >> contents ^super contents printString
It's a subclass of StringHolder for some reason, which explain why it doesn't exactly like that the ContextVariable can be any arbitrary object...
Cheers, Henry
On Oct 5, 2009, at 11:17 33AM, Hernán Morales Durand wrote:
Hi Ramiro, You don't need to modify a method to open a debugger, hitting Alt + . will do it. The behavior you describe is present in Pharo-Core #10466 too and is probably the same when clicking the "stack top" item in the Debugger right bottom pane (the context variables inspector). I'm not fan at all of populating Object, but a quick workaround for those who want to continue debugging without meta-debugging is to define in Object
asText ^ self asString asText
Cheers,
Hernán
2009/10/5 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
Sorry, and the way to reproduce was simply introducing a "self halt" in some method, or executing over a real bug as well, and trying to debug from there. Thanks again
On Mon, Oct 5, 2009 at 8:47 AM, Ramiro Diaz Trepat <ramiro@diaztrepat.name
wrote:
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers
r.
On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com
wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thanks we will integrate that as soon as we can breath :) On Oct 5, 2009, at 12:14 PM, Henrik Johansen wrote:
Updated Issue987 with a SLICE in Inbox, which "fixes" the DNU in the way below. Used printString instead of asString as proposed by Hernán, as it (in principle) should be more robustly implemented and thus more suited for debugger display. (If sig's idea from some time back was adopted, this should be debugString instead of printString, of course).
Cheers, Henry
On Oct 5, 2009, at 11:51 23AM, Henrik Johansen wrote:
For the stack top error, a better solution than adding asText to Object would be to implement: ContextVariablesInspector >> contents ^super contents printString
It's a subclass of StringHolder for some reason, which explain why it doesn't exactly like that the ContextVariable can be any arbitrary object...
Cheers, Henry
On Oct 5, 2009, at 11:17 33AM, Hernán Morales Durand wrote:
Hi Ramiro, You don't need to modify a method to open a debugger, hitting Alt + . will do it. The behavior you describe is present in Pharo-Core #10466 too and is probably the same when clicking the "stack top" item in the Debugger right bottom pane (the context variables inspector). I'm not fan at all of populating Object, but a quick workaround for those who want to continue debugging without meta-debugging is to define in Object
asText ^ self asString asText
Cheers,
Hernán
2009/10/5 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
Sorry, and the way to reproduce was simply introducing a "self halt" in some method, or executing over a real bug as well, and trying to debug from there. Thanks again
On Mon, Oct 5, 2009 at 8:47 AM, Ramiro Diaz Trepat <ramiro@diaztrepat.name
wrote:
Hi Damien, thanks for answering. The error happens on a the previous dev image (09.09.03) that was updated until yesterday night. If I download the new dev image though, the error seems to go away. I thought there was no difference, in theory at least, between an updated image and a freshly downloaded one. Cheers
r.
On Mon, Oct 5, 2009 at 12:41 AM, Damien Cassou <damien.cassou@gmail.com
wrote:
2009/10/4 Ramiro Diaz Trepat <ramiro@diaztrepat.name>:
I saw previous posts from Steph saying that this fix had already been pushed, but I have an image updated up to now and it does happen.
Please provide a detailed process on how to reproduce. Telling us the image you used is of interest too.
-- Damien Cassou http://damiencassou.seasidehosting.st
"Lambdas are relegated to relative obscurity until Java makes them popular by not having them." James Iry
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thanks Hernán and Henrik for your workarounds, but neither of them fixes the problem in my image.Here's a bit of my stack: VM: Mac OS - intel - 1058 - Squeak3.8.1 of '28 Aug 2006' [latest update: #6747] Squeak VM 4.2.1b1 Image: Pharo1.0beta [Latest update: #10466] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/ramiro/Smalltalk/pharo Trusted Dir /foobar/tooBar/forSqueak/bogus Untrusted Dir /Users/ramiro/Library/Preferences/Squeak/Internet/My Squeak ByteSymbol(Object)>>doesNotUnderstand: #analogousCodeTo: Receiver: #visitComponent: Arguments and temporary variables: <<error during printing> Receiver's instance variables: #visitComponent: CompiledMethod>>= Receiver: a CompiledMethod(2377: WAPainterVisitor>>visitComponent:) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(2377: WAPainterVisitor>>visitComponent:) Set>>scanFor: Receiver: a Set(a CompiledMethod(1962: BlockClosure>>newProcess) a CompiledMethod(2377: WAPainterVis...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 9 array: #(nil nil nil nil nil a CompiledMethod(1962: BlockClosure>>newProcess) n...etc... Set>>findElementOrNil: Receiver: a Set(a CompiledMethod(1962: BlockClosure>>newProcess) a CompiledMethod(2377: WAPainterVis...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 9 array: #(nil nil nil nil nil a CompiledMethod(1962: BlockClosure>>newProcess) n...etc... Set>>add: Receiver: a Set(a CompiledMethod(1962: BlockClosure>>newProcess) a CompiledMethod(2377: WAPainterVis...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 9 array: #(nil nil nil nil nil a CompiledMethod(1962: BlockClosure>>newProcess) n...etc... [] in WeakIdentityKeyDictionary(Dictionary)>>keys Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... [] in WeakIdentityKeyDictionary(WeakKeyDictionary)>>keysDo: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... WeakIdentityKeyDictionary(Set)>>do: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... WeakIdentityKeyDictionary(Dictionary)>>associationsDo: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... WeakIdentityKeyDictionary(WeakKeyDictionary)>>keysDo: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... WeakIdentityKeyDictionary(Dictionary)>>keys Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... DebuggerMethodMap class>>cacheDebugMap:forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(1655: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods . DebuggerMethodMapForClosureC...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil [] in DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(1655: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods . DebuggerMethodMapForClosureC...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil WeakIdentityKeyDictionary(Dictionary)>>at:ifAbsent: Receiver: a WeakIdentityKeyDictionary(a CompiledMethod(1422: WAHtmlCanvas>>form:)->a DebuggerMethodM...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: tally: 16 array: an Array(nil nil a CompiledMethod(1962: BlockClosure>>newProcess)->a Deb...etc... DebuggerMethodMap class>>forMethod: Receiver: DebuggerMethodMap Arguments and temporary variables: <<error during printing> Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#abstractSourceMap->a CompiledMethod(1655: Debug...etc... format: 140 instanceVariables: #('timestamp' 'methodReference' 'methodNode' 'abstractSource...etc... organization: ('accessing' markRecentlyUsed method namedTempAt:in: namedTempAt:...etc... subclasses: {DebuggerMethodMapForBlueBookMethods . DebuggerMethodMapForClosureC...etc... name: #DebuggerMethodMap classPool: a Dictionary(#MapCache->a WeakIdentityKeyDictionary(a CompiledMethod...etc... sharedPools: nil environment: Smalltalk category: #'Tools-Debugger' traitComposition: nil localSelectors: nil CompiledMethod>>debuggerMap Receiver: a CompiledMethod(2048: TWebComponent>>updateRoot:) Arguments and temporary variables: <<error during printing> Receiver's instance variables: a CompiledMethod(2048: TWebComponent>>updateRoot:) MethodContext(InstructionStream)>>debuggerMap Receiver: TLoginComponent(TWebComponent)>>updateRoot: Arguments and temporary variables: <<error during printing> Receiver's instance variables: sender: WAUpdateRootVisitor>>visitPainter: pc: 52 stackp: 1 method: a CompiledMethod(2048: TWebComponent>>updateRoot:) closureOrNil: nil receiver: a TLoginComponent Debugger>>selectedMessage Receiver: a Debugger Arguments and temporary variables: <<error during printing> Receiver's instance variables: dependents: a DependentsArray(a SystemWindow(1276) a PluggableListMorph(255) a ...etc... contents: nil currentCompiledMethod: nil contentsSymbol: #source interruptedProcess: a Process in Debugger class>>openOn:context:label:contents:...etc... interruptedController: nil contextStack: an OrderedCollection(TLoginComponent(Object)>>halt TLoginComponen...etc... contextStackTop: TLoginComponent(Object)>>halt contextStackIndex: 2 contextStackList: an OrderedCollection('TLoginComponent(Object)>>halt' 'TLoginC...etc... receiverInspector: an Inspector contextVariablesInspector: a ContextVariablesInspector externalInterrupt: false proceedValue: nil selectingPC: true debuggerMap: nil savedCursor: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2...etc... isolationHead: nil failedProject: nil errorWasInUIProcess: false labelString: nil
participants (5)
-
Damien Cassou -
Henrik Johansen -
Hernán Morales Durand -
Ramiro Diaz Trepat -
Stéphane Ducasse