From: SourceForge.net <no...@so...> - 2007-06-25 09:42:12
|
Bugs item #1733467, was opened at 2007-06-08 13:27 Message generated for change (Comment added) made by fridolin You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1733467&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 47. Number Handling Group: current: 8.5a6 Status: Open Resolution: None Priority: 8 Private: No Submitted By: Christoph Bauer (fridolin) Assigned to: Kevin B KENNY (kennykb) Summary: make test failures on IRIX Initial Comment: Here is the output of make test on IRIX/mips. Tcl Version is 8.5a6. all.tcl: Total 20489 Passed 19468 Skipped 996 Failed 25 Sourced 136 Test Files. Files with failing tests: clock.test mathop.test Number of tests skipped for each constraint: 1 !ieeeFloatingPoint 2 95or98 4 dontCopyLinks 51 emptyTest 2 hasIsoLocale 29 knownBug 1 largefileSupport 100 localeRegexp 11 longIs64bit 14 macosxFileAttr 13 memory 40 nonPortable 5 notNetworkFilesystem 8 nt 4 readonlyAttr 1 testWinCPUID 7 testaccessproc 1 testexprparser && !ieeeFloatingPoint 8 testopenfilechannelproc 7 teststatproc 121 testthread 1 testwinclock 21 testwordend 3 threaded 3 unknownFailure 522 win 5 xdev Test files exiting with errors: binary.test expr-old.test expr.test expr-old.test Test file error: child killed: segmentation violation expr.test Test file error: child killed: segmentation violation ==== mathop-1.12 compiled +: errors FAILED ==== Contents of test case: + nan 0 ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-1.12 FAILED ==== mathop-1.14 compiled +: errors FAILED ==== Contents of test case: + 0 nan ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-1.14 FAILED ==== mathop-1.30 interpreted +: errors FAILED ==== Contents of test case: $op nan 0 ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-1.30 FAILED ==== mathop-1.32 interpreted +: errors FAILED ==== Contents of test case: $op 0 nan ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-1.32 FAILED ==== mathop-2.12 compiled *: errors FAILED ==== Contents of test case: * nan 0 ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-2.12 FAILED ==== mathop-2.14 compiled *: errors FAILED ==== Contents of test case: * 0 nan ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-2.14 FAILED ==== mathop-2.30 interpreted *: errors FAILED ==== Contents of test case: $op nan 0 ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-2.30 FAILED ==== mathop-2.32 interpreted *: errors FAILED ==== Contents of test case: $op 0 nan ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-2.32 FAILED ==== mathop-3.21 compiled !: error FAILED ==== Contents of test case: ! NaN ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-3.21 FAILED ==== mathop-3.22 interpreted !: error FAILED ==== Contents of test case: $op NaN ---- Test completed normally; Return code was: 0 ---- Return code should have been one of: 1 ==== mathop-3.22 FAILED ==== mathop-4.12 compiled ~: errors FAILED ==== Contents of test case: ~ NaN ---- Result was: can't use floating-point value as operand of "~" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "~" ==== mathop-4.12 FAILED ==== mathop-4.24 interpreted ~: errors FAILED ==== Contents of test case: $op NaN ---- Result was: can't use floating-point value as operand of "~" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "~" ==== mathop-4.24 FAILED ==== mathop-6.12 compiled &: errors FAILED ==== Contents of test case: & nan 0 ---- Result was: can't use floating-point value as operand of "&" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "&" ==== mathop-6.12 FAILED ==== mathop-6.14 compiled &: errors FAILED ==== Contents of test case: & 0 nan ---- Result was: can't use floating-point value as operand of "&" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "&" ==== mathop-6.14 FAILED ==== mathop-6.30 interpreted &: errors FAILED ==== Contents of test case: $op nan 0 ---- Result was: can't use floating-point value as operand of "&" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "&" ==== mathop-6.30 FAILED ==== mathop-6.32 interpreted &: errors FAILED ==== Contents of test case: $op 0 nan ---- Result was: can't use floating-point value as operand of "&" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "&" ==== mathop-6.32 FAILED ==== mathop-7.12 compiled |: errors FAILED ==== Contents of test case: | nan 0 ---- Result was: can't use floating-point value as operand of "|" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "|" ==== mathop-7.12 FAILED ==== mathop-7.14 compiled |: errors FAILED ==== Contents of test case: | 0 nan ---- Result was: can't use floating-point value as operand of "|" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "|" ==== mathop-7.14 FAILED ==== mathop-7.30 interpreted |: errors FAILED ==== Contents of test case: $op nan 0 ---- Result was: can't use floating-point value as operand of "|" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "|" ==== mathop-7.30 FAILED ==== mathop-7.32 interpreted |: errors FAILED ==== Contents of test case: $op 0 nan ---- Result was: can't use floating-point value as operand of "|" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "|" ==== mathop-7.32 FAILED ==== mathop-8.12 compiled ^: errors FAILED ==== Contents of test case: ^ nan 0 ---- Result was: can't use floating-point value as operand of "^" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "^" ==== mathop-8.12 FAILED ==== mathop-8.14 compiled ^: errors FAILED ==== Contents of test case: ^ 0 nan ---- Result was: can't use floating-point value as operand of "^" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "^" ==== mathop-8.14 FAILED ==== mathop-8.30 interpreted ^: errors FAILED ==== Contents of test case: $op nan 0 ---- Result was: can't use floating-point value as operand of "^" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "^" ==== mathop-8.30 FAILED ==== mathop-8.32 interpreted ^: errors FAILED ==== Contents of test case: $op 0 nan ---- Result was: can't use floating-point value as operand of "^" ---- Result should have been (exact matching): can't use non-numeric floating-point value as operand of "^" ==== mathop-8.32 FAILED ---------------------------------------------------------------------- >Comment By: Christoph Bauer (fridolin) Date: 2007-06-25 09:42 Message: Logged In: YES user_id=13583 Originator: YES I pulled the latest patches from CVS (-> CVS HEAD) and run `make test' again. It's getting worse. I'll attach the file test.log. File Added: test.log ---------------------------------------------------------------------- Comment By: Christoph Bauer (fridolin) Date: 2007-06-11 15:29 Message: Logged In: YES user_id=13583 Originator: YES Bad news: it -OPT:IEEE_NaN_inf=ON makes no difference. I tried -O0 as well. > Can you confirm that you're using the SGI > native 'cc' and not 'gcc'? > Otherwise, I'm heading down a false path. I am using the native cc. ---------------------------------------------------------------------- Comment By: Kevin B KENNY (kennykb) Date: 2007-06-11 13:59 Message: Logged In: YES user_id=99768 Originator: NO I think that some spelunking on the 'Net may have led me to a solution. Can you confirm that you're using the SGI native 'cc' and not 'gcc'? Otherwise, I'm heading down a false path. If you are using the native CC, I suspect that we've run into an over-aggressive optimization. The native 'cc' looks at the usual test for "Not a Number:" if ((x) != (x)) { /* Not a Number */ ... } and optimizes it away completely (reasoning that every number equals itself). This particular optimization causes trouble in a number of places, and SGI has provided a compiler option to turn it off. Please attempt a build (from 'make distclean') with env CC=cc CFLAGS=-OPT:IEEE_NaN_inf=ON path/to/configure etc... in place of just path/to/configure etc... That should ask the compiler to "pretty please, give us IEEE compliant arithmetic." (Reference: http://preview.tinyurl.com/2eo66u) If this fixes the problem, then I'll put the CFLAGS into tcl.m4; if it fails to fix the problem, then we'll need to investigate further. ---------------------------------------------------------------------- Comment By: Christoph Bauer (fridolin) Date: 2007-06-09 10:38 Message: Logged In: YES user_id=13583 Originator: YES Here are the details about the clock.test failure: ==== clock-50.2 format / scan -2 as a local time FAILED ==== Contents of test case: if {[catch { clock scan [clock format -2 -format %Y%m%d%H%M%S -timezone :localtime] -format %Y%m%d%H%M%S -timezone :localtime } result]} { if { [regexp " too large" $result] } { set result -2 } } set result ---- Result was: -1 ---- Result should have been (exact matching): -2 ==== clock-50.2 FAILED ---------------------------------------------------------------------- Comment By: Christoph Bauer (fridolin) Date: 2007-06-09 10:26 Message: Logged In: YES user_id=13583 Originator: YES here is the output ...[what looks good is cutted...but then]... ++++ binary-39.10 PASSED ---- binary-40.3 start make: *** [test] Segmentation fault (core dumped) $ dbx ./tcltest core (dbx) where > 0 Tcl_PrintDouble(interp = 0x30303030, value = 1.3980432860952889e-76, dst = 0x30303031) ["/T/tools/unix/build/tcl/tcl8.5a6/generic/tclUtil.c":2028, 0x5ff9d838] 1 <Unknown>() [< unknown >, 0x30303030] I hope this helps. Ask me if you need more. ---------------------------------------------------------------------- Comment By: Kevin B KENNY (kennykb) Date: 2007-06-08 16:38 Message: Logged In: YES user_id=99768 Originator: NO I'm going to have a difficult time testing this one, not having an IRIX machine to test on. Most troubling are the tests exiting with errors - there's a pointer smash in there somewhere. Can you make a build with --enable-symbols, and then do make TESTFLAGS='-file binary.test -verbose btefp -singleproc 1' and then examine the core dump to at least get me a stack trace? The output of the test should also be informative, since it'll indicate the precise test that has aborted. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1733467&group_id=10894 |