GemTalk / JadeiteForPharo

IDE for GemStone Smalltalk application development in Pharo using Rowan code management
MIT License
0 stars 0 forks source link

Jadeite locked up reading an RSR socket #112

Closed dalehenrich closed 4 weeks ago

dalehenrich commented 4 months ago

Here's a picture of the process browser with the RSR socket waiting on Read: image Notice that I had selected multiple categories and that is when the lockup appeared to happen ... and no methods were displayed ...

I selected all of the categories, because I wasn't able to see all of the methods in the selected class ... so Jadeite may have frozen at that moment ... hard to say ...

Pharo itself is clearly functional .... I'm keeping that Pharo instance around for further debugging if needed ...

commitids (using a different JfP instance):

JadeiteForPharo 712a985
PharoGemStoneFFI 3575de4
RemoteServiceReplication 371ae8e
ericwinger commented 4 months ago

In the process browser, see 4 #basicIssueCommands:...

refreshCategoryListWithSelection: ... refreshMethodsOn: ... #updateService

JadeiteConnectionLauncher>>#openCommitIdWindow JadeiteBrowserPresetner>>classSelected: ... #refreshClass: JadeiteBrowserPresenter>>updatePackage

Looks like we were creating a new commandSemaphore in #basicIssueCommand:session:onCompletion: incorrectly. Should reuse the same semaphore. Need to try initializing the commandSemaphore in the RowanUpdater>>initialize method.

Think this wasn't noticed before because Dale is working on a slow windows client with a remote server. That exposed some timing bugs.

dalehenrich commented 4 months ago

Screenshot from 2024-05-20 14-06-06

ericwinger commented 3 months ago

This may be related to, or a symptom of, https://github.com/GemTalk/RemoteServiceReplication/issues/148

ericwinger commented 4 weeks ago

Closing as I believe it's fixed with a redesign of how commands are serviced. RSR bug fixed. Needs final review.