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

Edit detail for #233 Trace in Float caused Fatal Error revision 1 of 3

1 2 3
Editor:
Time: 2007/11/17 22:12:56 GMT-8
Note: critical bug

added:

From wyscc Sat Nov 12 18:52:50 -0600 2005
From: wyscc
Date: Sat, 12 Nov 2005 18:52:50 -0600
Subject: 
Message-ID: <20051112185250-0600@wiki.axiom-developer.org>

In the (old) Windows binary version 0.1.4, tracing the following function caused a fatal error.

\begin{verbatim}
                        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) -> )set mess autoload off
(1) -> h(n:INT):Float==(-3.0)**n
   Function declaration h : Integer -> Float has been added to
      workspace.
                                                                   Type: Void
(2) -> h(3)
   Compiling function h with type Integer -> Float

   (2)  - 27.0
                                                                  Type: Float
(3) -> )trace Float )math

   Packages traced:
      Float
   Parameterized constructors traced:
      FLOAT
(3) -> h(3)
1<enter Float.float,106 :
\end{verbatim}

\begin{verbatim}
 arg1= 3
 arg2= 0
 arg3= 10
 1<enter Float.increasePrecision,42 :
  arg1= 4
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
  1<enter Float.bits,64 :
   arg1= 72
   1<enter Float.bits,53 :    1>exit  Float.bits,53 :
    68
  1>exit  Float.bits,64 :
   68
 1>exit  Float.increasePrecision,42 :
  68
 1<enter Float.**,86 :
  arg1= 10.0
  arg2= 0
  1<enter Float.=,38 :
   arg1= 10.0
   arg2= 0.0
   1<enter Float.order,57 :
    arg1= 10.0
   1>exit  Float.order,57 :
    3
   1<enter Float.order,57 :
    arg1= 0.0
   1>exit  Float.order,57 :
    - 1
  1>exit  Float.=,38 :
   false
 1>exit  Float.**,86 :
  1.0
 1<enter Float.*,66 :
  arg1= 3
  arg2= 1.0
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   72
  1<enter Float.normalize,47 :
   arg1= 3.0
   1<enter Float.bits,53 :    1>exit  Float.bits,53 :
    72
  1>exit  Float.normalize,47 :
   3.0
 1>exit  Float.*,66 :
  3.0
 1<enter Float.decreasePrecision,46 :
  arg1= 4
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   72
  1<enter Float.bits,64 :
   arg1= 68
   1<enter Float.bits,53 :    1>exit  Float.bits,53 :
    72
  1>exit  Float.bits,64 :
   72
 1>exit  Float.decreasePrecision,46 :
  72
 1<enter Float.normalize,47 :
  arg1= 3.0
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
 1>exit  Float.normalize,47 :
  3.0
1>exit  Float.float,106 :
 3.0
1<enter Float.-,35 :
 arg1= 3.0
 1<enter Float.normalize,47 :
  arg1= - 3.0
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
 1>exit  Float.normalize,47 :
  - 3.0
1>exit  Float.-,35 :
 - 3.0
1<enter Float.**,86 :
 arg1= - 3.0
 arg2= 3
 1<enter Float.=,38 :
  arg1= - 3.0
  arg2= 0.0
  1<enter Float.order,57 :
   arg1= - 3.0
  1>exit  Float.order,57 :
   1
  1<enter Float.order,57 :
   arg1= 0.0
  1>exit  Float.order,57 :
   - 1
 1>exit  Float.=,38 :
  false
 1<enter Float.=,38 :
  arg1= - 3.0
  arg2= 1.0
  1<enter Float.order,57 :
   arg1= - 3.0
  1>exit  Float.order,57 :
   1
  1<enter Float.order,57 :
   arg1= 1.0
  1>exit  Float.order,57 :
   0
 1>exit  Float.=,38 :
  false
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  68
 1<enter Float.bits,64 :
  arg1= 72
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
 1>exit  Float.bits,64 :
  68
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  72
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  72
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  72
 1<enter Float.bits,64 :
  arg1= 68
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   72
 1>exit  Float.bits,64 :
  72
 1<enter Float.normalize,47 :
  arg1= - 27.0
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
 1>exit  Float.normalize,47 :
  - 27.0
1>exit  Float.**,86 :
 - 27.0

1<enter Float.<,41 :
 arg1= - 27.0
 arg2= 0.0
1>exit  Float.<,41 :
 true
1<enter Float.-,35 :
 arg1= - 27.0
 1<enter Float.normalize,47 :
  arg1= 27.0
  1<enter Float.bits,53 :   1>exit  Float.bits,53 :
   68
 1>exit  Float.normalize,47 :
  27.0
