GemTalk / Jadeite

IDE for GemStone Smalltalk application development using Rowan code management
MIT License
6 stars 2 forks source link

[3.2.13] error on moving class to package in a different project #980

Closed LisaAlmarode closed 1 year ago

LisaAlmarode commented 1 year ago

Testing menu item Class > Move to Package..., selected package in a different project. Got an unhelpful error "Not found: [] in JadeiteBrowserPresenter>>moveClassToPackageNamed:". The class is not moved, but the destination is dirty.

Possibly we don't support moving classes between projects (can't do it via drag); this should be disallowed if so.

10:55:30 AM, 12/12/2022: Not found: [] in JadeiteBrowserPresenter>>moveClassToPackageNamed:

*----> VM Context <----*
Process: {08940210:size 378 words, suspended frame 08940B31, priority 6, callbacks 1, FP control 80007, thread 00000000}
Active Method: SessionManager>>logError:
IP: 035A7D09 (9)
SP: 089408FC
BP: 089408D0 (417)
ActiveFrame: {089408D4: cf 089408B5, sp 089408EC, bp 089408D0, ip 5, JadeSessionManager(SessionManager)>>logError:}
    receiver: a JadeSessionManager
    arg[0]: a NotFoundError

New Method: VMLibrary>>dump:path:stackDepth:walkbackDepth:
Message Selector: dump:path:stackDepth:walkbackDepth:

*----> Stack Back Trace <----*
{089408D4: cf 089408B5, sp 089408EC, bp 089408D0, ip 5, JadeSessionManager(SessionManager)>>logError:}
    receiver: a JadeSessionManager
    arg[0]: a NotFoundError

{089408B4: cf 08940891, sp 089408C8, bp 089408AC, ip 39, JadeSessionManager>>logError:}
    receiver: a JadeSessionManager
    arg[0]: a NotFoundError
    stack temp[0]: 8'10:55:30 12/12/2022'
    env temp[0]: a FileStream

{08940890: cf 08940871, sp 089408A4, bp 0894088C, ip 3, JadeSessionManager(SessionManager)>>unhandledException:}
    receiver: a JadeSessionManager
    arg[0]: a NotFoundError

{08940870: cf 08940851, sp 08940884, bp 0894086C, ip 3, JadeSessionManager(SessionManager)>>onUnhandledError:}
    receiver: a JadeSessionManager
    arg[0]: a NotFoundError

{08940850: cf 08940835, sp 08940864, bp 08940850, ip 5, NotFoundError(Error)>>defaultAction}
    receiver: a NotFoundError

{08940834: cf 08940801, sp 08940848, bp 0894081C, ip 55, NotFoundError(Exception)>>_propagateFrom:}
    receiver: a NotFoundError
    arg[0]: a ExceptionHandler
    stack temp[0]: nil
    stack temp[1]: a ExceptionHandler
    stack temp[2]: nil
    stack temp[3]: a Process('Main' base 08940000* in SessionManager>>logError: sp=00000000 ip=4 list=0F010010)
    stack temp[4]: nil

{08940800: cf 089407E1, sp 08940814, bp 089407FC, ip 6, NotFoundError(Exception)>>_propagate}
    receiver: a NotFoundError
    stack temp[0]: nil

{089407E0: cf 089407C5, sp 089407F4, bp 089407E0, ip 13, NotFoundError(Exception)>>signal}
    receiver: a NotFoundError

{089407C4: cf 089407A1, sp 089407D8, bp 089407BC, ip 8, NotFoundError(Exception)>>signal:with:}
    receiver: a NotFoundError
    arg[0]: nil
    arg[1]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:

{089407A0: cf 08940781, sp 089407B4, bp 0894079C, ip 5, NotFoundError(Exception)>>signalWith:}
    receiver: a NotFoundError
    arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:

{08940780: cf 08940761, sp 08940794, bp 0894077C, ip 8, SortedCollection(Object)>>errorNotFound:}
    receiver: a SortedCollection
    arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:

{08940760: cf 08940741, sp 08940774, bp 0894075C, ip 12, [] in SortedCollection(Collection)>>detect:}
    receiver: a SortedCollection

{08940740: cf 08940719, sp 08940754, bp 08940734, ip 26, SortedCollection(OrderedCollection)>>detect:ifNone:}
    receiver: a SortedCollection
    arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:
    arg[1]: [] @ 10 in Collection>>detect:
    stack temp[0]: 3

