Bug 903522
| Summary: | Coredump while tracing gnome-terminal bug | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Zdenek Kabelac <zkabelac> | ||||||
| Component: | gdb | Assignee: | Jan Kratochvil <jan.kratochvil> | ||||||
| Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | rawhide | CC: | gbenson, jan.kratochvil, palves, pmuldoon, sergiodj, tromey | ||||||
| Target Milestone: | --- | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | gdb-7.5.50.20130118-4.fc19 | Doc Type: | Bug Fix | ||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2013-02-01 19:09:04 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
|
Description
Zdenek Kabelac
2013-01-24 08:50:28 UTC
Created attachment 686555 [details]
gdb backtrace and full backtrace
Bactrace from raised exception on internal error.
(gdb)
terminal_notebook_scroll_event (widget=
../../gdb/solib-svr4.c:3154: internal-error: elf_lookup_lib_symbol: Assertion `objfile->separate_debug_objfile_backlink == NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) ../../gdb/solib-svr4.c:3154: internal-error: elf_lookup_lib_symbol: Assertion `objfile->separate_debug_objfile_backlink == NULL' failed.
(In reply to comment #0) > As a side note - why is there Python being used for my command line debugger > tracing executable ? If you mean why does it exist at all, the answer is to provide better scripting capabilities and some long-requested features. If you mean why you are seeing it in particular when debugging gnome-terminal, the answer is probably that you are picking up the glib or gobject Python helper code. See /usr/share/gdb/auto-load/ Do you have the core file for GDB itself?
With the backtrace I can say only GDB memory corruption, it cannot happen:
elf_lookup_lib_symbol has:
gdb_assert (objfile->separate_debug_objfile_backlink == NULL);
and OBJFILE can come only from its caller lookup_objfile_from_block which does:
if (obj->separate_debug_objfile_backlink)
obj = obj->separate_debug_objfile_backlink;
Yes - I do have gdb coredumps - but even bzip2 compressed they have over 14MB - should I attach them.
Maybe I could try next time I'll have 'spinning' gnome-terminal run gdb within valgrind (if that will work) - since to me it looks like some memory corruption bug.
Looking at 3 coredumps from gdb I've not yet deleted - there is one slightly different.
#0 __strlen_sse2 () at ../sysdeps/x86_64/strlen.S:31
#1 0x00007f62d11643f1 in PyString_FromFormatV () from /lib64/libpython2.7.so.1.0
#2 0x00007f62d11b55af in PyErr_Format () from /lib64/libpython2.7.so.1.0
#3 0x00000000004e8764 in gdbpy_convert_exception (exception=...) at ../../gdb/python/py-utils.c:302
#4 0x00000000004deccf in frapy_read_var (self=0x8b34330, args=<optimized out>) at ../../gdb/python/py-frame.c:452
#5 0x00007f62d11ac201 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
#6 0x00007f62d11abe71 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
#7 0x00007f62d11abe71 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
#8 0x00007f62d11abe71 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
#9 0x00007f62d11abe71 in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0
#10 0x00007f62d11acc3f in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0
#11 0x00007f62d113c8b6 in ?? () from /lib64/libpython2.7.so.1.0
#12 0x00007f62d1118bbe in PyObject_Call () from /lib64/libpython2.7.so.1.0
#13 0x00007f62d1127190 in ?? () from /lib64/libpython2.7.so.1.0
#14 0x00007f62d1118bbe in PyObject_Call () from /lib64/libpython2.7.so.1.0
#15 0x00007f62d1119268 in PyObject_CallMethodObjArgs () from /lib64/libpython2.7.so.1.0
#16 0x00000000004e2eee in pretty_print_one_value (printer=printer@entry=0x8b04878, out_value=out_value@entry=0x7fff5fb8d818)
at ../../gdb/python/py-prettyprint.c:224
#17 0x00000000004e34be in print_string_repr (gdbarch=0x2b8a560, language=0x7ae0a0 <c_language_defn>, options=0x7fff5fb8da50, recurse=2,
stream=0x6a148d0, hint=0x0, printer=0x8b04878) at ../../gdb/python/py-prettyprint.c:316
#18 apply_val_pretty_printer (type=type@entry=0x8c270f0, valaddr=valaddr@entry=0x9916690 "\220\340\066\001",
embedded_offset=embedded_offset@entry=0, address=address@entry=0, stream=stream@entry=0x6a148d0, recurse=recurse@entry=2,
val=val@entry=0x5de21a0, options=options@entry=0x7fff5fb8da50, language=language@entry=0x7ae0a0 <c_language_defn>)
at ../../gdb/python/py-prettyprint.c:743
#19 0x000000000054b811 in val_print (type=0x8c270f0, valaddr=0x9916690 "\220\340\066\001", embedded_offset=embedded_offset@entry=0, address=0,
stream=stream@entry=0x6a148d0, recurse=recurse@entry=2, val=val@entry=0x5de21a0, options=options@entry=0x7fff5fb8da50,
language=language@entry=0x7ae0a0 <c_language_defn>) at ../../gdb/valprint.c:762
#20 0x000000000054b8fb in common_val_print (val=0x5de21a0, stream=stream@entry=0x6a148d0, recurse=recurse@entry=2,
options=options@entry=0x7fff5fb8da50, language=language@entry=0x7ae0a0 <c_language_defn>) at ../../gdb/valprint.c:841
#21 0x000000000057f832 in print_frame_arg (arg=arg@entry=0x7fff5fb8dae0) at ../../gdb/stack.c:282
#22 0x0000000000580548 in print_frame_args (func=<optimized out>, frame=frame@entry=0x825b320, num=num@entry=-1, stream=0x29a70a0)
at ../../gdb/stack.c:652
(In reply to comment #2) > (In reply to comment #0) > > > As a side note - why is there Python being used for my command line debugger > > tracing executable ? > > If you mean why does it exist at all, the answer is to provide > better scripting capabilities and some long-requested features. > > If you mean why you are seeing it in particular when debugging > gnome-terminal, > the answer is probably that you are picking up the glib or gobject > Python helper code. See /usr/share/gdb/auto-load/ Is there a way to run gdb without python being loaded? i.e. if I may suspect bug in the python part of gdb - am I able to try with some config option to skip 'better scripting' and use pure C code ? (In reply to comment #4) > Yes - I do have gdb coredumps - but even bzip2 compressed they have over > 14MB - should I attach them. Yes, if possible. Or you can put it on any other location. (BTW xz -9e is more effective. :-) ) > Maybe I could try next time I'll have 'spinning' gnome-terminal run gdb > within valgrind (if that will work) - since to me it looks like some memory > corruption bug. You can also make gcore of that gnome-terminal, if GDB crashes even on its core file. > Looking at 3 coredumps from gdb I've not yet deleted - there is one slightly > different. This is a different bug, it would be great to post it as a new Bug, possibly also with a GDB core file (or gnome-terminal core file, if it reproduces the GDB bug). Created attachment 690795 [details]
xz -9e compressed gdb coredump
[patch] Fix assert crashes with minidebuginfo http://sourceware.org/ml/gdb-patches/2013-02/msg00016.html |