[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