{08940718: cf 089406F9, sp 0894072C, bp 08940714, ip 14, SortedCollection(Collection)>>detect:}
    receiver: a SortedCollection
    arg[0]: [] @ 29 in JadeiteBrowserPresenter>>moveClassToPackageNamed:

{089406F8: cf 089406D5, sp 0894070C, bp 089406F0, ip 35, JadeiteBrowserPresenter>>moveClassToPackageNamed:}
    receiver: a JadeiteBrowserPresenter
    arg[0]: 8'X509-Core'
    stack temp[0]: nil

{089406D4: cf 089406B5, sp 089406E8, bp 089406D0, ip 16, JadeiteBrowserPresenter>>moveClassToPackage}
    receiver: a JadeiteBrowserPresenter
    stack temp[0]: a RowanPackageService

{089406B4: cf 08940695, sp 089406C8, bp 089406B0, ip 4, Symbol>>forwardTo:}
    receiver: moveClassToPackage
    arg[0]: a JadeiteBrowserPresenter

{08940694: cf 08940675, sp 089406A8, bp 08940690, ip 4, CommandDescription>>performAgainst:}
    receiver: a CommandDescription
    arg[0]: a JadeiteBrowserPresenter

{08940674: cf 08940651, sp 08940688, bp 08940674, ip 16, [] in Command>>value}
    receiver: a Command

{08940650: cf 08940631, sp 08940664, bp 0894064C, ip 18, BlockClosure>>ifCurtailed:}
    receiver: [] @ 0 in nil
    arg[0]: [] @ 25 in Command>>value

{08940630: cf 0894060D, sp 08940644, bp 08940628, ip 3, BlockClosure>>ensure:}
    receiver: [] @ 13 in Command>>value
    arg[0]: [] @ 25 in Command>>value
    stack temp[0]: nil

{0894060C: cf 089405ED, sp 08940620, bp 08940608, ip 30, Command>>value}
    receiver: a Command
    stack temp[0]: nil

{089405EC: cf 089405CD, sp 08940600, bp 089405E8, ip 30, ShellView>>performCommand:}
    receiver: a ShellView
    arg[0]: a Command

{089405CC: cf 089405AD, sp 089405E0, bp 089405C8, ip 4, JadeiteBrowser(Shell)>>performCommand:}
    receiver: a JadeiteBrowser
    arg[0]: a Command

{089405AC: cf 08940585, sp 089405C0, bp 089405A0, ip 10, CommandQuery>>perform}
    receiver: a CommandQuery
    stack temp[0]: a Command
    stack temp[1]: nil
    stack temp[2]: a JadeiteBrowser

{08940584: cf 08940561, sp 08940598, bp 0894057C, ip 8, DelegatingCommandPolicy(CommandPolicy)>>route:}
    receiver: a DelegatingCommandPolicy
    arg[0]: a CommandDescription
    stack temp[0]: a CommandQuery

{08940560: cf 08940539, sp 08940574, bp 0894055C, ip 15, [] in ListView(View)>>onCommand:}
    receiver: a ListView

{08940538: cf 08940519, sp 0894054C, bp 08940534, ip 18, BlockClosure>>ifCurtailed:}
    receiver: [] @ 0 in nil
    arg[0]: [] @ 18 in Cursor>>showWhile:

{08940518: cf 089404F5, sp 0894052C, bp 08940510, ip 3, BlockClosure>>ensure:}
    receiver: [] @ 11 in View>>onCommand:
    arg[0]: [] @ 18 in Cursor>>showWhile:
    stack temp[0]: nil

{089404F4: cf 089404CD, sp 08940508, bp 089404E8, ip 27, Cursor>>showWhile:}
    receiver: a Cursor
    arg[0]: [] @ 11 in View>>onCommand:
    stack temp[0]: nil
    stack temp[1]: a ExternalHandle(00010007)

{089404CC: cf 089404A9, sp 089404E0, bp 089404C4, ip 17, ListView(View)>>onCommand:}
    receiver: a ListView
    arg[0]: a CommandDescription
    stack temp[0]: nil

