[Debian-astro-maintainers] Bug#877294: gnudatalanguage: gdl segfaults while running testsuite
Axel Beckert
abe at debian.org
Sat Sep 30 10:16:57 UTC 2017
Package: gnudatalanguage
Version: 0.9.7-4
Tags: upstream
Control: found -1 0.9.7-3
Hi,
I know, we currently (and IIRC since ever) ignore testsuite failures
during the build of gnudatalanguage.
But what I didn't notice so far is, that we also have testsuite failures
due to segfaults. I just noticed in my dmesg output lines like these:
[1982503.173064] gdl[17102]: segfault at a64 ip 00007f498e65c287 sp 00007ffd674b82d0 error 6 in libgnudatalanguage.so.0[7f498defa000+a80000]
[1983118.572934] gdl[25627]: segfault at a64 ip 00007f046efef287 sp 00007ffdd9a0d2f0 error 6 in libgnudatalanguage.so.0[7f046e88d000+a80000]
[1983870.903138] gdl[2380]: segfault at a64 ip 00007fef2f678287 sp 00007fff397f19e0 error 6 in libgnudatalanguage.so.0[7fef2ef16000+a80000]
[1985500.289391] gdl[14889]: segfault at a64 ip 00007f7b48e94287 sp 00007ffd60a55410 error 6 in libgnudatalanguage.so.0[7f7b48732000+a80000]
[1986159.888647] gdl[22821]: segfault at a64 ip 00007ff041dcd287 sp 00007ffcf4b98390 error 6 in libgnudatalanguage.so.0[7ff04166b000+a80000]
[1986803.434380] gdl[21145]: segfault at a64 ip 00007f3256d70267 sp 00007ffeef2f37c0 error 6 in libgnudatalanguage.so.0[7f325660e000+a80000]
[2153128.518466] gdl[4425]: segfault at a64 ip 00007f056f1b9287 sp 00007ffc2a9a8220 error 6 in libgnudatalanguage.so.0[7f056ea57000+a80000]
[2155526.245475] gdl[29129]: segfault at a64 ip 00007efd68d15267 sp 00007ffe07293ff0 error 6 in libgnudatalanguage.so.0[7efd685b3000+a80000]
And the corresponding files in /var/crash (c.f. corekeeper) are from my
user as well as from user ID 1234 (which is used by pbuilder during the
build):
-rw------- 1 root root 30248960 Sep 28 23:48 27082-1234-1234-6-1506635322-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 30515200 Sep 28 23:48 27146-1234-1234-6-1506635323-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 30248960 Sep 28 23:48 27230-1234-1234-6-1506635323-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 19750912 Sep 28 23:48 27329-1234-1234-6-1506635323-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 18964480 Sep 28 23:48 28464-1234-1234-6-1506635335-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 9768960 Sep 28 23:49 29129-1234-1234-11-1506635343-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 18165760 Sep 28 23:49 29314-1234-1234-6-1506635348-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 30248960 Sep 28 23:49 29430-1234-1234-6-1506635349-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 23113728 Sep 28 23:49 29609-1234-1234-6-1506635350-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
-rw------- 1 root root 18894848 Sep 28 23:49 29715-1234-1234-6-1506635359-c6--build-gnudatalanguage-0.9.7-obj-x86_64-linux-gnu-src-gdl.core
The core dumps were generated with different command line calls. Here's
the list of different command line options used during the final build
which I've then uploaded:
/var/crash/1234 # for i in *15066353*; do echo q | gdb =gdl $i ; done |& fgrep "Core was generated by"
Core was generated by `../src/gdl'.
Core was generated by `../src/gdl -quiet'.
Core was generated by `../src/gdl -quiet'.
Core was generated by `-quiet -e test_bug_3275334'.
Core was generated by `-quiet -e test_hdf5'.
Core was generated by `-quiet -e test_qhull'.
Core was generated by `-quiet -e test_sem'.
Core was generated by `../src/gdl -quiet'.
Core was generated by `-quiet -e test_tv'.
Core was generated by `-quiet -e test_window_background'.
(No, I have no idea yet, why some of them don't include a command but
just commandline options.)
As an example here's a backtrace of the last segfault:
Core was generated by `-quiet -e test_window_background'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) set solib-search-path /usr/lib/x86_64-linux-gnu/
Reading symbols from /usr/lib/x86_64-linux-gnu/libgnudatalanguage.so.0...Reading symbols from /usr/lib/debug/.build-id/31/1f548fe19cf231d64fdb7ada3f1e2e03540219.debug...done.
done.
(gdb) bt
#0 0x00007f479ee9bfff in __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f479ee9d42a in __GI_abort () at abort.c:89
#2 0x00007f479f6ddb85 in __gnu_cxx::__verbose_terminate_handler() () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007f479f6db956 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f479f6db9a1 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007f47aa20f8ec in std::thread::~thread() (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/c++/7/thread:135
#6 0x00007f47aa20f8ec in DInterpreter::NoReadline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=this at entry=0x7ffd0a7137d0, prompt="GDL> ") at ./src/dinterpreter.cpp:1299
#7 0x00007f47aa20fae5 in DInterpreter::GetLine[abi:cxx11]() (this=this at entry=0x7ffd0a7137d0) at ./src/dinterpreter.cpp:1365
#8 0x00007f47aa213ca3 in DInterpreter::ExecuteLine(std::istream*, unsigned long long) (this=this at entry=0x7ffd0a7137d0, in=in at entry=0x0, lineOffset=lineOffset at entry=49) at ./src/dinterpreter.cpp:967
#9 0x00007f47aa214927 in DInterpreter::InnerInterpreterLoop(unsigned long long) (this=this at entry=0x7ffd0a7137d0, lineOffset=49)
at ./src/dinterpreter.cpp:1442
#10 0x00007f47aa214aaa in GDLInterpreter::NewInterpreterInstance(unsigned long long) (this=this at entry=0x7ffd0a7137d0, lineOffset=<optimized out>)
at ./src/dinterpreter.cpp:121
#11 0x00007f47a9e4534a in GDLInterpreter::statement(ProgNode*) (this=this at entry=0x7ffd0a7137d0, _t=<optimized out>) at ./src/GDLInterpreter.cpp:608
#12 0x00007f47a9e45f38 in GDLInterpreter::call_pro(ProgNode*) (this=0x7ffd0a7137d0, _t=<optimized out>) at ./src/GDLInterpreter.cpp:800
#13 0x00007f47aa4cc299 in PCALLNode::Run() (this=0x562ecb5650f0) at ./src/prognode.cpp:1058
#14 0x00007f47a9e44b1b in GDLInterpreter::statement(ProgNode*) (this=this at entry=0x7ffd0a7137d0, _t=<optimized out>) at ./src/GDLInterpreter.cpp:96
#15 0x00007f47a9e45f38 in GDLInterpreter::call_pro(ProgNode*) (this=0x7ffd0a7137d0, _t=<optimized out>) at ./src/GDLInterpreter.cpp:800
#16 0x00007f47aa4cc299 in PCALLNode::Run() (this=0x562ecb4f3ca0) at ./src/prognode.cpp:1058
#17 0x00007f47a9e44b1b in GDLInterpreter::statement(ProgNode*) (this=this at entry=0x7ffd0a7137d0, _t=<optimized out>) at ./src/GDLInterpreter.cpp:96
#18 0x00007f47a9e459f8 in GDLInterpreter::interactive(ProgNode*) (this=this at entry=0x7ffd0a7137d0, _t=<optimized out>, _t at entry=0x562ecb4f3ca0)
at ./src/GDLInterpreter.cpp:39
#19 0x00007f47aa213bd7 in DInterpreter::ExecuteLine(std::istream*, unsigned long long) (this=this at entry=0x7ffd0a7137d0, in=in at entry=0x7ffd0a713210, lineOffset=lineOffset at entry=0) at ./src/dinterpreter.cpp:1238
#20 0x00007f47aa217054 in DInterpreter::InterpreterLoop(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x7ffd0a7137d0, startup="", batch_files=std::vector of length 0, capacity 0, statement="test_window_background\n") at ./src/dinterpreter.cpp:1665
#21 0x0000562ec9131d18 in main(int, char**) (argc=3, argv=0x7ffd0a713af8) at ./src/gdl.cpp:414
P.S.: This is probably no recent issue. I noticed them in both, the
0.9.7-3 as well as in the 0.9.7-4 pbuilder builds.
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (990, 'unstable'), (600, 'testing'), (500, 'unstable-debug'), (500, 'buildd-unstable'), (110, 'experimental'), (1, 'experimental-debug'), (1, 'buildd-experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.13.0-rc7-amd64 (SMP w/8 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages gnudatalanguage depends on:
ii libc6 2.24-17
ii libcurl3-gnutls 7.55.1-1
ii libfftw3-double3 3.3.6p2-2
ii libfftw3-single3 3.3.6p2-2
ii libgcc1 1:7.2.0-7
ii libgnudatalanguage0 0.9.7-4
ii libgomp1 7.2.0-7
ii libgraphicsmagick++-q16-12 1.3.26-12
ii libgraphicsmagick-q16-3 1.3.26-12
ii libgrib-api0 1.23.1-1
ii libgsl23 2.4+dfsg-6
ii libgslcblas0 2.4+dfsg-6
ii libhdf4-0-alt 4.2.13-1+b1
ii libhdf5-100 1.10.0-patch1+docs-4
ii libice6 2:1.0.9-2
ii libjpeg62-turbo 1:1.5.2-2
ii libncurses5 6.0+20170902-1
ii libnetcdf11 1:4.4.1.1-2
ii libplplot15 5.13.0+dfsg-5
ii libplplotcxx13 5.13.0+dfsg-5
ii libpng16-16 1.6.34-1
ii libpython2.7 2.7.13-2
ii libqhull7 2015.2-2
ii libreadline7 7.0-3
ii libsm6 2:1.2.2-1+b3
ii libstdc++6 7.2.0-7
ii libsz2 0.3.2-2
ii libtinfo5 6.0+20170902-1
ii libudunits2-0 2.2.25-2
ii libwxbase3.0-0v5 3.0.3.1+dfsg2-1
ii libwxgtk3.0-0v5 3.0.3.1+dfsg2-1
ii libx11-6 2:1.6.4-3
ii libxext6 2:1.3.3-1+b2
ii pslib1 0.4.5-3.1+b1
ii zlib1g 1:1.2.8.dfsg-5
Versions of packages gnudatalanguage recommends:
ii plplot-driver-xwin 5.13.0+dfsg-5
ii python-numpy 1:1.13.1-1
gnudatalanguage suggests no packages.
-- no debconf information
More information about the Debian-astro-maintainers
mailing list