Manuscript (Case [Issue]22085) Debugging - Infinite debugger

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Manuscript (Case [Issue]22085) Debugging - Infinite debugger

Pharo Issue Tracker
Manuscript Notification
avatar
Guillermo Polito edited Case 22085: Infinite debugger:
Bug in Project:  Debugging: 1. Pharo Image  •  You are subscribed to this case
There is more to it actually. Because this only loops because there is a "magical" duplication of the UI process in here:

```
debugProcess: process context: context label: title fullView: bool notification: notificationString
"Open a notifier in response to an error, halt, or notify. A notifier view
just shows a short view of the sender stack and provides a menu that
lets the user open a full debugger."

| debugSession |

debugSession := process newDebugSessionNamed: title startedAt: context.

debugSession logStackToFileIfNeeded.
debugSession isAboutUIProcess ifTrue: [
DefaultExecutionEnvironment beActiveDuring: [self spawnNewProcess]].

self defer: [
"schedule debugger in deferred UI message to address
redraw problems after opening a debugger e.g. from
the testrunner."
[ Smalltalk tools debugger
openOn: debugSession withFullView: bool andNotification: notificationString.
] on: Error do: [ :ex | debugSession signalDebuggerError: ex]
].

process suspend.
```

If an error happens what usually happens is that that error process is suspended and a debugger is open on that process. However, if the error happens in the UI thread, we cannot naively suspend the UI thread because then we would have UI no more :). So then, what happens is that it detects if a process it the UI process and if it is,
- it will first create a new UI process
- then suspend and debug the original process from this new process
Priority Priority: 5 – Fix If Time Status Status: Work Needed
Assigned To Assigned to: Guillermo Polito Milestone Milestone: Later

Go to Case
No longer need updates? Unsubscribe from this case.

Don't want Manuscript notifications anymore? Update your preferences.

Manuscript

_______________________________________________
Pharo-bugtracker mailing list
[hidden email]
https://lists.gforge.inria.fr/mailman/listinfo/pharo-bugtracker