NetBSD-Bugs archive

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

Re: xsrc/58133: X server crashes; radeon 5450; modesetting



I tried to gain more insights by attaching gdb to the X server process,
and setting breakpoints on some key functions, such as
glamor_get_vbo_space and glamor_text. However they never triggered.

On further inspection, the breakpoints were marked as <PENDING> and
therefore not functional:

(gdb) info break
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   <PENDING>          glamor_get_vbo_space
2       breakpoint     keep y   <PENDING>          glamor_text
3       breakpoint     keep y   <MULTIPLE>
3.1                         y   <PENDING>          mmap
3.2                         y   <PENDING>          mmap
4       breakpoint     keep y   <MULTIPLE>
4.1                         y   <PENDING>          poll
4.2                         y   <PENDING>          poll
(gdb) break InputThreadDoWork
Breakpoint 5 at 0xdcbb0722
(gdb) c
Continuing.
Warning:
Cannot insert breakpoint 5.
Cannot access memory at address 0xdcbb0722

Command aborted.

and trying to set breakpoints at some functions even failed earlier.

With hardware breakpoints I had slightly more success, but in the end it
was of no use:

(gdb) hbreak glamor_text
Hardware assisted breakpoint 6 at 0x6fb07d41339e: file /usr/xsrc/external/mit/xorg-server/dist/glamor/glamor_text.c, line 97.
(gdb) c
Continuing.
[Switching to LWP 28256 of process 28256]

Thread 4 "" hit Breakpoint 6, glamor_text (
    drawable=drawable@entry=0x6fb0824c98c0, gc=gc@entry=0x6fb082103ac0,
    glamor_font=glamor_font@entry=0x6fb086e3bfb0,
    prog=prog@entry=0x6fb088f24268, x=x@entry=17, y=y@entry=377,
    count=count@entry=6,
    s_chars=s_chars@entry=0x6fb086f52940 "        L\006\006",
    charinfo=charinfo@entry=0x7f7fffd18400, sixteen=sixteen@entry=0)
    at /usr/xsrc/external/mit/xorg-server/dist/glamor/glamor_text.c:97
97      {
(gdb) bt
#0  glamor_text (drawable=drawable@entry=0x6fb0824c98c0,
    gc=gc@entry=0x6fb082103ac0, glamor_font=glamor_font@entry=0x6fb086e3bfb0,
    prog=prog@entry=0x6fb088f24268, x=x@entry=17, y=y@entry=377,
    count=count@entry=6,
    s_chars=s_chars@entry=0x6fb086f52940 "        L\006\006",
    charinfo=charinfo@entry=0x7f7fffd18400, sixteen=sixteen@entry=0)
    at /usr/xsrc/external/mit/xorg-server/dist/glamor/glamor_text.c:97
#1  0x00006fb07d413e28 in glamor_image_text (
    drawable=drawable@entry=0x6fb0824c98c0, gc=gc@entry=0x6fb082103ac0,
    x=x@entry=17, y=y@entry=377, count=count@entry=6,
    chars=chars@entry=0x6fb086f52940 "        L\006\006",
    sixteen=sixteen@entry=0)
    at /usr/xsrc/external/mit/xorg-server/dist/glamor/glamor_text.c:467
#2  0x00006fb07d413fa9 in glamor_image_text8 (drawable=0x6fb0824c98c0,
    gc=0x6fb082103ac0, x=17, y=377, count=6,
    chars=0x6fb086f52940 "        L\006\006")
    at /usr/xsrc/external/mit/xorg-server/dist/glamor/glamor_text.c:480
#3  0x00000000dcb5fbbe in damageImageText8 ()
#4  0x00000000dca7e6b5 in doImageText ()
#5  0x00000000dca7f8df in ImageText ()
#6  0x00000000dca8395b in ProcImageText8 ()
#7  0x00000000dca85c2e in Dispatch ()
#8  0x00000000dca55e1f in dix_main ()
#9  0x00000000dca559cd in ___start ()
#10 0x00007f7ee6e0baf8 in ?? () from /usr/libexec/ld.elf_so
#11 0x0000000000000005 in ?? ()
#12 0x00007f7fffd19480 in ?? ()
#13 0x00007f7fffd19491 in ?? ()
#14 0x00007f7fffd19494 in ?? ()
#15 0x00007f7fffd19499 in ?? ()
#16 0x00007f7fffd1949f in ?? ()
#17 0x0000000000000000 in ?? ()
(gdb) n
[New process 28256]
/usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) y

This is a bug, please report it.  For instructions, see:
<https://www.gnu.org/software/gdb/bugs/>.

/usr/src/external/gpl3/gdb/lib/libgdb/../../dist/gdb/infrun.c:5683: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Unable to dump core, use `ulimit -c unlimited' before executing GDB next time.
[ 108164.2883624] sorry, pid 28256 was killed: orphaned traced process

and X was killed.

To get a usable machine, I have switched back to /usr/X11R7 from 9.3 and
changed in /etc/X11/xorg.conf the Driver from "modesetting" to "radeon".
(The "modesetting" driver with 9.3 doesn't result in working
accelleration; with 10.0 the "radeon" driver crashed even quicker than
the "modesetting" driver).


Home | Main Index | Thread Index | Old Index