Opened 13 years ago

Closed 13 years ago

#8185 closed defect (fixed)

numerical noise + crash on sage/calculus/functional.py

Reported by: David Kirkby Owned by: David Kirkby
Priority: major Milestone: sage-4.3.3
Component: porting: Solaris Keywords:
Cc: Merged in: sage-4.3.3.alpha0
Authors: David Kirkby Reviewers: Robert Bradshaw
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

Build environment

This was built on a very old / low spec SPARC. But there are some interesting results when built on newer hardware - see later.

  • Sun Netra T1 UltraSPARC IIe @ 500 MHz.
  • Solaris 10 03/05 (first Solaris release of Solaris 10)
  • Sage 4.3.0.1 (special build by Minh for Solaris SPARC. 4.3.0 source, but with #6595 added)
  • gcc 4.4.2 configured with Sun linker and Sun assembler.
  • 32-bit mode - SAGE64 was not set to 'yes'

The problem

drkirkby@kestrel:~/sage-4.3.0.1$ ./sage -t "devel/sage-main/build/sage/calculus/functional.py" init.sage does not exist ... creating sage -t "devel/sage-main/build/sage/calculus/functional.py"

**********************************************************************
File "/export/home/drkirkby/sage-4.3.0.1/devel/sage-main/build/sage/calculus/functional.py", line 195:
    sage: float(area)
Expected:
    0.85914091422952255
Got:
    0.85914091422952277
********************************************************************

This in itself looks easy to fix.

Interesting side notes

  • Copying the binary to 't2' results in the same problem - no great surprise there.
  • Building this test on a Sun Blade 2000 with gcc 4.4.1 and running it on the Sun Blade 2000, results in not just numerical noise, but a complete crash
drkirkby@swan:[~/sage-4.3.0.1] $ ./sage -t  "devel/sage-main/build/sage/calculus/functional.py"
sage -t  "devel/sage-main/build/sage/calculus/functional.py"
A mysterious error (perhaps a memory error?) occurred, which may have crashed doctest.
         [3.1 s]
exit code: 768
 
----------------------------------------------------------------------
The following tests failed:

Conclusions

  • There is definitely an issue with numerical noise on this test due no doubt to SPARC processor having slightly different to those of an Intel. That is observed both on the Netra T1 and the T5240.
  • A crash is occurring whilst running this test on the Sun Blade 2000. This could potentially be the use of a slightly older compiler (gcc 4.4.1). The RAM is a lot more (8 GB) than on the Sun Netra T1 (1.5 GB) where there is just numerical noise, so it's not a lack of RAM causing this.
  • Copying this from a very old SPARC to the Sun T5240 results in no crashes - only the numerical noise issue.

Attachments (1)

8185-numerical-noise.patch (1009 bytes) - added by David Kirkby 13 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 Changed 13 years ago by David Kirkby

Authors: David Kirkby
Status: newneeds_review

Here's a Mercurial patch, which fixes the issue

drkirkby@kestrel:~/sage-4.3.0.1$ ./sage -t devel/sage-main/build/sage/calculus/functional.py
sage -t  "devel/sage-main/build/sage/calculus/functional.py"
         [65.0 s]
 
----------------------------------------------------------------------
All tests passed!
Total time for all tests: 65.0 seconds

Changed 13 years ago by David Kirkby

Attachment: 8185-numerical-noise.patch added

comment:2 Changed 13 years ago by Robert Bradshaw

Status: needs_reviewpositive_review

comment:3 Changed 13 years ago by Mitesh Patel

Merged in: sage-4.3.3.alpha0
Resolution: fixed
Reviewers: Robert Bradshaw
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.