Public bug reported:

To help in the development of apport we're using the chaos-marmosets set
of binaries, which triggers various crashes. In particular, we're using
/usr/bin/divide-by-zero which does as its name indicates, which
naturally triggers a native crash.

However, GDB fails on s390x. Note that for the following I have the
debugging symbols from ddebs.ubuntu.com installed:

ubuntu@glibc-proposed:/tmp$ gdb /usr/bin/divide-by-zero
[snip]
Reading symbols from /usr/bin/divide-by-zero...
Reading symbols from 
/usr/lib/debug/.build-id/14/82d2d64c3383ca479f17bfd17b314295c99f13.debug...
(gdb) run
Starting program: /usr/bin/divide-by-zero
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/s390x-linux-gnu/libthread_db.so.1".

Program received signal SIGTRAP, Trace/breakpoint trap.
0x000002aa00000814 in ?? ()
(gdb) bt
#0  0x000002aa00000814 in ?? ()
#1  0x000003fff7d2baac in __libc_start_call_main (main=0x2aa00000690 <main>, 
main@entry=<error reading variable: value has been optimized out>, 
argc=argc@entry=1, argv=argv@entry=0x3ffffffa468)
    at ../sysdeps/nptl/libc_start_call_main.h:58
#2  0x000003fff7d2bbae in __libc_start_main_impl (main=<optimized out>, argc=1, 
argv=0x3ffffffa468, init=<optimized out>, fini=<optimized out>, 
rtld_fini=0x3fff7f85650 <_dl_fini>,
    stack_end=0x3ffffffa3b0) at ../csu/libc-start.c:360
#3  0x000002aa00000720 in _start ()
(gdb) info address divide_by_zero
Symbol "divide_by_zero" is a function at address 0x2aa00000810.
(gdb)

So at this point GDB isn't capable of identifying the various symbols on
the stack, which isn't ideal.

Now, if I try to step in:

ubuntu@glibc-proposed:/tmp$ gdb -q /usr/bin/divide-by-zero
Reading symbols from /usr/bin/divide-by-zero...
Reading symbols from 
/usr/lib/debug/.build-id/14/82d2d64c3383ca479f17bfd17b314295c99f13.debug...
(gdb) start
Temporary breakpoint 1 at 0x690: file divide-by-zero.c, line 29.
Starting program: /usr/bin/divide-by-zero
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/s390x-linux-gnu/libthread_db.so.1".

Temporary breakpoint 1, main (argc=1, argv=0x3ffffffa468) at divide-by-zero.c:29
warning: 29     divide-by-zero.c: No such file or directory
(gdb) s
34      in divide-by-zero.c
(gdb)
divide_by_zero () at divide-by-zero.c:25
25      in divide-by-zero.c
(gdb)
/build/gdb-nviNEX/gdb-15.1/gdb/infrun.c:2982: internal-error: resume_1: 
Assertion `pc_in_thread_step_range (pc, tp)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
----- Backtrace -----
0x2aa100a247f ???
0x2aa104efce5 ???
0x2aa104eff7f ???
0x2aa10668c13 ???
0x2aa102553db ???
0x2aa10255bd1 ???
0x2aa10255f5f ???
0x2aa10259195 ???
0x2aa1025c315 ???
0x2aa1025e9a5 ???
0x2aa10260015 ???
0x2aa1066951b ???
0x2aa10669e6d ???
0x2aa102b01cd ???
0x2aa102b3607 ???
0x2aa0ffed839 ???
0x3ffb142baab __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x3ffb142bbad __libc_start_main_impl
        ../csu/libc-start.c:360
0x2aa0fff8f8f ???
0xffffffffffffffff ???
---------------------
/build/gdb-nviNEX/gdb-15.1/gdb/infrun.c:2982: internal-error: resume_1: 
Assertion `pc_in_thread_step_range (pc, tp)' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)

I can provide a core dump if you think that'd help, but it seems
trivially reproducible.

** Affects: gdb (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2075204

Title:
  gdb on s390x chokes on divide-by-zero from chaos-marmosets

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdb/+bug/2075204/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to