-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
bugSomething isn't workingSomething isn't working
Description
If the gem has in memory a method breakpoint in an unbound method, Jadeite breakpoint browsers and debuggers will fail with an MNU in RowanQueryService >> methodServicesFrom:.
To reproduce, execute in Jadeite
| method |
method :=
'' _compileInContext: nil
symbolList: GsCurrentSession currentSession symbolList.
method setBreakAtStepPoint: 1.
^ method
then open a debugger or breakpoint browser. The resulting stack is below. The cause appears to be that the breakpoint is in a method whose class is nil, and nil is being sent #thisClass.
To see this failure the server must be recent enough 3.7 to have the fix for bug 49650, which caused an earlier MNU but was fixed a month ago.
A very similar issue in GBS was reported as bug 49682, and subsequently fixed to list the class as "nil."
a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
[1] MessageNotUnderstood >> defaultAction @10 line 7
[2] MessageNotUnderstood (AbstractException) >> _defaultAction @4 line 4
[3] MessageNotUnderstood (AbstractException) >> _signalWith: @5 line 25
[4] MessageNotUnderstood (AbstractException) >> signal @2 line 47
[5] UndefinedObject (Object) >> doesNotUnderstand: @9 line 10
[6] UndefinedObject (Object) >> _doesNotUnderstand:args:envId:reason: @8 line 14
[7] [] in RowanQueryService >> methodServicesFrom: @25 line 6
[8] Array (SequenceableCollection) >> collect: @9 line 16
[9] RowanQueryService >> methodServicesFrom: @4 line 5
[10] RowanQueryService >> basicBreakpointMethods @8 line 6
[11] RowanAnsweringService >> disableAllBreaks @4 line 5
[12] RowanAnsweringService >> setBreakPointsAreEnabled: @4 line 4
[13] RowanAnsweringService (Object) >> perform:withArguments: @1 line 12
[14] RowanAnsweringService (RowanService) >> servicePerform:withArguments: @7 line 14
[15] [] in JadeServer >> updateFromSton: @35 line 13
[16] OrderedCollection (Collection) >> do: @5 line 10
[17] [] in JadeServer >> updateFromSton: @24 line 9
[18] ExecBlock0 (ExecBlock) >> on:do: @3 line 44
[19] [] in JadeServer >> updateFromSton: @12 line 14
[20] ExecBlock0 (ExecBlock) >> on:do: @3 line 44
[21] JadeServer64bit35 (JadeServer) >> updateFromSton: @2 line 23
[22] GsNMethod class >> _gsReturnToC @1 line 11
===============================================
[1] MessageNotUnderstood >> defaultAction @10 line 7
receiver oop(29624321) == a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
instance variables:
-currGsHandler oop(20) == nil
-envId oop(2) == 0
-gsArgs oop(29624577) == anArray( )
-gsDetails oop(20) == nil
-gsNumber oop(16082) == 2010
-gsReason oop(20) == nil
-gsResumable oop(268) == true
-gsStack oop(20) == nil
-gsTrappable oop(268) == true
-messageText oop(29607169) == 'a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #''thisClass'''
-receiver oop(20) == nil
-selector oop(2810625) == #'thisClass'
-tag oop(20) == nil
temporary variables and parameters:
blk oop(20) == nil
res oop(20) == nil
----------------------------------------------------
[2] MessageNotUnderstood (AbstractException) >> _defaultAction @4 line 4
receiver oop(29624321) == a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
instance variables:
-currGsHandler oop(20) == nil
-envId oop(2) == 0
-gsArgs oop(29624577) == anArray( )
-gsDetails oop(20) == nil
-gsNumber oop(16082) == 2010
-gsReason oop(20) == nil
-gsResumable oop(268) == true
-gsStack oop(20) == nil
-gsTrappable oop(268) == true
-messageText oop(29607169) == 'a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #''thisClass'''
-receiver oop(20) == nil
-selector oop(2810625) == #'thisClass'
-tag oop(20) == nil
temporary variables and parameters:
res oop(20) == nil
----------------------------------------------------
[3] MessageNotUnderstood (AbstractException) >> _signalWith: @5 line 25
receiver oop(29624321) == a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
instance variables:
-currGsHandler oop(20) == nil
-envId oop(2) == 0
-gsArgs oop(29624577) == anArray( )
-gsDetails oop(20) == nil
-gsNumber oop(16082) == 2010
-gsReason oop(20) == nil
-gsResumable oop(268) == true
-gsStack oop(20) == nil
-gsTrappable oop(268) == true
-messageText oop(29607169) == 'a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #''thisClass'''
-receiver oop(20) == nil
-selector oop(2810625) == #'thisClass'
-tag oop(20) == nil
temporary variables and parameters:
inCextensionArg oop(20) == nil
res oop(20) == nil
----------------------------------------------------
[4] MessageNotUnderstood (AbstractException) >> signal @2 line 47
receiver oop(29624321) == a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
instance variables:
-currGsHandler oop(20) == nil
-envId oop(2) == 0
-gsArgs oop(29624577) == anArray( )
-gsDetails oop(20) == nil
-gsNumber oop(16082) == 2010
-gsReason oop(20) == nil
-gsResumable oop(268) == true
-gsStack oop(20) == nil
-gsTrappable oop(268) == true
-messageText oop(29607169) == 'a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #''thisClass'''
-receiver oop(20) == nil
-selector oop(2810625) == #'thisClass'
-tag oop(20) == nil
temporary variables and parameters:
----------------------------------------------------
[5] UndefinedObject (Object) >> doesNotUnderstand: @9 line 10
receiver oop(20) == nil
instance variables:
temporary variables and parameters:
aMessageDescriptor oop(28277761) == thisClass
args oop(29624577) == anArray( )
ex oop(29624321) == a MessageNotUnderstood occurred (error 2010), a UndefinedObject does not understand #'thisClass'
sel oop(2810625) == #'thisClass'
----------------------------------------------------
[6] UndefinedObject (Object) >> _doesNotUnderstand:args:envId:reason: @8 line 14
receiver oop(20) == nil
instance variables:
temporary variables and parameters:
anArray oop(29624577) == anArray( )
aSmallInt oop(2) == 0
aSymbol oop(2810625) == #'thisClass'
dnuKind oop(2) == 0
----------------------------------------------------
[7] [] in RowanQueryService >> methodServicesFrom: @25 line 6
receiver oop(29527809) == anExecBlock1
instance variables:
temporary variables and parameters:
gsNMethod oop(29603073) == GsNMethod <nil>>><anonymous>
self oop(29521921) == aRowanQueryService
----------------------------------------------------
[8] Array (SequenceableCollection) >> collect: @9 line 16
receiver oop(29528065) == anArray( GsNMethod <nil>>><anonymous>)
instance variables:
temporary variables and parameters:
aBlock oop(29527809) == anExecBlock1
i oop(10) == 1
mySize oop(10) == 1
result oop(29606401) == anArray( nil)
----------------------------------------------------
[9] RowanQueryService >> methodServicesFrom: @4 line 5
receiver oop(29521921) == aRowanQueryService
instance variables:
-command oop(20) == nil
-commandArgs oop(20) == nil
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-queryResults oop(20) == nil
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
methods oop(29528065) == anArray( GsNMethod <nil>>><anonymous>)
sorted oop(29619457) == aSortedCollection( )
----------------------------------------------------
[10] RowanQueryService >> basicBreakpointMethods @8 line 6
receiver oop(29521921) == aRowanQueryService
instance variables:
-command oop(20) == nil
-commandArgs oop(20) == nil
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-queryResults oop(20) == nil
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
bpArray oop(29632001) == anArray( anArray( 1, nil, nil, 1, GsNMethod <nil>>><anonymous>, false, 0))
bpMethods oop(29528065) == anArray( GsNMethod <nil>>><anonymous>)
----------------------------------------------------
[11] RowanAnsweringService >> disableAllBreaks @4 line 5
receiver oop(28277249) == aRowanAnsweringService
instance variables:
-answer oop(268) == true
-command oop(39287041) == #'setBreakPointsAreEnabled:'
-commandArgs oop(28274177) == anArray( false)
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
methodServices oop(20) == nil
----------------------------------------------------
[12] RowanAnsweringService >> setBreakPointsAreEnabled: @4 line 4
receiver oop(28277249) == aRowanAnsweringService
instance variables:
-answer oop(268) == true
-command oop(39287041) == #'setBreakPointsAreEnabled:'
-commandArgs oop(28274177) == anArray( false)
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
boolean oop(12) == false
----------------------------------------------------
[13] RowanAnsweringService (Object) >> perform:withArguments: @1 line 12
receiver oop(28277249) == aRowanAnsweringService
instance variables:
-answer oop(268) == true
-command oop(39287041) == #'setBreakPointsAreEnabled:'
-commandArgs oop(28274177) == anArray( false)
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
anArray oop(28274177) == anArray( false)
aSelectorSymbol oop(39287041) == #'setBreakPointsAreEnabled:'
----------------------------------------------------
[14] RowanAnsweringService (RowanService) >> servicePerform:withArguments: @7 line 14
receiver oop(28277249) == aRowanAnsweringService
instance variables:
-answer oop(268) == true
-command oop(39287041) == #'setBreakPointsAreEnabled:'
-commandArgs oop(28274177) == anArray( false)
-definition oop(20) == nil
-organizer oop(29619201) == aClassOrganizer
-updates oop(20) == nil
-updateType oop(20) == nil
temporary variables and parameters:
collection oop(28274177) == anArray( false)
symbol oop(39287041) == #'setBreakPointsAreEnabled:'
----------------------------------------------------
[15] [] in JadeServer >> updateFromSton: @35 line 13
receiver oop(28267521) == anExecBlock1
instance variables:
temporary variables and parameters:
organizer oop(29619201) == aClassOrganizer
service oop(28277249) == aRowanAnsweringService
----------------------------------------------------
[16] OrderedCollection (Collection) >> do: @5 line 10
receiver oop(28267265) == anOrderedCollection( aRowanLoggingService, aRowanAnsweringService)
instance variables:
temporary variables and parameters:
aBlock oop(28267521) == anExecBlock1
i oop(18) == 2
----------------------------------------------------
[17] [] in JadeServer >> updateFromSton: @24 line 9
receiver oop(28264193) == anExecBlock0
instance variables:
temporary variables and parameters:
services oop(28267265) == anOrderedCollection( aRowanLoggingService, aRowanAnsweringService)
----------------------------------------------------
[18] ExecBlock0 (ExecBlock) >> on:do: @3 line 44
receiver oop(28264193) == anExecBlock0
instance variables:
temporary variables and parameters:
exceptionSelector oop(29437185) == GsInteractionRequest
fastPath oop(268) == true
handlerBlock oop(28262145) == anExecBlock
----------------------------------------------------
[19] [] in JadeServer >> updateFromSton: @12 line 14
receiver oop(28261121) == anExecBlock0
instance variables:
temporary variables and parameters:
organizer oop(29619201) == aClassOrganizer
resultString oop(20) == nil
self oop(30009345) == aJadeServer64bit35
services oop(28267265) == anOrderedCollection( aRowanLoggingService, aRowanAnsweringService)
stonString oop(29622017) == 'OrderedCollection[RowanLoggingService{#command:#logReceivedServices,#commandArgs:[],#id:0,#groupId:311,#services:OrderedCollection[RowanAnsweringService{#command:#''setBreakPointsAreEnabled:'',#comma...
----------------------------------------------------
[20] ExecBlock0 (ExecBlock) >> on:do: @3 line 44
receiver oop(28261121) == anExecBlock0
instance variables:
temporary variables and parameters:
exceptionSelector oop(130817) == Error
fastPath oop(268) == true
handlerBlock oop(69536769) == anExecBlock1
----------------------------------------------------
[21] JadeServer64bit35 (JadeServer) >> updateFromSton: @2 line 23
receiver oop(30009345) == aJadeServer64bit35
instance variables:
-classList oop(20) == nil
-classOrganizers oop(28257793) == anArray( nil, nil, nil, nil)
-environment oop(2) == 0
-methodCommandResult oop(20) == nil
-methodFilters oop(20) == nil
-methodFilterType oop(20) == nil
-readStream oop(20) == nil
-selectedClass oop(20) == nil
-selections oop(20) == nil
-writeStream oop(20) == nil
temporary variables and parameters:
organizer oop(29619201) == aClassOrganizer
resultString oop(20) == nil
services oop(28267265) == anOrderedCollection( aRowanLoggingService, aRowanAnsweringService)
stonString oop(29622017) == 'OrderedCollection[RowanLoggingService{#command:#logReceivedServices,#commandArgs:[],#id:0,#groupId:311,#services:OrderedCollection[RowanAnsweringService{#command:#''setBreakPointsAreEnabled:'',#comma...
----------------------------------------------------
[22] GsNMethod class >> _gsReturnToC @1 line 11
receiver oop(144897) == GsNMethod
instance variables:
temporary variables and parameters:
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working