This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
Re: gdb/2054: can't start X server under gdb
- From: Daniel Jacobowitz <drow at false dot org>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 20 Dec 2005 00:18:01 -0000
- Subject: Re: gdb/2054: can't start X server under gdb
- Reply-to: Daniel Jacobowitz <drow at false dot org>
The following reply was made to PR gdb/2054; it has been noted by GNATS.
From: Daniel Jacobowitz <drow@false.org>
To: Adam Jackson <ajackson@redhat.com>
Cc: gdb-gnats@sources.redhat.com
Subject: Re: gdb/2054: can't start X server under gdb
Date: Mon, 19 Dec 2005 19:12:24 -0500
On Mon, Dec 19, 2005 at 06:59:13PM -0500, Adam Jackson wrote:
>
> On Dec 19, 2005, at 5:05 PM, Daniel Jacobowitz wrote:
>
> >Huh - that (0x4057f) is SIGTRAP | (PTRACE_EVENT_EXEC << 16). GDB
> >shouldn't
> >be receiving PTRACE_EVENT_EXEC notification. Is this an unmodified
> >kernel.org kernel? Did X exec?
>
> Yes, totally stock kernel. X does exec xkbcomp(1) as part of startup,
> and in fact that's where this is failing (bt after the internal-error):
>
> (gdb) bt
> #0 0xffffe410 in __kernel_vsyscall ()
> #1 0xb7e01aa6 in __libc_fork () at fork.c:127
> #2 0x081affdf in Popen (
> command=0x8218370 "\"/opt/debrix/bin/xkbcomp\" -w 1
> \"-R/opt/debrix/share/X11/xkb\" -xkm \"-\" -em1 \"The XKEYBOARD keymap
> compiler (xkbcomp) reports:\" -emp \"> \" -eml \"Errors from xkbcomp
> are not fatal to the X server\" \"/opt/d"..., type=0x81be16f "w") at
> utils.c:1766
> #3 0x08191b2d in XkbDDXCompileKeymapByNames (xkb=0x78,
> names=0xb7a36980,
> want=120, need=120, nameRtrn=0xbf8a3d40 "T=\212?|=\212??\001",
> nameRtrnLen=4096) at ddxLoad.c:379
> ...
>
> maybe a bad glibc?
We're in __libc_fork. We've, presumably, just forked. Your kernel has
somehow reported event 4, when it ought to have reported event 1
(fork).
I don't have the faintest idea how this could happen. It's possible
the event is somehow coming from the forked child; could you please
strace gdb for me? That'll show more clearly what processes we're
tracing.
--
Daniel Jacobowitz
CodeSourcery, LLC