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 2 of 3

1 2 3
Editor: japp
Time: 2009/02/04 16:06:51 GMT-8
Note: OpenAxiom Windows

added:

From japp Wed Feb 4 16:06:51 -0800 2009
From: japp
Date: Wed, 04 Feb 2009 16:06:51 -0800
Subject: OpenAxiom Windows
Message-ID: <20090204160651-0800@axiom-wiki.newsynthesis.org>

This is the output I get:

(3) -> h(3)
1<enter Float.float,108
   >> System error:
   Caught fatal error [memory may be damaged]


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.


                        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.
-----------------------------------------------------------------------------</p>
<p>(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<p>   (2)  - 27.0
                                                                  Type: Float
(3) -> )trace Float )math</p>
<p>   Packages traced:
      Float
   Parameterized constructors traced:
      FLOAT
(3) -> h(3)
1<enter Float.float,106 :


 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.<strong>,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.</strong>,86 :
  1.0
 1<enter Float.<em>,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.</em>,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.<strong>,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.</strong>,86 :
 - 27.0</p>
<p>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]<a class=?

protected-symbol-warn called with (NIL) (3) -> " title=" 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) -> " class="equation" src="images/8876603714708476274-16.0px.png" align="bottom" Style="vertical-align:text-bottom" width="360" height="688"/>

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

[Aside: Bill, the  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.

fricas
h(n:INT):Float==(-3.0)**n
Function declaration h : Integer -> Float has been added to workspace.
Type: Void
fricas
h(3)
There are no library operations named ** Use HyperDoc Browse or issue )what op ** to learn if there is any operation containing " ** " in its name. Cannot find a definition or applicable library operation named ** with argument type(s) Float Integer
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code.
fricas
Compiling function h with type Integer -> Float 
   There are no library operations named ** 
      Use HyperDoc Browse or issue
                                 )what op **
      to learn if there is any operation containing " ** " in its name.
Cannot find a definition or applicable library operation named ** with argument type(s) Float Integer
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.
fricas
)trace Float )math
Packages traced: Float Parameterized constructors traced: FLOAT h(3)
There are no library operations named ** Use HyperDoc Browse or issue )what op ** to learn if there is any operation containing " ** " in its name. Cannot find a definition or applicable library operation named ** with argument type(s) Float Integer
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code.
fricas
Compiling function h with type Integer -> Float 
 1<enter Float.float,119 : 
 arg1= 3
 arg2= 0
 arg3= 10
  1<enter Float.increasePrecision,43 : 
  arg1= 4
   1<enter Float.bits,55 :    1>exit  Float.bits,55 : 
   68
   1<enter Float.bits,67 : 
   arg1= 72
    1<enter Float.bits,55 :     1>exit  Float.bits,55 : 
    68
   1>exit  Float.bits,67 : 
   68
  1>exit  Float.increasePrecision,43 : 
  68
  1<enter Float.^,91 : 
  arg1= 10.0
  arg2= 0
   1<enter Float.=,39 : 
   arg1= 10.0
   arg2= 0.0
   1>exit  Float.=,39 : 
   false
  1>exit  Float.^,91 : 
  1.0
  1<enter Float.*,70 : 
  arg1= 3
  arg2= 1.0
   1<enter Float.bits,55 :    1>exit  Float.bits,55 : 
   72
   1<enter Float.normalize,48 : 
   arg1= 3.0
    1<enter Float.bits,55 :     1>exit  Float.bits,55 : 
    72
   1>exit  Float.normalize,48 : 
   3.0
  1>exit  Float.*,70 : 
  3.0
  1<enter Float.decreasePrecision,47 : 
  arg1= 4
   1<enter Float.bits,55 :    1>exit  Float.bits,55 : 
   72
   1<enter Float.bits,67 : 
   arg1= 68
    1<enter Float.bits,55 :     1>exit  Float.bits,55 : 
    72
   1>exit  Float.bits,67 : 
   72
  1>exit  Float.decreasePrecision,47 : 
  72
  1<enter Float.normalize,48 : 
  arg1= 3.0
   1<enter Float.bits,55 :    1>exit  Float.bits,55 : 
   68
  1>exit  Float.normalize,48 : 
  3.0
 1>exit  Float.float,119 : 
 3.0
 1<enter Float.-,36 : 
 arg1= 3.0
  1<enter Float.normalize,48 : 
  arg1= - 3.0
   1<enter Float.bits,55 :    1>exit  Float.bits,55 : 
   68
  1>exit  Float.normalize,48 : 
  - 3.0
 1>exit  Float.-,36 : 
 - 3.0
   There are no library operations named ** 
      Use HyperDoc Browse or issue
                                 )what op **
      to learn if there is any operation containing " ** " in its name.
Cannot find a definition or applicable library operation named ** with argument type(s) Float Integer
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

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

OpenAxiom? Windows --japp, Wed, 04 Feb 2009 16:06:51 -0800 reply
This is the output I get:

(3) -> h(3) 1> System error: Caught fatal error [memory may be damaged]?