Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disappearing debugger window when clicking proceed #210

Open
tukanos opened this issue Feb 6, 2025 · 8 comments
Open

Disappearing debugger window when clicking proceed #210

tukanos opened this issue Feb 6, 2025 · 8 comments
Assignees
Labels
NeedsReview Bug needs review or a reproduction case

Comments

@tukanos
Copy link

tukanos commented Feb 6, 2025

Hi @ericwinger ,

I encountered this issue when trying to debug the loading of the test for package I have been trying to rowanize.

I have set a break point and sometimes the debugger window disappears and does not come back at all when clicking proceed. Sometimes it does come back at the break point, one or two times and then it disappears again without reappearing.

Here is situation's screencast:

Screencast.From.2025-02-06.17-02-00.mp4
@ericwinger
Copy link
Member

Hi @tukanos, I wasn't able to reproduce. I got "unlimited" debuggers breaking in the method where you put the breakpoint.

Do you have a reproduction case not involving the JfP tools or Rowan? Might be easier for me to reproduce.

I would also like to see a screen grab of the Process Browser after the debugger disappears and doesn't come back. If possible, please attach files of any pharo stacks that look like they involve RSR, JfP or GemStone code.

Another thought. It's possible something in the state of the image isn't right when this happens. Might be interesting to know if there were any errors prior to this bug happening. Or, does it reproduce after a fresh connect?

@tukanos
Copy link
Author

tukanos commented Feb 7, 2025

Hi @ericwinger ,

I can reproduce it nearly every time. I tried a few things but I could not find any pattern.

I managed to get to the UndefinedObject (which was my goal) one time using proceed. The second time I got a second debugger window from a RsrBrokenPromise occurred while performing Proceed.

Do you have a reproduction case not involving the JfP tools or Rowan? Might be easier for me to reproduce.
Unfortunately, I don't have other example yet. I think the issue maybe the breakpoint during loading process when the package is partially loaded.

I'll try my best to help you reproduce it. I have manged to create screencast fresh from the login. I also managed to get the stack dumps from the time the second debugger window appeared. The first file name has xxxxx instead of what I presume s objectId, because I copied it into clipboard and forgot dump it to the file so this was created manually by me.

Here are the stack dumps:

StackDumps.zip

Here is a screencast with process browser stacks included (the package state is Dirty on disk Dirty in image Skew in Sha when I check it in browser, pressing abort button correctly aborts it ):

Debugger_failing_workflow.webm

@ericwinger
Copy link
Member

Hi @tukanos,

In each of the stack dumps, I consistently see an MNU with fullBounds being generated on the client. I recently made a change in the manner debuggers are opened on the client. I'm curious if you are using that code change or the old code. Can you show me the git commit ids you're using to reproduce this?

Can't remember if you know how to get the commit ids or not, so here's how just in case:

  • Connect
  • Jadeite Connection Launcher>About>Git Commit Ids
  • Copy the contents of that workspace

Should see 4 projects if you get the commit ids while logged in. Thanks.

JadeiteForPharo e631fe8
PharoGemStoneFFI 78f7581
RemoteServiceReplication 57e3967
---------------------------------------------
RowanClientServices e816503

@ericwinger ericwinger self-assigned this Feb 7, 2025
@ericwinger ericwinger added the NeedsReview Bug needs review or a reproduction case label Feb 7, 2025
@tukanos
Copy link
Author

tukanos commented Feb 10, 2025

Hi @ericwinger ,

I'm on the same commits except for RemoteServiceReplication where I'm little bit further than you (probably during some ticket testing I have moved it to there). Should I change it to your commit or is it ok?

JadeiteForPharo e631fe8
PharoGemStoneFFI 78f7581
RemoteServiceReplication 07b5126
---------------------------------------------
RowanClientServices e816503

@ericwinger
Copy link
Member

Good to know @tukanos . You have the latest on main in JfP. I'll keep digging.

In the meantime, one experiment you could do is revert back my recent changes to RowanProcessServiceClient>>#openDebugger

Change

UIManager default defer: [ debugger open ].
WorldMorph doOneCycle. "make sure tests get a gui cycle"

to

debugger open

Then let me know if there is any change in behavior in your image.

@tukanos
Copy link
Author

tukanos commented Feb 11, 2025

Then let me know if there is any change in behavior in your image.

I have tried the change you have asked for and the difference is that I get the RsrBrokenPromise exception in multiple debugger windows (I had to kill whole Pharo to stop the gazillion debugger windows start appearing) right after MessageNotUnderstood error in a debugger window. I did not have to wait until stepX for it to appear. It is impossible to debug it further as the RsrBrokenPromise debugger windows appear.

2025-02-11_543206_rowanServerStackDump.txt

2025-02-11_547974_rowanServerStackDump.txt

Here is the screenshot of the debugger windows flood:

Image

@ericwinger
Copy link
Member

Shoot. Was hoping that I could give you a quick test to try, but I obviously didn't request the right change. I'll dig around some more as I find time.

@tukanos
Copy link
Author

tukanos commented Feb 12, 2025

Shoot. Was hoping that I could give you a quick test to try, but I obviously didn't request the right change. I'll dig around some more as I find time.

No worries, I was quite surprised to be under debugger window attack :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NeedsReview Bug needs review or a reproduction case
Projects
None yet
Development

No branches or pull requests

2 participants