[Pharo-users] Renaming a Class triggers debugger
laheadle at gmail.com
Tue Oct 13 22:26:50 EDT 2015
I had a bunch of messagebrowsers open, mostly on various classes of Morphic
and Montecello packages; nothing that was related to the class I renamed.
Since I got your message I have closed the MessageBrowsers, and now there
are only two debuggers triggered when I add or remove a method :-)
It looks like WorldState's queue of deferredUIMessages contains a stale
block or something...
"Perform periodic activity inbetween event cycles"
| queue nextInQueue|
"If available dispatch some deferred UI Message"
queue := self class deferredUIMessages.
[(nextInQueue := queue nextOrNil) isNil]
whileFalse: [ nextInQueue value <----- error ].
self runLocalStepMethodsIn: aWorld.
"The multi-threaded global Transcript needs to be updated periodically and
synchronously with the UI."
On Tue, Oct 13, 2015 at 2:52 PM, Nicolai Hess <nicolaihess at web.de> wrote:
> Hi Lyn
> 2015-10-13 21:36 GMT+02:00 Lyn Headley <laheadle at gmail.com>:
>> I'm running pharo 4 and I'm having a problem. I recently renamed a
>> class using the rename: menu item in the standard system browser (I
>> believe it's called Nautilus) and now I am getting uncaught exceptions
>> whenever I add or remove a method (three debugger windows pop
>> up). Here is the stack trace; any advice?
> The error is from the MessageBrowser, the MessageBrowser registers itself
> for every class change (method added/removed) and tests if this added /
> message should be removed/added to its lists.
> Do you have any MessageBrowser open ?
> - a sendersOf or implementorsOf
> - if so, what search term is used in the browser (see window title)
> I tried to recreate this error but all I could get was a MessageBrowser
> "nil" entries - no exception was thrown.
>> Thank you.
>> Author: LynHeadley
>> Date: 2015-10-13T08:51:16.837987-07:00
>> UndefinedObject(Object)>>doesNotUnderstand: #theMetaClass
>> (item methodClass notNil and: [ item methodClass isObsolete not ])
>> ifTrue: [
>> | sel text boolean |
>> boolean := textModel hasUnacceptedEdits.
>> ifTrue: [ text := textModel pendingText ].
>> sel := listModel selectedItem.
>> (listModel listItems
>> add: item asFullRingDefinition;
>> listModel setSelectedItem: sel.
>> ifTrue: [ textModel pendingText: text ] ] ] in
>> World doOneCycle.
>> Processor yield.
>> false ] whileFalse: [ ] ] in MorphicUIManager>>spawnNewProcess
>> self value.
>> Processor terminateActive ] in BlockClosure>>newProcess
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Pharo-users