1>exit  Float.-,35 :
 27.0
1<enter Float.<,41 :
 arg1= 27.0
 arg2= 0.0
1>exit  Float.<,41 :
 false
1<enter Float.zero?,32 :
 arg1= 27.0
1>exit  Float.zero?,32 :
 false
1<enter Float.mantissa,17 :
 arg1= 27.0
1>exit  Float.mantissa,17 :
 27
1<enter Float.bits,64 :
 arg1= 5
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  68
1>exit  Float.bits,64 :
 68
1<enter Float.outputFloating,158 :
 arg1= general()
1>exit  Float.outputFloating,158 :
 "general"
1<enter Float.outputFloating,158 :
 arg1= general()
1>exit  Float.outputFloating,158 :
 "general"
1<enter Float.outputFloating,158 :
 arg1= general()
1>exit  Float.outputFloating,158 :
 "general"
1<enter Float.zero?,32 :
 arg1= 27.0
1>exit  Float.zero?,32 :
 false
1<enter Float.negative?,34 :
 arg1= 27.0
1>exit  Float.negative?,34 :
 false
1<enter Float.digits,98 :  1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  5
1>exit  Float.digits,98 :
 1
1<enter Float.exponent,19 :
 arg1= 27.0
1>exit  Float.exponent,19 :
 0
1<enter Float.mantissa,17 :
 arg1= 27.0
1>exit  Float.mantissa,17 :
 27
1<enter Float.bits,64 :
 arg1= 68
 1<enter Float.bits,53 :  1>exit  Float.bits,53 :
  5
1>exit  Float.bits,64 :
 5
1<enter Float.coerce,162
   >> System error:
   Caught fatal error [memory may be damaged]

protected-symbol-warn called with (NIL)
(3) ->
\end{verbatim}

[Not the entire transcript is displayed. Use edit to see the rest. ]

[Aside: Bill, the \begin{verbatim} \end{verbatim} does not work well. Can't even break the transcript into pieces to display correctly. The place where it stopped is kind of random too.]

This does not happen on the Wiki version, nor with the function 'h(n:INT):Float==3.0**n' in Windows.

\begin{axiom}
h(n:INT):Float==(-3.0)**n
h(3)
)trace Float )math
h(3)
\end{axiom}

From wyscc Mon Nov 14 04:09:04 -0600 2005
From: wyscc
Date: Mon, 14 Nov 2005 04:09:04 -0600
Subject: property change
Message-ID: <20051114040904-0600@wiki.axiom-developer.org>

Category: Aldor Library Compiler => Axiom Interpreter 


From greg Tue Apr 4 16:12:58 -0500 2006
From: greg
Date: Tue, 04 Apr 2006 16:12:58 -0500
Subject: this issue seems to be windows specific (reproducible only on windows)
Message-ID: <20060404161258-0500@wiki.axiom-developer.org>

Category: Axiom Interpreter => Axiom on Windows 


From unknown Fri Jul 14 14:43:11 -0500 2006
From: unknown
Date: Fri, 14 Jul 2006 14:43:11 -0500
Subject: ahoo.com
Message-ID: <20060714144311-0500@wiki.axiom-developer.org>

Category: Axiom on Windows => Axiom Library 
Severity: normal => minor 
Status: open => fix proposed 


From greg Fri Jul 14 15:11:40 -0500 2006
From: greg
Date: Fri, 14 Jul 2006 15:11:40 -0500
Subject: revert status
Message-ID: <20060714151140-0500@wiki.axiom-developer.org>

Category: Axiom Library => Axiom on Windows 
Severity: minor => normal 
Status: fix proposed => open 


From greg Fri Jul 14 15:13:51 -0500 2006
From: greg
Date: Fri, 14 Jul 2006 15:13:51 -0500
Subject: critical bug
Message-ID: <20060714151351-0500@wiki.axiom-developer.org>

Severity: normal => critical 


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

In the (old) Windows binary version 0.1.4, tracing the following function caused a fatal error.

LatexWiki Image

LatexWiki Image

[Not the entire transcript is displayed. Use edit to see the rest. ]?

