login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for #16 Serious One Line Crashing Axiom revision 4 of 4

1 2 3 4
Editor: gdr
Time: 2008/05/17 21:23:00 GMT-7
Note:

added:

From gdr Sat May 17 21:23:00 -0700 2008
From: gdr
Date: Sat, 17 May 2008 21:23:00 -0700
Subject: 
Message-ID: <20080517212300-0700@axiom-wiki.newsynthesis.org>

Status: open => fixed somewhere 

Fixed in OpenAxiom

Submitted by : (unknown) at: 2007-11-17T22:01:46-08:00 (16 years ago)
Name :
Axiom Version :
Category : Severity : Status :
Optional subject :  
Optional comment :

******Warning: Please save your Axiom session before trying this!

  AXIOM Computer Algebra System

  Version of Tuesday November 30, 2004 at 21:11:14

\begin{axiom}

)version

\end{axiom}

\begin{axiom}

typeOf(1)

typeOf(1)::OutputForm

print(typeOf(1)::OutputForm)

\end{axiom}


********** CRASH *************

 This happens on both Windows (above) and Fedora FC2 (October 25, 2004).
But NOT on NAG version::

 ***** Error stack overflow

 and NAG version did not crash, but still possibly a bug.


------------------------------------------------------------


NAG version example --Mon, 17 Jan 2005 21:15:11 -0600

Here is the lisp info on NAG version:

Starts dribbling to crash.out (Sat Oct 23 09:27:10 2004)

G82322 (65) -> print(typeOf(1)::OutputForm)

 Function Selection for print
      Arguments: OUTFORM 
 
 [1]  signature:   OUTFORM -> VOID
      implemented: slot (Void)$ from OUTFORM
 

+++ Error stack overflow: 

+++ Error stack overflow: 
 
Break loop (:? for help)> :?
:Q   disables backtrace
:V   enables backtrace
:X   exits from break loop
else enter LISP expressions for evaluation
Break loop (:? for help)> :V
Backtrace now enabled
Break loop (:? for help)> (si bt 1)

 

Break loop (:? for help)> :X
=> NIL
Break loop (:? for help)> :X
Arg1: NIL
Calling: BREAK
Inside: |handleLispBreakLoop|
Arg1: |break|
Calling: BRIGHTPRINT-0
Inside: SAYBRIGHTLY1
Arg1: " "
Arg2: #F[... 00000000 0808dd54 0808e008 00000050 00000000 0808e21c 080970a0
00000400]
Calling: |sayBrightly|
Inside: |handleLispBreakLoop|
Arg1: |break|
Calling: |member|
Inside: |outputTran|
Inside: |outputTran|

[snipped, many, many more lines]]

Inside: |outputTran|
Inside: |outputTran|

