Package:  gdb
Version:  7.4.1+dfsg-0.1
Severity: normal

Fri, 21 Jun 2013 12:02:46 +0200 by Hector Oron <hector.o...@gmail.com>:

> > My instance if gdb IS in a cpu lock state and is
> > inresponsive. I hope you can help me or point me the best place to
> > ask for help.
> 
> Please, send this information as a Debian bug report against gdb
> package. <http://www.debian.org/Bugs/>
> Thanks
> 
> > This is the last output:
> >
> > Program received signal SIGINT, Interrupt.
> > [Switching to Thread 0xb52ffb40 (LWP 11262)]
> > 0xb7fde424 in __kernel_vsyscall ()
> > (gdb) s
> > Single stepping until exit from function __kernel_vsyscall,
> > which has no line number information.
> > <hangs>
> >
> > Here is what I did.
> >
> > $ gdb attach 11199
> > <
> > Attaching to process 11199
> > Reading symbols from /usr/bin/claws-mail...done.
> > warning: Could not load shared library symbols for linux-gate.so.1.
> > Do you need "set solib-search-path" or "set sysroot"? # <-- What
> > does this mean?
> > [....]
> >
> > Unfortunately I missed to strace -p 11199 before, now it is not
> > permitted.
> >
> > I stepped through claws until it hung at some point. No cpu usage,
> > just hangs, maybe waiting for some file descriptor or something.
> > Then I pressed CTRL+C in the debug window of claws as you can see
> > below and then gdb went into a cpulock condition.
> >
> >   PID   PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
> > 14240 20   0  107m  44m 1196 R  89,8  8,9   6:56.62 gdb
> > 14240 20   0  107m  41m 1196 R  85,5  8,3  13:38.45 gdb # some
> > minutes later 
> > 14240 20   0  107m  12m 1152 R  62,3  2,4  52:21.20 gdb # now
> >
> > GDB output of claws-mail (11199)
> >
> > 0xb7fde424 in __kernel_vsyscall ()
> > (gdb) s
> > Single stepping until exit from function __kernel_vsyscall,
> > which has no line number information.
> > s
> > __lll_lock_wait_private ()
> >     at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowle
> > vellock.S:99
> > 99      ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowl
> > evellock.S: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s
> > 100     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 102     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 103     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 105     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 108     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 111     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 114     in ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/l
> > owlevellock.S
> > (gdb) s
> > 0xb6e5352d in _L_lock_49 ()
> >    from /lib/i386-linux-gnu/i686/cmov/libc.so.6
> > (gdb) s
> > which has no line number information.
> > __GI__IO_fputs (str=str@entry=0x85331a0 "undo.c:599:",
> >     fp=0xb6f98a20) at iofputs.c:40
> > 40      iofputs.c: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s
> > 41      in iofputs.c
> > (gdb) s
> >     at fileops.c:1290
> > 1290    fileops.c: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s
> > 1297    in fileops.c
> > (gdb) s
> > 1290    in fileops.c
> > (gdb) s 10
> > 1311    in fileops.c
> > (gdb) s 10
> > 1311    in fileops.c
> > (gdb) s 10
> > 1329    in fileops.c
> > (gdb) s 10
> > 56      ../sysdeps/i386/i686/multiarch/../mempcpy.S: Datei oder
> > Verzeichnis nicht gefunden.
> > (gdb) s 10
> > 1337    fileops.c: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s 10
> > Single stepping until exit from function _L_unlock_129,
> > which has no line number information.
> > 344     ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/lowl
> > evellock.S: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s 10
> > 0xb6e53539 in _L_unlock_129 ()
> >    from /lib/i386-linux-gnu/i686/cmov/libc.so.6
> > (gdb) s
> > Single stepping until exit from function _L_unlock_129,
> > which has no line number information.
> > __GI__IO_fputs (str=str@entry=0x85331a0 "undo.c:599:",
> >     fp=0xb6f98a20) at iofputs.c:45
> > 45      iofputs.c: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s
> > g_print (format=0x8385863 "%s")
> >     at /build/glib2.0-Q0IaBZ/glib2.0-2.36.3/./glib/gmessages.c
> > :1456
> > 1456    /build/glib2.0-Q0IaBZ/glib2.0-2.36.3/./glib/gmessages.
> > c: Datei oder Verzeichnis nicht gefunden.
> > (gdb) s
> > Program received signal SIGINT, Interrupt.
> > [Switching to Thread 0xb52ffb40 (LWP 11262)]
> > 0xb7fde424 in __kernel_vsyscall ()
> > (gdb) s
> > Single stepping until exit from function __kernel_vsyscall,
> > which has no line number information.
> > <hangs>
> >
> > As gdb consumes 99% cpu I attached to this instance (14240), found
> > out, that many -dbg are missing, detached, installed them and
> > attached again. As said at this time claws SIGINTed alread, which
> > was not caught properly by gdb. 
> >
> > There are still missing dbg packges for:
> > libexpat1        /lib/i386-linux-gnu/libexpat.so.1
> > libc6        /lib/ld-linux.so.2 (libc6-dbg ist installed)
> >
> > GDB uses Expat, an XML parsing library, to implement some
> > target-specific features.  Expat will be linked in if it is
> > available at build time, or those features will be disabled.  The
> > latest version of Expat should be available from
> > `http://expat.sourceforge.net'.
please provide a gdb-dbg package. As gdb uses libexpat1 also
libexpat1-dbg would be great
.
> > #0  0xb7fde424 in __kernel_vsyscall ()
> > #1  0xb7acfc53 in ptrace (request=PTRACE_CONT) at
> > ../sysdeps/unix/sysv/linux/ptrace.c:118
> > #2  0x080d23bf in ?? ()
> > #3  0x080d8470 in ?? ()
> > #4  0x080d8552 in ?? ()
> > #5  0x080d6eab in iterate_over_lwps ()
> > #6  0x080d8974 in ?? ()
> > #7  0x080d5662 in ?? ()
> > #8  0x081ec9b7 in target_resume ()
> > #9  0x081b2ffb in resume ()
> > #10 0x081b945e in ?? ()
> > #11 0x081b7907 in ?? ()
> > #12 0x081b42c6 in wait_for_inferior ()
> > #13 0x081b3805 in proceed ()
> > #14 0x081ad6c8 in ?? ()
> > #15 0x081ad359 in ?? ()
> > #16 0x081ad127 in ?? ()
> > #17 0x0810ad6b in ?? ()
> > #18 0x0810d597 in cmd_func ()
> > #19 0x0809754c in execute_command ()
> > #20 0x081cdf7a in ?? ()
> > #21 0x081ce4b8 in ?? ()
> > #22 0xb7fa86f5 in rl_callback_read_char ()
> >     at
> > ldd-readline6_6.2+dfsg-0.1-i386-AtYqj8/readline6-6.2+dfsg/callback.c:220
> > #23 0x081cdb2f in ?? ()
> > #24 0x081cde9f in stdin_event_handler ()
> > #25 0x081ccf67 in ?? ()
> > #26 0x081cc685 in ?? ()
> > #27 0x081cc74a in gdb_do_one_event ()
> > #28 0x081cc79c in start_event_loop ()
> > #29 0x081cdb58 in cli_command_loop ()
> > #30 0x081c7919 in current_interp_command_loop ()
> > #31 0x0808de97 in ?? ()
> > #32 0x081c71dd in catch_errors ()
> > #33 0x0808edf9 in ?? ()
> > #34 0x081c71dd iIn file included from i386-linux-nat.c:27:0:
> > linux-nat.h:79:18: error: field ‘siginfo’ has incomplete type
> > n catch_errors ()
> > #35 0x0808ee2f in gdb_main ()
> > #36 0x0808dc0b in main ()
> >
> > To fill the holes I built it from source.
> >
> > $ apt-get source gdb=7.4.1+dfsg-0.1
> > E: Ignore unavailable version '7.4.1+dfsg-0.1' of package 'gdb'
> > E: Unable to find a source package for gdb
Is there anything wrong with the source package?

> > Got 7.4.1 from ftp://sourceware.org/pub/gdb/releases/ then.
> > Compilation run until: In file included from
> > i386-linux-nat.c:27:0: linux-nat.h:79:18: error: field ‘siginfo’
> > has incomplete type
> >
> > In the code I found ^L several times and removed them, but that was
> > not the point.
> > https://bugs.archlinux.org/task/30657 came closer, without solution
> > for this 'cosmetic error'.
> > This changelog
> > (http://people.redhat.com/anderson/crash.changelog.html) reported
> > an error with glib glibc-2.15.9.  I am using 2.36.3-1/i386.
> > - Replace usage of "struct siginfo" with "siginfo_t".
> >
> > Ok, compiles. One step closer to paradise.


> > I also tried 7.6 which is not the one of my installation..
> > As gdb has no -dbg package I compiled it from source and ignored
> > the makeinfo error by make (shouldnt configure warn before?). I
> > tried to disable doc creation, but it seems this is ignored as it
> > does not complain confmake --disable-doc --disable-everything
> >
> > WARNING: `makeinfo' is missing on your system.  You should only
> > need it if you modified a `.texi' or `.texinfo' file, or any other
> > file indirectly affecting the aspect of the manual.  The spurious
> >          call might also be the consequence of using a buggy
> > `make' (AIX, DU, IRIX).  You might want to install the `Texinfo'
> > package or the `GNU make' package.  Grab either from any GNU
> > archive site. make[3]: *** [bfd.info] Error 1
> > make[3]: Leaving directory `/home/kardan/build/gdb/bfd/doc'
> > Making info in po
> > make[3]: Entering directory `/home/kardan/build/gdb/bfd/po'
> > make[3]: Nothing to be done for `info'.
> > make[3]: Leaving directory `/home/kardan/build/gdb/bfd/po'
> > make[3]: Entering directory `/home/kardan/build/gdb/bfd'
> > make[3]: Nothing to be done for `info-am'.
> > make[3]: Leaving directory `/home/kardan/build/gdb/bfd'
> > make[2]: *** [info-recursive] Error 1
> > make[2]: Leaving directory `/home/kardan/build/gdb/bfd'
> > make[1]: *** [all-bfd] Error 2
> > make[1]: Leaving directory `/home/kardan/build/gdb'
> > make: *** [all] Error 2
+1 --disable-doc configure option
Otherwise please add texinfo to configure checks.

