Hello, We have implemented a "patch" for Pharo 7, that is already integrated. I have created a slice to backport the "patch" to Pharo6. Basically, the previous situation is the following: - In the normal execution everything works, the problem is during the execution of over. - To implement over the debugger uses Context >> runUntilErrorOrReturnFrom: - This method adds a new context to handle exceptions in the stack trace. It takes the receiver and replaces the sender of the context with a new context handling the exceptions. - This error handling (using on:do:) handles UnhandledError and Halt. - When the MNU error gots to the nil context a UnhandledError is signal from the last signalling context of the MNU error. - This solution works correctly when it is not debugged when running a test. When we are running a tests there is a slight difference: - There is one more on:do: context that catches all the Errors. This on:do just do something and pass the exception. - As the UnhandledError is signal from the last signalling context (the one with the pass) it is not passing in the context inserted by runUntilErrorOrReturnFrom:, generating an infinite debugger as the exception is never catch. - This only happens with the MNU, as it retries to send the same message every time. I think the solution is to signal the UnhandledError always from the original signalling context. However, I am not sure to perform that change as it modifies the behaviour of exceptions and there are not proper tests to guarantee the expected behavior. I hope the problem is well explained, if it is not please ask me to clarify any point. Cheers, On Mon, Aug 6, 2018 at 9:59 AM Guillermo Polito <[hidden email]> wrote:
Pablo Tesone.
[hidden email] |
This is a good writeup - however I get infinite debuggers when not running tests too? So I’m wondering if there are multiple problems - or if this hints at a wider issue?
Its not all of the time - but when you get it it, it seems to happen over and over again. Its possible its when using step-over though - so I will keep an eye on that. Tim
|
Also, we have found that once the problem starts the image will present bad behavior from that on. Sometimes it can be fixed by restarting the UIProcess, but it is a brute force process. You have to do it many times. It is true that we cannot assert that the bug is not in other places. On Tue, Aug 7, 2018 at 11:14 AM Tim Mackinnon <[hidden email]> wrote:
Pablo Tesone.
[hidden email] |
In reply to this post by Tim Mackinnon
Hi Tim,
Just in the event you didn't know there is an option in the World menu to close all the open debuggers. Its in the "Windows" section, about half way down. Paul Tim Mackinnon wrote > ... > > On the plus side - its rare that you crash you image and then have to > recover changes - but its just annoying when it gets in the way of > debugging. ITs not just all the windows, its also the fact that none of > the debugger windows actually puts you in a useful stack where you can see > the problem - they are all stuck on DNU with a single line stack. > > Tim > > ... -- Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html |
Thanks Paul - I’d forgotten about that option (been using the close all to right option).
It’s just jarring - but worse is that none of the debuggers (even the first one) having anything useful in them... other than the error msg in the title. So you have to start all over again. Still, it sounds like we are honing in on something. Tim Sent from my iPhone > On 7 Aug 2018, at 19:38, Paul DeBruicker <[hidden email]> wrote: > > Hi Tim, > > Just in the event you didn't know there is an option in the World menu to > close all the open debuggers. > > Its in the "Windows" section, about half way down. > > > Paul > > > > Tim Mackinnon wrote >> ... >> >> On the plus side - its rare that you crash you image and then have to >> recover changes - but its just annoying when it gets in the way of >> debugging. ITs not just all the windows, its also the fact that none of >> the debugger windows actually puts you in a useful stack where you can see >> the problem - they are all stuck on DNU with a single line stack. >> >> Tim >> >> ... > > > > > > -- > Sent from: http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.html > |
In reply to this post by Guillermo Polito
2018-06-29 15:48 GMT+01:00 Guillermo Polito <[hidden email]>:
|
2018-08-07 22:01 GMT+01:00 Denis Kudriashov <[hidden email]>:
|
Yes, we have to check all the scenarios. The problems with the UI process is not resolved at all. On Tue, Aug 7, 2018 at 11:11 PM Denis Kudriashov <[hidden email]> wrote:
Pablo Tesone.
[hidden email] |
Free forum by Nabble | Edit this page |