Arg1: (BRACKET (AGGLST (|PositiveInteger|) (|lookupComplete| %(...) %(...)) (((
|commutative| "*") . 0)) 0 (%(...) %(...) . %(...)) %(...) (|PositiveInteger|) (
|Boolean|) (|Union| $ (QUOTE "failed")) (|SingleInteger|) (|String|)
(|OutputForm|)))
Calling: |outputTran|
Inside: |mathprint|
Arg1: %(...)
Arg1: #:|OUTFORM;print;$V;1|
Calling: |timedEvaluate|
Inside: |timedEVALFUN|
Arg1: (SPADCALL (|PositiveInteger|) (QUOTE (#:|OUTFORM;print;$V;1| . %(...))))
Calling: |timedEVALFUN|
Inside: |evalFormMkValue|
Arg1: %(...)
Arg2: (SPADCALL (|PositiveInteger|) (QUOTE (#:|OUTFORM;print;$V;1| . %(...))))
Arg3: (|Void|)
Calling: |evalFormMkValue|
Inside: |evalForm|
Arg1: %(...)
Arg2: |print|
Arg3: ((%(...) (%(...) %(...)) |OutputForm|))
Arg4: (((#1=(|OutputForm|) #2=(|Void|) #1#) (#2# $) (NIL)))
Inside: |bottomUpForm2|
Arg1: (%(...) (%(...) (%(...) %(...)) |OutputForm|))
Arg2: %(...)
Arg3: |print|
Arg4: ((%(...) (%(...) %(...)) |OutputForm|))
Arg5: (((|OutputForm|)))
Inside: |bottomUpForm3|
Arg1: (%(...) (%(...) (%(...) %(...)) |OutputForm|))
Arg2: %(...)
Arg3: |print|
Arg4: ((%(...) (%(...) %(...)) |OutputForm|))
Arg5: (((|OutputForm|)))
Inside: |bottomUpForm|
Arg1: (%(...) (%(...) (%(...) %(...)) |OutputForm|))
Arg2: %(...)
Arg3: |print|
Arg4: ((%(...) (%(...) %(...)) |OutputForm|))
Arg5: (((|OutputForm|)))
Inside: |bottomUp|
Arg1: (%(...) (%(...) (%(...) %(...)) |OutputForm|))
Calling: |bottomUp|
Inside: |interpret1|
Arg1: (|print| (|::| (|typeOf| 1) |OutputForm|))
Arg2: NIL
Arg3: (|Application| ((|id| (|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 
"strings") . 0)) . |print|) (|Coerceto| (|Application| ((|id| (|posn| #1# . 6))
. 
|typeOf|) ((|integer| (|posn| #1# . 13)) . "1")) ((|id| (|posn| #1# . 17)) . 
|OutputForm|)))
Calling: |interpret1|
Inside: |interpret|
Arg1: ((|print| (|::| (|typeOf| 1) |OutputForm|)) (|Application| ((|id| (|posn|
#1=(
0 "print(typeOf(1)::OutputForm)" 1 1 "strings") . 0)) . |print|) (|Coerceto| (
|Application| ((|id| (|posn| #1# . 6)) . |typeOf|) ((|integer| (|posn| #1# .
13)) . 
"1")) ((|id| (|posn| #1# . 17)) . |OutputForm|))))
Calling: |interpret|
Inside: |interpretTopLevel|
Arg 1: (|print| (|::| (|typeOf| 1) |OutputForm|))
Arg 2: (|Application| ((|id| (|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 
"strings") . 0)) . |print|) (|Coerceto| (|Application| ((|id| (|posn| #1# . 6))
. 
|typeOf|) ((|integer| (|posn| #1# . 13)) . "1")) ((|id| (|posn| #1# . 17)) . 
|OutputForm|)))
Calling: |interpretTopLevel|
Inside: |processInteractive1|
Arg 1: (|print| (|::| (|typeOf| 1) |OutputForm|))
Arg 2: (|Application| ((|id| (|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 
"strings") . 0)) . |print|) (|Coerceto| (|Application| ((|id| (|posn| #1# . 6))
. 
|typeOf|) ((|integer| (|posn| #1# . 13)) . "1")) ((|id| (|posn| #1# . 17)) . 
|OutputForm|)))
Calling: |processInteractive1|
Inside: |processInteractive|
Arg1: (|print| (|::| (|typeOf| 1) |OutputForm|))
Calling: |intInterpretPform|
Inside: |phInterpret|
Arg1: ((|carrier| (|ok?| . T) (|ptreePremacro| . #2=(|Application| ((|id|
(|posn| #1=(
0 "print(typeOf(1)::OutputForm)" 1 1 "strings") . 0)) . |print|) (|Coerceto| (
|Application| ((|id| (|posn| #1# . 6)) . |typeOf|) ((|integer| (|posn| #1# .
13)) . 
"1")) ((|id| (|posn| #1# . 17)) . |OutputForm|)))) (|ptree| . #2#) (|lines|
((#1# . 
1) . "print(typeOf(1)::OutputForm)")) (|messages|) (|stepNumber| . 1)))
Calling: APPLY
Inside: |ncConversationPhase|
Inside: |ncConversationPhase|
Arg 1: |phInterpret|
Arg 2: (((|carrier| (|ok?| . T) (|ptreePremacro| . #2=(|Application| ((|id| (
|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 "strings") . 0)) . |print|) (
|Coerceto| (|Application| ((|id| (|posn| #1# . 6)) . |typeOf|) ((|integer|
(|posn| #1# . 
13)) . "1")) ((|id| (|posn| #1# . 17)) . |OutputForm|)))) (|ptree| . #2#)
(|lines| ((#1# . 
1) . "print(typeOf(1)::OutputForm)")) (|messages|) (|stepNumber| . 1))))
Calling: |ncConversationPhase|
Inside: |intloopSpadProcess,interp|
Arg1: ((|carrier| (|ok?| . T) (|ptreePremacro| . #2=(|Application| ((|id|
(|posn| #1=(
0 "print(typeOf(1)::OutputForm)" 1 1 "strings") . 0)) . |print|) (|Coerceto| (
|Application| ((|id| (|posn| #1# . 6)) . |typeOf|) ((|integer| (|posn| #1# .
13)) . 
"1")) ((|id| (|posn| #1# . 17)) . |OutputForm|)))) (|ptree| . #2#) (|lines|
((#1# . 
1) . "print(typeOf(1)::OutputForm)")) (|messages|) (|stepNumber| . 1)))
Arg2: (|Application| ((|id| (|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 
"strings") . 0)) . |print|) (|Coerceto| (|Application| ((|id| (|posn| #1# . 6))
. 
|typeOf|) ((|integer| (|posn| #1# . 13)) . "1")) ((|id| (|posn| #1# . 17)) . 
|OutputForm|)))
Arg3: T
Calling: |intloopSpadProcess,interp|
Inside: |intloopSpadProcess|
Arg1: 1
Arg2: ((((0 "print(typeOf(1)::OutputForm)" 1 1 "strings") . 1) . 
"print(typeOf(1)::OutputForm)"))
Arg3: (|Application| ((|id| (|posn| #1=(0 "print(typeOf(1)::OutputForm)" 1 1 
"strings") . 0)) . |print|) (|Coerceto| (|Application| ((|id| (|posn| #1# . 6))
. 
|typeOf|) ((|integer| (|posn| #1# . 13)) . "1")) ((|id| (|posn| #1# . 17)) . 
|OutputForm|)))
Arg4: T
Inside: |intloopProcess|
Arg 1: 1
Arg 2: T
Calling: |intloopProcessString|
Inside: |intloopReadConsole|
Arg 1: ""
Arg 2: 1
Calling: |intloopReadConsole|
Inside: |SpadInterpretStream|
Arg1: 1
Arg2: (TIM DALY ?)
Arg3: T
Calling: |SpadInterpretStream|
Inside: |intloop|
Calling: |intloop|
Inside: |ncIntLoop|
Calling: |ncIntLoop|
Inside: |ncTopLevel|
G82322 (65) -> G82322 (65) -> )spool

Finished dribbling to crash.out.

William Sit wrote:
> 
> ******Warning: Please save your Axiom session before trying this!
> 
>                         AXIOM Computer Algebra System
>               Version of Tuesday November 30, 2004 at 21:11:14
> ------------------------------------------------------------------------
>    Issue )copyright to view copyright notices.
>    Issue )summary for a summary of useful system commands.
>    Issue )quit to leave AXIOM and return to shell.
> ------------------------------------------------------------------------
> 
> (1) -> typeOf(1)
> 
>    (1)  PositiveInteger
>                              Type: Domain
> 
> (2) -> typeOf(1)::OutputForm
> 
>    (2)  PositiveInteger()
>                              Type: OutputForm
> (3) -> print(typeOf(1)::OutputForm)
> 
> ********** CRASH *************
> 
> This happens on both Windows (above) and Fedora FC2 (October 25, 2004).
> But NOT on NAG version:
> 
> ***** Error stack overflow
> 
> and NAG version did not crash, but still possibly a bug.
> 
> Sorry, I did not update to the newest version. Please test!
> 
> William



property change --Tue, 22 Mar 2005 20:08:00 -0600

Severity: serious => critical 




FriCAS --kratt6, Thu, 20 Dec 2007 00:19:35 -0800

on FriCAS we only get a system error::

  (7) -> print(typeOf(1)::OutputForm)
 
   >> System error:
   Caught fatal error [memory may be damaged]




... --kratt6, Fri, 28 Dec 2007 14:42:24 -0800

Category: Axiom Mathematics => Axiom Interpreter 




... --gdr, Sat, 17 May 2008 21:23:00 -0700

Status: open => fixed somewhere 

Fixed in OpenAxiom