{089404A8: cf 08940475, sp 089404BC, bp 08940490, ip 19, ListView(View)>>wmCommand:wParam:lParam:}
    receiver: a ListView
    arg[0]: 273
    arg[1]: 6564
    arg[2]: 0
    stack temp[0]: 6564
    stack temp[1]: a CommandDescription
    stack temp[2]: nil

{08940474: cf 08940445, sp 08940488, bp 08940460, ip 23, ListView(View)>>dispatchMessage:wParam:lParam:}
    receiver: a ListView
    arg[0]: 273
    arg[1]: 6564
    arg[2]: 0
    stack temp[0]: nil
    stack temp[1]: wmCommand:wParam:lParam:

{08940444: cf 08940411, sp 08940458, bp 08940434, ip 69, [] in InputState>>wndProc:message:wParam:lParam:cookie:}
    receiver: nil

{08940410: cf 089403E9, sp 08940424, bp 0894040C, ip 18, BlockClosure>>ifCurtailed:}
    receiver: [] @ 0 in nil
    arg[0]: [] @ 79 in InputState>>wndProc:message:wParam:lParam:cookie:

{089403E8: cf 089403AD, sp 08940404, bp 089403D0, ip 84, GuiInputState(InputState)>>wndProc:message:wParam:lParam:cookie:}
    receiver: a GuiInputState
    arg[0]: 3151784
    arg[1]: 273
    arg[2]: 6564
    arg[3]: 0
    arg[4]: 818456
    stack temp[0]: a ListView

{089403AC: cf 0894038D, sp 089403C8, bp 089403A8, ip 28, GuiInputState(InputState)>>pumpMessage:}
    receiver: a GuiInputState
    arg[0]: a MSG

{0894038C: cf 08940361, sp 089403A0, bp 0894037C, ip 18, GuiInputState(InputState)>>loopWhile:}
    receiver: a GuiInputState
    arg[0]: [] @ 9 in InputState>>mainLoop
    stack temp[0]: a MSG
    stack temp[1]: true
    stack temp[2]: [] @ 8 in JadeiteBrowserPresenter>>updateMethodSourceColor

{08940360: cf 08940345, sp 08940374, bp 08940360, ip 15, GuiInputState(InputState)>>mainLoop}
    receiver: a GuiInputState

{08940344: cf 08940329, sp 08940358, bp 08940344, ip 14, [] in GuiInputState(InputState)>>forkMain}
    receiver: a GuiInputState

{08940328: cf 0894030D, sp 0894033C, bp 08940328, ip 13, ExceptionHandler(ExceptionHandlerAbstract)>>markAndTry}
    receiver: a ExceptionHandler

{0894030C: cf 089402E5, sp 08940320, bp 08940308, ip 22, [] in ExceptionHandler(ExceptionHandlerAbstract)>>try:}
    receiver: a ExceptionHandler

{089402E4: cf 089402C5, sp 089402F8, bp 089402E0, ip 18, BlockClosure>>ifCurtailed:}
    receiver: [] @ 0 in nil
    arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:

{089402C4: cf 089402A1, sp 089402D8, bp 089402BC, ip 3, BlockClosure>>ensure:}
    receiver: [] @ 17 in ExceptionHandlerAbstract>>try:
    arg[0]: [] @ 39 in ExceptionHandlerAbstract>>try:
    stack temp[0]: nil

{089402A0: cf 08940279, sp 089402B4, bp 08940294, ip 44, ExceptionHandler(ExceptionHandlerAbstract)>>try:}
    receiver: a ExceptionHandler
    arg[0]: [] @ 10 in InputState>>forkMain
    stack temp[0]: nil
    stack temp[1]: a Process('Main' base 08940000* in SessionManager>>logError: sp=00000000 ip=4 list=0F010010)
    env temp[0]: nil

{08940278: cf 08940255, sp 0894028C, bp 08940270, ip 7, BlockClosure>>on:do:}
    receiver: [] @ 10 in InputState>>forkMain
    arg[0]: ProcessTermination
    arg[1]: [] @ 13 in BlockClosure>>newProcess:

{08940254: cf 00000001, sp 08940268, bp 08940254, ip 17, [] in BlockClosure>>newProcess:}
    receiver: [] @ 10 in InputState>>forkMain

<Bottom of stack>
ericwinger commented 1 year ago

The problem was not the move, but rather the selection of the package after the move. That should be fixed and also now update the source package & project after the move. Dirty state wasn't getting updated.