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

Click on a color frame in color stack dump the stack #6690

Closed
Alisu opened this issue Jun 26, 2020 · 7 comments
Closed

Click on a color frame in color stack dump the stack #6690

Alisu opened this issue Jun 26, 2020 · 7 comments

Comments

@Alisu
Copy link
Contributor

Alisu commented Jun 26, 2020

Describe the bug
Click on a color frame in color stack dump the stack

To Reproduce
Steps to reproduce the behavior:

  1. In settings chose the option to color the stack in the debugger
  2. Make a debugger open
  3. Click on a color stack frame
  4. All frames with other colors disappear

Expected behavior
I understand that you want to see all the frames in one color but i want to get back the others afterward.

Version information:

  • OS: [OSX Mojave]
  • Pharo 9
@dupriezt
Copy link
Contributor

dupriezt commented Jun 26, 2020

I did not manage to reproduce the bug.

Here is what I did:
I checked this setting
image
Then executed a self halt in a playground.
A debugger opened like this:
image
I clicked on the stack frame of the halt method like this:
image
But I did not see other frames disappear.

Pharo 9 - Ubuntu

@Alisu
Copy link
Contributor Author

Alisu commented Jun 26, 2020

OK, i have it with the bug at #6403
Capture d’écran 2020-06-26 à 11 53 41
then click on do: and empty stack
Capture d’écran 2020-06-26 à 11 55 54

@dupriezt
Copy link
Contributor

dupriezt commented Jun 26, 2020

Ok, I managed to reproduce it in that case.
So the steps to reproduce are:

  • Set the "Color the stack" setting to true
  • open a spotter
  • type any letter
  • ctrl/command + b (to browse classes)
  • type any letter
  • you get a DNU "Instance of ByteString did not understand #cull:"
  • click the spotter window and close it with escape if it is still open
  • in the debugger window, click on any stack frame
    -> all the stack frame bu the first one (doesNotUnderstand:) disapear

[Edit]
I noticed that the problem does not appear (stack frames do not disappear in the debugger) for as long as the spotter window stays open.
When the "color the stack" setting is false, the problem does not appear even if the spotter window has been closed.

@dupriezt
Copy link
Contributor

Hm. I said I didn't have the problem when the "color the stack" setting was false, but now I think it does not matter.
Sometimes, the stack still shows up in the debugger, but clicking on a stack frame does not inspect it.

I think the problem is that the spotter throws an exception, the debugger opens on it (and on the process in which the spotter was running), the spotter window gets closed, which triggers the termination of the corresponding process, which destroys the stack, which prevents the debugger from working normally.
And sometimes, the UI of the debugger will update to show the now empty stack, and other times it will not, but will still not let you inspect the stack frames it displays because it cannot access them anymore.

Tldr: it looks like the issue is that when the spotter window closes, it terminates the process in which it was running, even if that process was being debugged. And the debugger cannot work properly on a terminated process.

@StevenCostiou
Copy link
Collaborator

Any news on that issue @dupriezt @Alisu ?

@dupriezt
Copy link
Contributor

I can't reproduce it in Pharo 9. Probably because the main debugger is the spec one now.

@StevenCostiou
Copy link
Collaborator

Ok thanks Thomas, I close it, reopen if it reproduces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants