Re: [Pharo-project] UndefinedObject(Object)>>doesNotUnderstand: #findNextHandlerContextStarting
On Apr 24, 2011, at 5:12 PM, Mariano Martinez Peck wrote:
grrrr I don't know what is happening. I am building a PharoDev 1.3 and at the end, I do: Undeclared removeUnreferencedKeys but this throws an error that I attach. It is a big loop of such error. The progress bar is showing "Clean up in DebuggerMethodMap"
So I added the DebuggerMethodMap intialize (reset the cache) to Smalltalk cleanUp. But why is that called when calling "Undeclared removeUnreferencedKeys"?
In addition Undeclared ->>>> a Dictionary(#NoSuchElementError->nil ) I checked http://code.google.com/p/pharo/issues/detail?id=4043 but there is no such method.
NoSuchElementError looks like an exception subclass to me. Is it references somewhere?
Now...if I execute Undeclared removeUnreferencedKeys again, it works.
The bad news is that this prevents the PharoDev 1.3 to be build....
I have no clue of what can be happening, but the only way I found so far to reproduce it is to:
Gofer new squeaksource: 'PharoTaskForces'; pacakge: 'ConfigurationOfPharo'; load.
And then:
(ConfigurationOfPharo project version: '1.3-beta') load
-- Mariano http://marianopeck.wordpress.com
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
On Wed, Apr 27, 2011 at 11:31 AM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Apr 24, 2011, at 5:12 PM, Mariano Martinez Peck wrote:
grrrr I don't know what is happening. I am building a PharoDev 1.3 and at the end, I do: Undeclared removeUnreferencedKeys but this throws an error that I attach. It is a big loop of such error. The progress bar is showing "Clean up in DebuggerMethodMap"
So I added the DebuggerMethodMap intialize (reset the cache) to Smalltalk cleanUp.
But why is that called when calling "Undeclared removeUnreferencedKeys"?
Because the DebuggerMethodMap holds onto older versions of methods and these can be sources of undeclared references. If DebuggerMethodMap's collection of methods is properly weak then this isn't an issue but in practice this belt-and-braces approach is more robust.
In addition Undeclared ->>>> a Dictionary(#NoSuchElementError->nil ) I checked http://code.google.com/p/pharo/issues/detail?id=4043 but
there is no such method.
NoSuchElementError looks like an exception subclass to me. Is it references somewhere?
Now...if I execute Undeclared removeUnreferencedKeys again, it works.
The bad news is that this prevents the PharoDev 1.3 to be build....
I have no clue of what can be happening, but the only way I found so far to reproduce it is to:
Gofer new squeaksource: 'PharoTaskForces'; pacakge: 'ConfigurationOfPharo'; load.
And then:
(ConfigurationOfPharo project version: '1.3-beta') load
-- Mariano http://marianopeck.wordpress.com
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
On Wed, Apr 27, 2011 at 11:31 AM, Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>> wrote:
On Apr 24, 2011, at 5:12 PM, Mariano Martinez Peck wrote:
> grrrr I don't know what is happening. I am building a PharoDev 1.3 and at the end, I do: Undeclared removeUnreferencedKeys > but this throws an error that I attach. It is a big loop of such error. > The progress bar is showing "Clean up in DebuggerMethodMap" >
So I added the DebuggerMethodMap intialize (reset the cache) to Smalltalk cleanUp.
But why is that called when calling "Undeclared removeUnreferencedKeys"?
Because the DebuggerMethodMap holds onto older versions of methods and these can be sources of undeclared references. If DebuggerMethodMap's collection of methods is properly weak then this isn't an issue but in practice this belt-and-braces approach is more robust. Is there a good reason why the debugger method map stores this data? It seems horribly complex for not that much gain ... When I started working on the Glamour Debugger I reimplemented the debugger method map as the GTDebugMethodModel which is a hyper-simplification of the DebuggerMethodMap for a big part since I don't have to handle caching. ... and honestly, I never noticed any slowdown in the debugger.
Of course it could just be that my machine is too fast... or that it's used somewhere else; or that my code just wasn't complete or so. cheers, Toon
On Wed, Apr 27, 2011 at 8:31 PM, Marcus Denker <marcus.denker@inria.fr>wrote:
On Apr 24, 2011, at 5:12 PM, Mariano Martinez Peck wrote:
grrrr I don't know what is happening. I am building a PharoDev 1.3 and at the end, I do: Undeclared removeUnreferencedKeys but this throws an error that I attach. It is a big loop of such error. The progress bar is showing "Clean up in DebuggerMethodMap"
So I added the DebuggerMethodMap intialize (reset the cache) to Smalltalk cleanUp.
Thanks Marcus. I don't see this commit. Did you commit it? or we lost it with the squeaksource down ? cheers mariano
But why is that called when calling "Undeclared removeUnreferencedKeys"?
In addition Undeclared ->>>> a Dictionary(#NoSuchElementError->nil ) I checked http://code.google.com/p/pharo/issues/detail?id=4043 but
there is no such method.
NoSuchElementError looks like an exception subclass to me. Is it references somewhere?
Now...if I execute Undeclared removeUnreferencedKeys again, it works.
The bad news is that this prevents the PharoDev 1.3 to be build....
I have no clue of what can be happening, but the only way I found so far to reproduce it is to:
Gofer new squeaksource: 'PharoTaskForces'; pacakge: 'ConfigurationOfPharo'; load.
And then:
(ConfigurationOfPharo project version: '1.3-beta') load
-- Mariano http://marianopeck.wordpress.com
-- Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.
-- Mariano http://marianopeck.wordpress.com
participants (4)
-
Eliot Miranda -
Marcus Denker -
Mariano Martinez Peck -
Toon Verwaest