gmp-4.2.4 failures with Solaris 10 AMD64 and Studio Express 03/09
Dennis Clarke
dclarke at blastwave.org
Sat Apr 4 17:03:52 CEST 2009
Everything was going well until I ran make check.
Thus :
PASS: t-set_f
check_in: result wrong
i=1 zeros=0 neg=0
got_ret 5
want_ret 5
got =0x8100000000000000
want =0x81
/bin/bash: line 4: 9616 Abort (core dumped) ${dir}$tst
FAIL: t-io_raw
wrong at data[25]
count=3 order=1 size=8 endian=1 nail=0 align=0
got =0x44003300220011008800770066005500CC00BB00AA00990
want=0x100120023003400450056006700780089009A00AB00BC00C
/bin/bash: line 4: 9636 Abort (core dumped) ${dir}$tst
FAIL: t-import
wrong result data
at data[26] align=0
src "0x100120023003400450056006700780089009A00AB00BC00C"
src=0x100120023003400450056006700780089009A00AB00BC00C
order=1 size=8 endian=1 nail=0
want count 3
got count 3
want 0x10, 0x01, 0x20, 0x02, 0x30, 0x03, 0x40, 0x04, 0x50, 0x05, 0x60,
0x06, 0x70, 0x07, 0x80, 0x08, 0x90, 0x09, 0xA0, 0x0A, 0xB0, 0x0B,
0xC0, 0x0C,
got 0x04, 0x40, 0x03, 0x30, 0x02, 0x20, 0x01, 0x10, 0x08, 0x80, 0x07,
0x70, 0x06, 0x60, 0x05, 0x50, 0x0C, 0xC0, 0x0B, 0xB0, 0x0A, 0xA0,
0x09, 0x90,
/bin/bash: line 4: 9656 Abort (core dumped) ${dir}$tst
FAIL: t-export
PASS: t-pprime_p
==================================
3 of 56 tests failed
this info may or may not help :
$ elfdump .libs/libgmp.so.3.4.4 | grep PATH
[5] RUNPATH 0x196d
/opt/local/lib/\$ISALIST:/opt/local/lib:/opt/SSX0903/prod/lib/stlport4/amd64
[6] RPATH 0x196d
/opt/local/lib/\$ISALIST:/opt/local/lib:/opt/SSX0903/prod/lib/stlport4/amd64
$
$ elfdump .libs/libgmpxx.so.4.0.4 | grep PATH
[6] RUNPATH 0x253a9
/opt/local/lib/\$ISALIST:/opt/local/lib:/opt/SSX0903/prod/lib/stlport4/amd64:/export/medusa/dclarke/build/libgmp/i386/CXX/gmp-4.2.4-build-amd64/.libs:/opt/csw/lib:/opt/csw/lib/SALIST:/opt/SSX0903/lib/rw7/amd64:/opt/SSX0903/lib/stlport4/amd64:/opt/SSX0903/lib/amd64:/usr/ccs/lib/amd64:/lib/64:/usr/lib/64
[7] RPATH 0x253a9
/opt/local/lib/\$ISALIST:/opt/local/lib:/opt/SSX0903/prod/lib/stlport4/amd64:/export/medusa/dclarke/build/libgmp/i386/CXX/gmp-4.2.4-build-amd64/.libs:/opt/csw/lib:/opt/csw/lib/SALIST:/opt/SSX0903/lib/rw7/amd64:/opt/SSX0903/lib/stlport4/amd64:/opt/SSX0903/lib/amd64:/usr/ccs/lib/amd64:/lib/64:/usr/lib/64
$
$ file .libs/libgmp.so.3.4.4
.libs/libgmp.so.3.4.4: ELF 64-bit LSB dynamic lib AMD64 Version 1 [SSE2
MMX FPU], dynamically linked, not stripped
$ file .libs/libgmpxx.so.4.0.4
.libs/libgmpxx.so.4.0.4: ELF 64-bit LSB dynamic lib AMD64 Version 1 [SSE2
SSE CMOV FPU], dynamically linked, not stripped
So I set coreadm -p core.%f.%n_%z_%m.%u:%g.%t.%p -P all and ran test
again and was rewarded with :
$ find . -type f | grep core
./tests/mpz/core.t-io_raw.isis_global_i86pc.16411:101.1238793054.18936
./tests/mpz/core.t-export.isis_global_i86pc.16411:101.1238793055.18976
./tests/mpz/core.t-import.isis_global_i86pc.16411:101.1238793054.18956
Each of these revealed a failure in __lwp_kill thus :
$ dbx ../gmp-4.2.4-build-amd64/tests/mpz/.libs/t-export
./tests/mpz/core.t-export.isis_global_i86pc.16411:101.1238793055.18976 For
information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in your
.dbxrc
Reading t-export
core file header read successfully
Reading ld.so.1
Reading libgmp.so.3.4.4
Reading libthread.so.1
Reading libc.so.1
t at 1 (l at 1) program terminated by signal ABRT (Abort)
0x00007fffffe6c94a: __lwp_kill+0x000a: jae __lwp_kill+0x18 [
0x7fffffe6c958, .+0xe ]
(dbx) where
current thread: t at 1
=>[1] __lwp_kill(0x1, 0x6, 0xffffffff89de2720, 0x7fffffe6d27e, 0x0, 0x0),
at 0x7fffffe6c94a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe65223
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe11c39
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffdf11c0
[5] check_data(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x403ccb
[6] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x403d6b
(dbx) quit
$ dbx ../gmp-4.2.4-build-amd64/tests/mpz/.libs/t-import
./tests/mpz/core.t-import.isis_global_i86pc.16411:101.1238793054.18956 For
information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in your
.dbxrc
Reading t-import
core file header read successfully
Reading ld.so.1
Reading libgmp.so.3.4.4
Reading libthread.so.1
Reading libc.so.1
t at 1 (l at 1) program terminated by signal ABRT (Abort)
0x00007fffffe6c94a: __lwp_kill+0x000a: jae __lwp_kill+0x18 [
0x7fffffe6c958, .+0xe ]
(dbx) where
current thread: t at 1
=>[1] __lwp_kill(0x1, 0x6, 0xffffffff89de34a0, 0x7fffffe6d27e, 0x0, 0x0),
at 0x7fffffe6c94a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe65223
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe11c39
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffdf11c0
[5] check_data(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x4037d2
[6] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x40387b
(dbx) quit
$ dbx ../gmp-4.2.4-build-amd64/tests/mpz/.libs/t-io_raw
./tests/mpz/core.t-io_raw.isis_global_i86pc.16411:101.1238793054.18936 For
information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in your
.dbxrc
Reading t-io_raw
core file header read successfully
Reading ld.so.1
Reading libgmp.so.3.4.4
Reading libthread.so.1
Reading libc.so.1
t at 1 (l at 1) program terminated by signal ABRT (Abort)
0x00007fffffe6c94a: __lwp_kill+0x000a: jae __lwp_kill+0x18 [
0x7fffffe6c958, .+0xe ]
(dbx) where
current thread: t at 1
=>[1] __lwp_kill(0x1, 0x6, 0xffffffff89d24000, 0x7fffffe6d27e, 0x0, 0x0),
at 0x7fffffe6c94a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe65223
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffe11c39
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x7fffffdf11c0
[5] check_in(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x403b73
[6] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x40462b
(dbx) lwps
o>l at 1 signal SIGABRT in __lwp_kill()
(dbx) lwp l at 1
t at 1 (l at 1) stopped in __lwp_kill at 0x7fffffe6c94a
0x00007fffffe6c94a: __lwp_kill+0x000a: jae __lwp_kill+0x18 [
0x7fffffe6c958, .+0xe ]
(dbx) regs
current thread: t at 1
current frame: [1]
r15 0x0000000000000000
r14 0x0000000000000000
r13 0x0000000000000000
r12 0x0000000000000000
r11 0x0000000000000246
r10 0x00007fffffe6d27e
r9 0x0000000000000000
r8 0x0000000000000000
rdi 0x0000000000000001
rsi 0x0000000000000006
rbp 0xfffffd7fffdff650
rbx 0x0000000000000006
rdx 0xffffffff89d24000
rcx 0x00007fffffe6d27e
rax 0x0000000000000000
trapno 0x000000000000000e
err 0x0000000000000014
rip 0x00007fffffe6c94a:__lwp_kill+0xa jae __lwp_kill+0x18 [
0x7fffffe6c958, .+0xe ]
cs 0x000000000000004b
eflags 0x0000000000000292
rsp 0xfffffd7fffdff648
ss 0x0000000000000043
fs 0x00000000000001bb
gs 0x0000000000000000
es 0x0000000000000000
ds 0x0000000000000000
fsbase 0x00007fffffd70200
gsbase 0xffffffff80000000
(dbx)
I can try to run the a test manually with dbx :
$ dbx ../gmp-4.2.4-build-amd64/tests/mpz/.libs/t-io_raw
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in your
.dbxrc
Reading t-io_raw
Reading ld.so.1
Reading libgmp.so.3.4.4
Reading libthread.so.1
Reading libc.so.1
(dbx) run
Running: t-io_raw
(process id 19113)
check_in: result wrong
i=1 zeros=0 neg=0
got_ret 5
want_ret 5
got =0x8100000000000000
want =0x81
t at 1 (l at 1) signal ABRT (Abort) in __lwp_kill at 0xfffffd7fff27c94a
0xfffffd7fff27c94a: __lwp_kill+0x000a: jae __lwp_kill+0x18 [
0xfffffd7fff27c958, .+0xe ]
(dbx) where
current thread: t at 1
=>[1] __lwp_kill(0x1, 0x6, 0xffffffff89dd6120, 0x3, 0x0, 0x0), at
0xfffffd7fff27c94a
[2] _thr_kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff275223 [3]
raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff221c39
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff2011c0
[5] check_in(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x403b73
[6] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x40462b
(dbx)
I think my problems are entirely related to threading.
any thoughts ?
Dennis Clarke
http://www.blastwave.org/
More information about the gmp-bugs
mailing list