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



The following reply was made to PR xsrc/58133; it has been noted by GNATS.

From: Rhialto <rhialto%falu.nl@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: xsrc-manager%netbsd.org@localhost, gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost,
	Rhialto <rhialto%falu.nl@localhost>
Subject: Re: xsrc/58133: X server crashes; radeon 5450; modesetting
Date: Mon, 29 Apr 2024 20:35:19 +0200

 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