Opened 12 years ago
Last modified 7 years ago
#544 new enhancement
Break loops for threads
Reported by: | rongarret | Owned by: | rme |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | IDE | Version: | trunk |
Keywords: | Cc: |
Description
There don't seem to be any. At the moment, if a thread errors, it prints out something like the following message on the altconsole:
;;; ;;; #<PROCESS Show text(33) [Active] #x946A706> requires access to Shared Terminal Input ;;; Type (:y 33) to yield control to this thread. ;;;
But following the instructions doesn't seem to have any effect. There also doesn't seem to be any way to get a backtrace through the Tools->Processes window. RME suggested that when a thread enters a break loop it should be able to get its own terminal-io window, which seems like a fine plan to me. It's unclear whether those windows ought to live in the Lisp app or the altconsole.
Change History (5)
comment:1 Changed 12 years ago by mikel
- Owner set to mikel
- Status changed from new to assigned
comment:2 Changed 10 years ago by rme
- Owner mikel deleted
- Status changed from assigned to new
comment:3 Changed 10 years ago by gb
comment:4 Changed 10 years ago by rme
- Owner set to rme
Comment from Shannon:
"Processes" window needs a way to not just kill, but also interrupt and debug a process via backtrace. cmd-, (comma) does this but only if there's a listener already open on this process. Cmd-. and cmd-, could possibly pop up a dialog asking which process the user wishes to abort or interrupt, like MCL.
comment:5 Changed 7 years ago by p2
I have never managed to progress from this state. Typing :y 7 or (:y 7) seem to do nothing.
It would be useful if some explanation of how the Altconsole error dialog is meant to be conducted. Both to show a backtrace and contect, but also best handle the background problems that throw up such advice as:
Error: bug ..., in process load p2 inits(7).
;;; ;;; #<PROCESS load p2 inits(7) [Active] #x302001877CFD> requires access to Shared Terminal Input ;;; Type (:y 7) to yield control to this thread. ;;;
Note that the BACKGROUND-LISTENER-PROCESS mechanism doesn't solve the problem of how to arbitrate for shared-terminal-io in the IDE, but does provide a way of avoiding the issue.