Menu

#3581 Floating point exception with expr into tcl 8.5a5 on x86_64

obsolete: 8.5a5
closed-fixed
None
8
2007-02-22
2006-11-27
No

It also occurs with tcl 8.5 cvs head as on Sat 25th November 2006

It seems it occurs with almost all kind of operations, randomly, but not on first call:

tclsh
% info patchlevel
8.5a6
% time {puts [time {expr {1+1}} 10]} 10
1.0 microseconds per iteration
0.3 microseconds per iteration
0.3 microseconds per iteration
Floating point exception

tclsh
% time {puts [time {expr {1+1}} 10]} 10
0.9 microseconds per iteration
Floating point exception

Discussion

  • Aldric L'Hernault

    Logged In: YES
    user_id=818162
    Originator: YES

    Sorry, I should have mentioned the OS name: RedHat Linux Enterprise Edition:
    Linux 2.4.21-37.EL #1 Wed Sep 7 13:49:00 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux

     
  • Donal K. Fellows

    • priority: 5 --> 8
    • assigned_to: nobody --> kennykb
    • milestone: --> obsolete: 8.5a5
     
  • Don Porter

    Don Porter - 2006-11-28

    Logged In: YES
    user_id=80530
    Originator: NO

    Please report exactly where
    this tclsh program came from.

     
  • Aldric L'Hernault

    Logged In: YES
    user_id=818162
    Originator: YES

    About tclsh building, I think I haven't make anything special:

    I've logged onto a RedHat EL box, with an AMD 64 bits processor,
    downloaded latest files on Nov 25th from tcl.cvs.sourceforge.net
    CVS server, arranged to have gcc into the PATH (3.4 version)
    changed to "unix" subdir and just ran "./configure" then "make".
    I don't remember of any warning.

    I'll download the latest CVS file this night and will check
    again tomorrow for any suspicious compilation warning.

     
  • Don Porter

    Don Porter - 2006-11-28

    Logged In: YES
    user_id=80530
    Originator: NO

    Is this problem new with 8.5a5 (and later)
    or is it also present in 8.4.14 ? Is there
    any older release of Tcl that's worked
    correctly on this platform for you?

    Pay attention to the lines of configure
    that determine whether or not the
    -mieee flag is added to the compile lines.

    Assuming that flag is not being set up
    by configure, see whether adding it to
    CFLAGS by editing the Makefile improves
    anything.

     
  • Aldric L'Hernault

    Logged In: YES
    user_id=818162
    Originator: YES

    I think I got the culprit: RH 3-EL, at least the way it is installed here.
    I've logged onto a brand new Redhat 4-EL box they've just installed,
    replayed the whole stuff and it works !

    Back to my RH 3 box:
    I've just compiled again 8.4.14 on same host with same environment
    and it just runs fine.
    I've built tclsh again from cvs (downloaded files on Nov 28, 21:30 GMT)
    I've checked the -mieee switch, but as host is not a DEC alpha, setting
    it prevents from compiling (gcc complains: "invalid option `ieee'")

    I'll have to check for diffs between library versions ...
    Do you have any hint that could help me reduce the number of things to check ?

    Thanks

     
  • Kevin B KENNY

    Kevin B KENNY - 2007-02-13
    • status: open --> pending-fixed
     
  • Kevin B KENNY

    Kevin B KENNY - 2007-02-13

    Logged In: YES
    user_id=99768
    Originator: NO

    Can you try a test with a clean sandbox and the current HEAD? There seem to be gcc or glibc bugs near the handling of __attributes(TI)__; rather than try to track them down further, I've fallen back on 32-bit words for mp_digits.

     
  • Aldric L'Hernault

    Logged In: YES
    user_id=818162
    Originator: YES

    It seems you have shot it down !
    I've tested it again with cvs code downloaded on Feb,14th and the problem
    has not been reproduced during millions of expression evaluation.

     
  • Aldric L'Hernault

    • status: pending-fixed --> open-fixed
     
  • Kevin B KENNY

    Kevin B KENNY - 2007-02-22
    • status: open-fixed --> closed-fixed