[Aside: Bill, the LatexWiki Image does not work well. Can't even break the transcript into pieces to display correctly. The place where it stopped is kind of random too.]?

This does not happen on the Wiki version, nor with the function h(n:INT):Float==3.0**n in Windows.

axiom
h(n:INT):Float==(-3.0)**n
Function declaration h : Integer -> Float has been added to workspace.
Type: Void
axiom
h(3)
axiom
Compiling function h with type Integer -> Float
LatexWiki Image(1)
Type: Float
axiom
)trace Float )math
Packages traced: Float Parameterized constructors traced: FLOAT h(3)
1<enter Float.float,107 : arg1= 3 arg2= 0 arg3= 10 1<enter Float.increasePrecision,43 : arg1= 4 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1<enter Float.bits,65 : arg1= 72 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.bits,65 : 68 1>exit Float.increasePrecision,43 : 68 1<enter Float.**,87 : arg1= 10.0 arg2= 0 1<enter Float.=,39 : arg1= 10.0 arg2= 0.0 1>exit Float.=,39 : false 1>exit Float.**,87 : 1.0 1<enter Float.*,67 : arg1= 3 arg2= 1.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1<enter Float.normalize,48 : arg1= 3.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1>exit Float.normalize,48 : 3.0 1>exit Float.*,67 : 3.0 1<enter Float.decreasePrecision,47 : arg1= 4 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1<enter Float.bits,65 : arg1= 68 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1>exit Float.bits,65 : 72 1>exit Float.decreasePrecision,47 : 72 1<enter Float.normalize,48 : arg1= 3.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.normalize,48 : 3.0 1>exit Float.float,107 : 3.0 1<enter Float.-,36 : arg1= 3.0 1<enter Float.normalize,48 : arg1= - 3.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.normalize,48 : - 3.0 1>exit Float.-,36 : - 3.0 1<enter Float.**,87 : arg1= - 3.0 arg2= 3 1<enter Float.=,39 : arg1= - 3.0 arg2= 0.0 1>exit Float.=,39 : false 1<enter Float.=,39 : arg1= - 3.0 arg2= 1.0 1>exit Float.=,39 : false 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1<enter Float.bits,65 : arg1= 72 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.bits,65 : 68 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1<enter Float.bits,65 : arg1= 68 1<enter Float.bits,54 : 1>exit Float.bits,54 : 72 1>exit Float.bits,65 : 72 1<enter Float.normalize,48 : arg1= - 27.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.normalize,48 : - 27.0 1>exit Float.**,87 : - 27.0
1<enter Float.coerce,162 : arg1= - 27.0 1<enter Float.<,42 : arg1= - 27.0 arg2= 0.0 1>exit Float.<,42 : true 1<enter Float.-,36 : arg1= - 27.0 1<enter Float.normalize,48 : arg1= 27.0 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.normalize,48 : 27.0 1>exit Float.-,36 : 27.0 2<enter Float.coerce,162 : arg1= 27.0 1<enter Float.<,42 : arg1= 27.0 arg2= 0.0 1>exit Float.<,42 : false 1<enter Float.convert,160 : arg1= 27.0 1<enter Float.zero?,33 : arg1= 27.0 1>exit Float.zero?,33 : false 1<enter Float.mantissa,17 : arg1= 27.0 1>exit Float.mantissa,17 : 27 1<enter Float.bits,65 : arg1= 5 1<enter Float.bits,54 : 1>exit Float.bits,54 : 68 1>exit Float.bits,65 : 68 1<enter Float.zero?,33 : arg1= 27.0 1>exit Float.zero?,33 : false 1<enter Float.negative?,35 : arg1= 27.0 1>exit Float.negative?,35 : false 1<enter Float.digits,99 : 1<enter Float.bits,54 : 1>exit Float.bits,54 : 5 1>exit Float.digits,99 : 1 1<enter Float.exponent,19 : arg1= 27.0 1>exit Float.exponent,19 : 0 1<enter Float.mantissa,17 : arg1= 27.0 1>exit Float.mantissa,17 : 27 1<enter Float.bits,65 : arg1= 68 1<enter Float.bits,54 : 1>exit Float.bits,54 : 5 1>exit Float.bits,65 : 5 1>exit Float.convert,160 : "27.0" 2>exit Float.coerce,162 : 27.0 1>exit Float.coerce,162 : - 27.0
LatexWiki Image(2)
Type: Float

property change --wyscc, Mon, 14 Nov 2005 04:09:04 -0600 reply
Category: Aldor Library Compiler => Axiom Interpreter

this issue seems to be windows specific (reproducible only on windows) --greg, Tue, 04 Apr 2006 16:12:58 -0500 reply
Category: Axiom Interpreter => Axiom on Windows

Category: Axiom on Windows => Axiom Library Severity: normal => minor Status: open => fix proposed

Category: Axiom Library => Axiom on Windows Severity: minor => normal Status: fix proposed => open

Severity: normal => critical