|
Re: [Sbcl-help] [fricas-devel] Re: interrupt in sbcl
From: Martin Rubey <martin.rubey@un...> - 2008-01-20 13:30
|
"Nikodemus Siivola" <nikodemus@...> writes:
> On 20 Jan 2008 10:21:49 +0100, Martin Rubey <martin.rubey@...> wrote:
>
> > )se br query
> > for i in 1..100000 repeat i^2; "hi"
> >
> > doesn't allow you to abort the computation other than quitting axiom. Without
> > the *debugger-hook* below one can do this by typing TOP, although this throws
> > another error:
> >
> > attempt to THROW to a tag that does not exist: SB-INT:TOPLEVEL-CATCHER
> >
>
> This is interesting. When in the debugger for this error, please type
>
> ba
>
> an the terminal to obtain a backtrace. I should like to see it -- something
> moderately odd is going on it TOPLEVEL-CATCHER catch tag isn't there.
Here you go. I hope it's useful, even if it looks cryptic to me...
Martin
martin@...:~$ cd ax-build/target/i686-pc-linux/
martin@...$ export AXIOM=$(pwd)
martin@...$ bin/axiom
Checking for foreign routines
AXIOM="/home/martin/ax-build/target/i686-pc-linux"
spad-lib="/home/martin/ax-build/target/i686-pc-linux/lib/libspad.so"
sock-fasl="/home/martin/ax-build/target/i686-pc-linux/autoload/ffi-func.fasl"
foreign routines found
openServer result 0
FriCAS (AXIOM fork) Computer Algebra System
Version: FriCAS 2008-01-18
Timestamp: Saturday January 19, 2008 at 16:03:25
-----------------------------------------------------------------------------
Issue )copyright to view copyright notices.
Issue )summary for a summary of useful system commands.
Issue )quit to leave FriCAS and return to shell.
-----------------------------------------------------------------------------
"Hi, running |spad|" (1) ->
(1) -> for i in 1..100000 repeat i^2; "hi"
Loading
/home/martin/ax-build/target/i686-pc-linux/algebra/MONOID-.fasl
for domain Monoid&
Loading
/home/martin/ax-build/target/i686-pc-linux/algebra/ORDSET-.fasl
for domain OrderedSet&
Loading
/home/martin/ax-build/target/i686-pc-linux/algebra/SGROUP-.fasl
for domain SemiGroup&
Condition: Interactive interrupt at #x9A84ADF.
me: #<FUNCTION {912949D}>
>> System error:
Interactive interrupt at #x9A84ADF.
(1) -> )se br br
(1) -> for i in 1..100000 repeat i^2; "hi"
Condition: Interactive interrupt at #x965CE44.
me: #<FUNCTION {912949D}>
Finished: Interactive interrupt at #x965CE44.
me: #<FUNCTION {912949D}>
debugger invoked on a SB-SYS:INTERACTIVE-INTERRUPT in thread #<THREAD "initial thread" {B8DFB51}>:
Interactive interrupt at #x965CE44.
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Return from SB-UNIX:SIGINT.
(SB-THREAD:INTERRUPT-THREAD
#<SB-THREAD:THREAD "initial thread" {B8DFB51}>
#<CLOSURE (FLET SB-UNIX::INTERRUPT-IT) {C0B7315}>)
0] top
"Hi, I'm in spad-system-error-handler"
"Hi, I'm in spad-system-error-handler" Condition: attempt to THROW to a tag that does not exist: SB-INT:TOPLEVEL-CATCHER
me: #<FUNCTION {912949D}>
Finished: attempt to THROW to a tag that does not exist: SB-INT:TOPLEVEL-CATCHER
me: #<FUNCTION {912949D}>
debugger invoked on a SB-INT:SIMPLE-CONTROL-ERROR in thread #<THREAD "initial thread" {B8DFB51}>:
attempt to THROW to a tag that does not exist: SB-INT:TOPLEVEL-CATCHER
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT ] Reduce debugger level (to debug level 1).
1: [CONTINUE] Return from SB-UNIX:SIGINT.
("no debug information for frame")
0[2] ba
0: ("no debug information for frame")
1: (SB-DEBUG::DEBUG-LOOP-FUN)
2: (SB-DEBUG::DEBUG-LOOP-FUN)
3: (SB-DEBUG:INTERNAL-DEBUG)
4: (SB-DEBUG::%INVOKE-DEBUGGER #<SB-SYS:INTERACTIVE-INTERRUPT {C0B75C9}>)
5: ((LAMBDA ()))
6: (SB-IMPL::CALL-WITH-SANE-IO-SYNTAX #<CLOSURE (LAMBDA #) {C0B9BBD}>)
7: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (LAMBDA #) {C0B9B9D}>)
8: (INVOKE-DEBUGGER #<SB-SYS:INTERACTIVE-INTERRUPT {C0B75C9}>)
9: (INVOKE-DEBUGGER #<SB-SYS:INTERACTIVE-INTERRUPT {C0B75C9}>)
10: (SB-INT:%BREAK
SB-UNIX:SIGINT
SB-SYS:INTERACTIVE-INTERRUPT
:CONTEXT
#<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #XB79DA49C :TYPE (*
(SB-ALIEN:STRUCT
SB-VM::OS-CONTEXT-T-STRUCT))>
:ADDRESS
157666884)
11: (SB-THREAD:INTERRUPT-THREAD
#<SB-THREAD:THREAD "initial thread" {B8DFB51}>
#<CLOSURE (FLET SB-UNIX::INTERRUPT-IT) {C0B7315}>)
12: ((FLET #:WITHOUT-INTERRUPTS-BODY-3))
13: (SB-SYS:INVOKE-INTERRUPTION #<CLOSURE (LAMBDA #) {C0B7305}>)
14: ("foreign function: #x806374C")
15: ("foreign function: #x8051D22")
16: ("foreign function: #x8055F6A")
17: (KEYWORDP #<unavailable argument>)
18: (SB-KERNEL:SPECIFIER-TYPE |i|)
19: (SB-INT:ABOUT-TO-MODIFY-SYMBOL-VALUE |i|)
20: (SET |i| 6240)
21: (SB-EVAL::EVAL-SETQ (|i| (QSADD1 |i|)) #<SB-EVAL::ENV {C2D36E9}>)
22: (SB-EVAL::EVAL-TAGBODY
((SPADLET |i| 1) G190 (COND ((QSGREATERP |i| 100000) (GO G191)))
(SEQ (EXIT (SPADCALL |i| 2 '(# . #)))) (SETQ |i| (QSADD1 |i|)) (GO G190)
G191 (RETURN-FROM SEQ (EXIT NIL)))
#<SB-EVAL::ENV {C2D3639}>)
23: (SB-EVAL::EVAL-BLOCK
(SEQ
(TAGBODY
(SPADLET |i| 1)
G190
(COND ((QSGREATERP |i| 100000) (GO G191)))
(SEQ (EXIT (SPADCALL |i| 2 '#)))
(SETQ |i| (QSADD1 |i|))
(GO G190)
G191
(RETURN-FROM SEQ (EXIT NIL))))
#<SB-EVAL::ENV {C2D30C9}>)
24: (SB-EVAL::EVAL-LET
(((#:G14877 (REPEAT (STEP |i| 1 1 100000) (SPADCALL |i| 2 '#))))
(IF #:G14877 #:G14877 (OR (|voidValue|))))
#<SB-EVAL::ENV {C2D30C9}>)
25: (SB-EVAL:EVAL-IN-NATIVE-ENVIRONMENT
(OR
(REPEAT (STEP |i| 1 1 100000)
(SPADCALL |i| 2 '(# . #(# # NIL 0 # NIL # # # # # # ...))))
(|voidValue|))
#<NULL-LEXENV>)
26: (|timedEVALFUN|
(OR
(REPEAT (STEP |i| 1 1 100000)
(SPADCALL |i| 2 '(# . #(# # NIL 0 # NIL # # # # # # ...))))
(|voidValue|)))
27: (|evalREPEAT|
#(REPEAT NIL NIL NIL NIL)
((STEP
|i|
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 100000)
((|PositiveInteger|)) NIL))
(#(^ NIL ((|PositiveInteger|) SPADCALL |i| 2 '(# . #))
((|PositiveInteger|)) NIL)
#(|i| (|PositiveInteger|) ((|PositiveInteger|) . |i|)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 1) (|callingFunction| . ^)))
#(|--immediateData--| NIL ((|PositiveInteger|) . 2)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 2) (|callingFunction| . ^)))))
(|Void|))
28: (|upREPEAT1|
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 100000)
((|PositiveInteger|)) NIL))
(#(^ NIL ((|PositiveInteger|) SPADCALL |i| 2 '(# . #))
((|PositiveInteger|)) NIL)
#(|i| (|PositiveInteger|) ((|PositiveInteger|) . |i|)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 1) (|callingFunction| . ^)))
#(|--immediateData--| NIL ((|PositiveInteger|) . 2)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 2) (|callingFunction| . ^))))))
29: (|upREPEAT0|
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 100000)
((|PositiveInteger|)) NIL))
(#(^ NIL ((|PositiveInteger|) SPADCALL |i| 2 '(# . #))
((|PositiveInteger|)) NIL)
#(|i| (|PositiveInteger|) ((|PositiveInteger|) . |i|)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 1) (|callingFunction| . ^)))
#(|--immediateData--| NIL ((|PositiveInteger|) . 2)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 2) (|callingFunction| . ^))))))
30: (|upREPEAT|
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 100000)
((|PositiveInteger|)) NIL))
(#(^ NIL ((|PositiveInteger|) SPADCALL |i| 2 '(# . #))
((|PositiveInteger|)) NIL)
#(|i| (|PositiveInteger|) ((|PositiveInteger|) . |i|)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 1) (|callingFunction| . ^)))
#(|--immediateData--| NIL ((|PositiveInteger|) . 2)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 2) (|callingFunction| . ^))))))
31: (|bottomUp|
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 1)
((|PositiveInteger|)) NIL)
#(|--immediateData--| NIL ((|PositiveInteger|) . 100000)
((|PositiveInteger|)) NIL))
(#(^ NIL ((|PositiveInteger|) SPADCALL |i| 2 '(# . #))
((|PositiveInteger|)) NIL)
#(|i| (|PositiveInteger|) ((|PositiveInteger|) . |i|)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 1) (|callingFunction| . ^)))
#(|--immediateData--| NIL ((|PositiveInteger|) . 2)
((|PositiveInteger|))
((|totalArgs| . 2) (|argumentNumber| . 2) (|callingFunction| . ^))))))
32: (|upSEQ|
(#(SEQ NIL NIL NIL NIL)
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL (# . 1) (#) NIL)
#(|--immediateData--| NIL (# . 1) (#) NIL)
#(|--immediateData--| NIL (# . 100000) (#) NIL))
(#(^ NIL (# SPADCALL |i| 2 '#) (#) NIL)
#(|i| (|PositiveInteger|) (# . |i|) (#) (# # #))
#(|--immediateData--| NIL (# . 2) (#) (# # #))))
#(|--immediateData--| NIL ((|String|) . "hi") NIL NIL)))
33: (|bottomUp|
(#(SEQ NIL NIL NIL NIL)
(#(REPEAT NIL NIL NIL NIL)
(STEP
|i|
#(|--immediateData--| NIL (# . 1) (#) NIL)
#(|--immediateData--| NIL (# . 1) (#) NIL)
#(|--immediateData--| NIL (# . 100000) (#) NIL))
(#(^ NIL (# SPADCALL |i| 2 '#) (#) NIL)
#(|i| (|PositiveInteger|) (# . |i|) (#) (# # #))
#(|--immediateData--| NIL (# . 2) (#) (# # #))))
#(|--immediateData--| NIL ((|String|) . "hi") NIL NIL)))
34: (|interpret1|
(SEQ (REPEAT (STEP |i| 1 1 100000) (^ |i| 2)) "hi")
NIL
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi"))))
35: (|interpret|)
36: (|interpretTopLevel|
(SEQ (REPEAT (STEP |i| 1 1 100000) (^ |i| 2)) "hi")
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi"))))
37: (|processInteractive1|
(SEQ (REPEAT (STEP |i| 1 1 100000) (^ |i| 2)) "hi")
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi"))))
38: (|processInteractive|
(SEQ (REPEAT (STEP |i| 1 1 100000) (^ |i| 2)) "hi")
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi"))))
39: (|phInterpret|
((|carrier| (|ok?| . T)
(|ptreePremacro| |Sequence| (|listOf| (|Loop| #) (# . "hi")))
(|ptree| |Sequence| (|listOf| (|Loop| #) (# . "hi")))
(|lines| ((# . 1) . "for i in 1..100000 repeat i^2; \"hi\""))
(|messages|) (|stepNumber| . 1))))
40: (|ncConversationPhase|
#<FUNCTION |phInterpret|>
(((|carrier| (|ok?| . T) (|ptreePremacro| |Sequence| (|listOf| # #))
(|ptree| |Sequence| (|listOf| # #))
(|lines| (# . "for i in 1..100000 repeat i^2; \"hi\"")) (|messages|)
(|stepNumber| . 1)))))
41: (|intloopSpadProcess,interp|
((|carrier| (|ok?| . T)
(|ptreePremacro| |Sequence| (|listOf| (|Loop| #) (# . "hi")))
(|ptree| |Sequence| (|listOf| (|Loop| #) (# . "hi")))
(|lines| ((# . 1) . "for i in 1..100000 repeat i^2; \"hi\""))
(|messages|) (|stepNumber| . 1)))
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi")))
T)
42: (|intloopSpadProcess|
1
((((0 "for i in 1..100000 repeat i^2; \"hi\"" 1 1 "strings") . 1)
. "for i in 1..100000 repeat i^2; \"hi\""))
(|Sequence|
(|listOf| (|Loop| (|listOf| (|Forin| # #) (|Do| #)))
((|string| (|posn| # . 31)) . "hi")))
T)
43: (|intloopProcess|
1
T
(((((# . 1) . "for i in 1..100000 repeat i^2; \"hi\""))
(|Sequence| (|listOf| (|Loop| #) (# . "hi"))))
|nonnullstream| #<FUNCTION |incAppend1|> NIL
(|nonnullstream| # #
(|nonnullstream| # NIL (|nonnullstream| # # (|nullstream|))))))
44: (|intloopReadConsole| "" 1)
45: (|SpadInterpretStream| 1 (TIM DALY ?) T)
46: (|intloop|)
47: (|ncIntLoop|)
48: (|ncTopLevel|)
49: (|runspad|)
50: (|spad|)
51: (AXIOM-RESTART)
52: ((LAMBDA ()))
53: ((LABELS SB-IMPL::RESTART-LISP))
0[2]
|
| Thread | Author | Date | |
|---|---|---|---|
| Re: [Sbcl-help] [fricas-devel] Re: interrupt in sbcl | Martin Rubey <martin.rubey@un...> |
|
|
|
|
|
|