> > I attached to new compiled gdb ang got some warning.
> > However I do not understand them yet.
> >
> > Setting up the environment for debugging gdb.
> > During symbol reading, cannot get low and high bounds for
> > subprogram DIE at 7850418.
> > During symbol reading, Only single DW_OP_reg or DW_OP_fbreg is
> > supported for DW_FORM_block* DW_AT_location is supported for
> > DW_TAG_GNU_call_site child DIE 0x77d1e7 [in
> > module /home/kardan/build/gdb/gdb/gdb]. During symbol reading,
> > Child DIE 0x77f000 and its abstract origin 0x77c9b2 have different
> > parents. During symbol reading, Child DIE 0x77f05e and its abstract
> > origin 0x783d53 have different tags.
> > During symbol reading, DW_AT_GNU_call_site_target target DIE has
> > invalid low pc, for referencing DIE 0x77f648 [in
> > module /home/kardan/build/gdb/gdb/gdb]. During symbol reading,
> > Multiple children of DIE 0x77f9c8 refer to DIE 0x77cb5c as their
> > abstract origin. Breakpoint 1 at 0x8237760: file utils.c, line 950.
> > Breakpoint 2 at 0x80b2520: file ./cli/cli-cmds.c, line 221.
> >
warning: Could not load shared library symbols for linux-gate.so.1.
Do you need "set solib-search-path" or "set sysroot"?
I read that http://www.trilithium.com/johan/2005/08/linux-gate/ is
purely virtual, so this message is confusing the user and should be
ignored? Or explained as here http://lkml.org/lkml/2005/8/11/255 ,)

> if the attached process dies, gdb shows this, but does not refuse to
> continue (as it should). My findings for 7.6 as well was, that
> continu is accepted and gdb just does nothing (no cpu loop). With my
> limited knowledge there is no way to get out again.

All the best,
Kardan


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to