This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/15650] xemacs gdb cleanups.c:264: internal-error: restore_my_cleanups: Assertion '*pmy_chain == SENTINEL_CLEANUP' failed


http://sourceware.org/bugzilla/show_bug.cgi?id=15650

Kris Thielemans <kris at asc dot uk.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kris at asc dot uk.com

--- Comment #25 from Kris Thielemans <kris at asc dot uk.com> ---
Hi
I can reproduce this easily with current (24/7/2013) cygwin which has gdb
version 7.6.50.20130508-cvs 
It appears when using the "-cd" argument to gdb (as used by xemacs gdb.el),
i.e.

$ gdb -cd . your_executable.exe

I've managed to get the gdb source from cygwin and compile it after

../gdb-7.6.50-2/configure CFLAGS="-g -O0" --disable-gdbtk
--with-system-readline

The error is then the same, and the backtrace is as below

$ gdb --args gdb  -cd .
~/devel/parapet/build/gcc/Debug/iterative/OSMAPOSL/OSMAPOSL.exe                
 Python Exception <type 'exceptions.ImportError'> No module named gdb:

warning:
Could not load the Python gdb module from `/usr/local/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.

GNU gdb (GDB) 7.6.50.20130508-cvs (cygwin-special)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/src/build/gdb/gdb/gdb...done.
Setting up the environment for debugging gdb.
Breakpoint 1 at 0x61afad: file ../../../gdb-7.6.50-2/gdb/utils.c, line 842.
Breakpoint 2 at 0x45099a: file ../../../gdb-7.6.50-2/gdb/cli/cli-cmds.c, line
223.
Warning: /home/kris/../../../gdb-7.6.50-2/gdb/../libiberty: No such file or
directory.
Warning: /home/kris/../../../gdb-7.6.50-2/gdb/../bfd: No such file or
directory.
Warning: /home/kris/../../../gdb-7.6.50-2/gdb: No such file or directory.
(top-gdb) r
Starting program: /usr/src/build/gdb/gdb/gdb -cd .
/home/kris/devel/parapet/build/gcc/Debug/iterative/OSMAPOSL/OSMAPOSL.exe
[New Thread 18348.0x1e0]
During symbol reading, dll starting at 0x76b90000 not found..
[New Thread 18348.0x33d4]
[New Thread 18348.0x3e1c]
Python Exception <type 'exceptions.ImportError'> No module named gdb:

warning:
Could not load the Python gdb module from `/usr/local/share/gdb/python'.
Limited Python support is available from the _gdb module.
Suggest passing --data-directory=/path/to/gdb/data-directory.

GNU gdb (GDB) 7.6.50.20130508-cvs (cygwin-special)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-cygwin".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...

Breakpoint 1,
During symbol reading, incomplete CFI data; unspecified registers (e.g., eax)
at 0x61afaa.
internal_error (file=0x755778 <sentinel_cleanup+64>
"../../../gdb-7.6.50-2/gdb/cleanups.c", line=264,
    string=0x755748 <sentinel_cleanup+16> "%s: Assertion `%s' failed.")
    at ../../../gdb-7.6.50-2/gdb/utils.c:842
842       va_start (ap, string);
(top-gdb) bt
#0  internal_error (file=0x755778 <sentinel_cleanup+64>
"../../../gdb-7.6.50-2/gdb/cleanups.c",
    line=264, string=0x755748 <sentinel_cleanup+16> "%s: Assertion `%s'
failed.")
    at ../../../gdb-7.6.50-2/gdb/utils.c:842
#1  0x004d07a4 in restore_my_cleanups (pmy_chain=0x70fd20 <cleanup_chain>,
chain=0x8003ae58)
    at ../../../gdb-7.6.50-2/gdb/cleanups.c:264
#2  0x004d07c7 in restore_cleanups (chain=0x8003ae58) at
../../../gdb-7.6.50-2/gdb/cleanups.c:273
#3  0x00534a5f in catcher_pop () at ../../../gdb-7.6.50-2/gdb/exceptions.c:121
#4  0x00534af4 in exceptions_state_mc (action=CATCH_ITER) at
../../../gdb-7.6.50-2/gdb/exceptions.c:149
#5  0x00534c89 in exceptions_state_mc_action_iter () at
../../../gdb-7.6.50-2/gdb/exceptions.c:210
#6  0x0053550f in catch_command_errors (command=0x450d58 <cd_command>,
arg=0x28fac08 ".", from_tty=0,
    mask=6) at ../../../gdb-7.6.50-2/gdb/exceptions.c:571
#7  0x0053824d in captured_main (data=0x28fab80) at
../../../gdb-7.6.50-2/gdb/main.c:924
#8  0x00535400 in catch_errors (func=0x537610 <captured_main>,
func_args=0x28fab80,
    errstring=0x76d6c0 <__PRETTY_FUNCTION__.12246+146> "", mask=6)
    at ../../../gdb-7.6.50-2/gdb/exceptions.c:546
#9  0x005386e2 in gdb_main (args=0x28fab80) at
../../../gdb-7.6.50-2/gdb/main.c:1064
#10 0x004011d4 in main (argc=4, argv=0x28fabbc) at
../../../gdb-7.6.50-2/gdb/gdb.c:34
(top-gdb)

This might point to a bug in cd_command.

I had a look at applying the patch from Keith Seitz 2013-05-22 used to fix a
similar assert, as mentioned by the OP. I didn't do this careful enough
probably, but it didn't solve the problem. This seems to make sense to me as
this patch is related to find_frame_funname, while here it is the command line
processing.

HTH

Kris

PS: I didn't try current CVS gdb. I have no idea if cygwin has special fixes
for gdb.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]