NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/40517: running Xorg under gdb does not work



>Number:         40517
>Category:       kern
>Synopsis:       running Xorg under gdb does not work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 30 09:25:00 +0000 2009
>Originator:     Martin Husemann
>Release:        NetBSD 5.99.7
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD nelly.aprisoft.de 5.99.7 NetBSD 5.99.7 (NELLY.MP) #32: Fri Jan 
30 09:23:23 CET 2009 
martin%emmas.aprisoft.de@localhost:/nelly/usr/src/sys/arch/sparc64/compile/NELLY.MP
 sparc64
Architecture: sparc64
Machine: sparc64
>Description:

To debug a problem with the X server, I tried:

 # gdb /usr/X11R7/bin/Xorg
 ..
 gdb> run

and it just hung there. Can't kill gdb.

Doing a ktrace (full trace available on request) shows that it never realy
gets to execing Xorg: gdb starts the program:

   316      1 gdb      CALL  write(1,0x414ea000,0x27)
   316      1 gdb      GIO   fd 1 wrote 39 bytes
       "Starting program: /usr/X11R7/bin/Xorg \n"
   316      1 gdb      RET   write 39/0x27, 1095671808/0x414ea000
   316      1 gdb      CALL  __vfork14
   382      1 gdb      EMUL  "netbsd"
   382      1 gdb      RET   vfork 0
   382      1 gdb      CALL  getpid
   382      1 gdb      RET   getpid 382/0x17e, 316/0x13c
   382      1 gdb      CALL  getpid
   382      1 gdb      RET   getpid 382/0x17e, 316/0x13c
   382      1 gdb      CALL  setpgid(0x17e,0x17e)
   382      1 gdb      RET   setpgid 0, 382/0x17e
   382      1 gdb      CALL  ptrace(PT_TRACE_ME,0,0,0)
   382      1 gdb      RET   ptrace 0
   382      1 gdb      CALL  execve(0xffffffffffffde71,0xffffffffffff9d30,0x414
18140)
   382      1 gdb      NAMI  "/usr/pkg/bin/tcsh"
   382      1 gdb      NAMI  "/usr/libexec/ld.elf_so"
   382      1 tcsh     EMUL  "netbsd"
   382      1 tcsh     RET   execve JUSTRETURN
   316      1 gdb      RET   __vfork14 382/0x17e
   316      1 gdb      CALL  __wait450(0xffffffffffffffff,0xffffffffffff99bc,0,
0)
   316      1 gdb      RET   __wait450 382/0x17e, -26180/0xffffffffffff99bc
   316      1 gdb      CALL  ptrace(PT_GETREGS,0x17e,0xffffffffffff93e0,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e

then the shell (I tried with /bin/sh too, same result) runs some profile things
like stty:

   364      1 tcsh     CALL  __sigprocmask14(2,0xffffffffffff9e70,0)
   364      1 tcsh     RET   __sigprocmask14 0, -24976/0xffffffffffff9e70
   364      1 tcsh     CALL  execve(0x277608,0x287888,0x277508)
   364      1 tcsh     NAMI  "/bin/stty"
   364      1 tcsh     NAMI  "/libexec/ld.elf_so"
   364      1 stty     EMUL  "netbsd"
   364      1 stty     RET   execve JUSTRETURN
   364      1 stty     CALL  mmap(0,0x8000,3,0x1002,0xffffffffffffffff,0,0)
   364      1 stty     RET   mmap 1075855360/0x40204000, 32768/0x8000

which later exit:

   364      1 stty     RET   ioctl 0, 2150396948/0x802c7414
   364      1 stty     CALL  exit(0)

and thats about it. The trace continues only a few more calls:

   316      1 gdb      RET   __wait450 382/0x17e, -26180/0xffffffffffff99bc
   316      1 gdb      CALL  ptrace(PT_GETREGS,0x17e,0xffffffffffff93e0,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
[..]
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_IO,0x17e,0xffffffffffff8cd8,0)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   316      1 gdb      CALL  ptrace(PT_CONTINUE,0x17e,1,0x14)
   316      1 gdb      RET   ptrace 0, 382/0x17e
   382      1 tcsh     RET   __sigsuspend14 -1 errno 4 Interrupted system call
   316      1 gdb      CALL  __wait450(0xffffffffffffffff,0xffffffffffff99bc,0,
0)
   382      1 tcsh     CALL  __sigsuspend14(0xffffffffffff9e60)

And there it hangs.

>How-To-Repeat:
s/a
>Fix:
n/a



Home | Main Index | Thread Index | Old Index