Summary: | EXA uninitialized crash when DRI2 disabled | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Dylan Simon <dylan> | ||||||||||||||
Component: | Driver/Radeon | Assignee: | xf86-video-ati maintainers <xorg-driver-ati> | ||||||||||||||
Status: | RESOLVED MOVED | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||||
Severity: | normal | ||||||||||||||||
Priority: | medium | CC: | howaboutsynergy | ||||||||||||||
Version: | unspecified | ||||||||||||||||
Hardware: | x86-64 (AMD64) | ||||||||||||||||
OS: | Linux (All) | ||||||||||||||||
Whiteboard: | |||||||||||||||||
i915 platform: | i915 features: | ||||||||||||||||
Attachments: |
|
Description
Dylan Simon
2014-01-26 22:44:45 UTC
Please attach your xorg log, xorg config, and dmesg output. Created attachment 92861 [details]
Xorg.log
Created attachment 92862 [details]
xorg.conf
Note that this config works fine once DRI2 enabled (and has otherwise for years).
Created attachment 92863 [details]
dmesg (boot)
No additional kernel messages from running X.
Created attachment 92888 [details] [review] possible fix Does this patch help? It gets farther, and I see acceleration is disabled, but still crashes. I'm not sure if this is still related to the driver, though, since, it seems to get far enough to start drawing windows. (I should note that once I figured out that the problem was DRI and installed a new dri2proto, I got everything to work, so this is a fresh xorg-server built explicitly with --disable-dri2 and xf86-video-ati built on that with the patch.) [2700662.452] (WW) RADEON(0): Direct rendering disabled [2700662.452] (II) RADEON(0): Acceleration disabled [2700662.452] (**) RADEON(0): DPMS enabled [2700662.452] (==) RADEON(0): Silken mouse enabled [2700662.452] (II) RADEON(0): Textured video requires DRI [2700662.452] (II) RADEON(0): RandR 1.2 enabled, ignore the following RandR disabled message. [2700662.453] (--) RandR disabled [2700662.487] (II) AIGLX: Loaded and initialized swrast [2700662.487] (II) GLX: Initialized DRISWRAST GL provider for screen 0 [2700662.492] (II) RADEON(0): Setting screen physical size to 508 x 317 [2700662.507] (EE) [2700662.507] (EE) Backtrace: [2700662.507] (EE) 0: Xorg (xorg_backtrace+0x42) [0x5746a2] [2700662.507] (EE) 1: Xorg (0x400000+0x178069) [0x578069] [2700662.507] (EE) 2: /lib/libpthread.so.0 (0x7fb8c1a08000+0x10770) [0x7fb8c1a18770] [2700662.507] (EE) 3: /pkg/pixman-0.32.4/lib/libpixman-1.so.0 (0x7fb8c1550000+0x6c235) [0x7fb8c15bc235] [2700662.507] (EE) 4: /pkg/pixman-0.32.4/lib/libpixman-1.so.0 (0x7fb8c1550000+0x53a67) [0x7fb8c15a3a67] [2700662.507] (EE) 5: /pkg/pixman-0.32.4/lib/libpixman-1.so.0 (pixman_fill+0x31) [0x7fb8c155b6c1] [2700662.507] (EE) 6: /usr/lib/xorg/modules/libfb.so (fbFill+0x300) [0x7fb8bd1d4b00] [2700662.507] (EE) 7: /usr/lib/xorg/modules/libfb.so (fbPolyFillRect+0x198) [0x7fb8bd1d5328] [2700662.507] (EE) 8: Xorg (0x400000+0x107ae0) [0x507ae0] [2700662.508] (EE) 9: Xorg (miPaintWindow+0x1d8) [0x557968] [2700662.508] (EE) 10: Xorg (miWindowExposures+0x1c7) [0x55821f] [2700662.508] (EE) 11: Xorg (MapWindow+0x239) [0x45f129] [2700662.508] (EE) 12: Xorg (0x400000+0x3871f) [0x43871f] [2700662.508] (EE) 13: /lib/libc.so.6 (__libc_start_main+0xf5) [0x7fb8c0871bb5] [2700662.508] (EE) 14: Xorg (0x400000+0x243c1) [0x4243c1] [2700662.508] (EE) [2700662.508] (EE) Segmentation fault at address 0x12a1000 #0 0x00007fb8c0885899 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007fb8c0886e27 in __GI_abort () at abort.c:89 #2 0x00007fb8c08c44d3 in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7fb8c09bd410 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007fb8c08ca15d in malloc_printerr (action=3, str=0x7fb8c09bd580 "free(): corrupted unsorted chunks", ptr=<optimized out>) at malloc.c:4895 #4 0x00007fb8c08cae87 in _int_free (av=<optimized out>, p=0x1149c20, have_lock=0) at malloc.c:3751 #5 0x00007fb8c08ba3d5 in _IO_new_fclose (fp=0x1149c30) at iofclose.c:85 #6 0x000000000057f1be in LogClose (error=error@entry=EXIT_ERR_ABORT) at /src/xorg-server-1.15.0/src/os/log.c:258 #7 0x000000000047c69d in xf86CloseLog (error=error@entry=EXIT_ERR_ABORT) at /src/xorg-server-1.15.0/src/hw/xfree86/common/xf86Helper.c:1253 #8 0x000000000047260d in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at /src/xorg-server-1.15.0/src/hw/xfree86/common/xf86Init.c:1059 #9 0x00000000004726e0 in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at /src/xorg-server-1.15.0/src/hw/xfree86/common/xf86Init.c:1107 #10 0x000000000057f07a in AbortServer () at /src/xorg-server-1.15.0/src/os/log.c:770 #11 0x000000000057fd00 in FatalError (f=f@entry=0x5a7668 "Caught signal %d (%s). Server aborting\n") at /src/xorg-server-1.15.0/src/os/log.c:911 #12 0x00000000005780bc in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at /src/xorg-server-1.15.0/src/os/osinit.c:147 #13 <signal handler called> #14 0x00007fb8c15bc235 in _mm_store_si128 (__B=..., __P=<optimized out>) at /pkg/gcc-4.8.2/lib/gcc/x86_64-pc-linux/4.8.2/include/emmintrin.h:696 #15 save_128_aligned (data=..., dst=<optimized out>) at /src/pixman-0.32.4/src/pixman/pixman-sse2.c:391 #16 sse2_fill (imp=<optimized out>, bits=<optimized out>, stride=7680, bpp=<optimized out>, x=<optimized out>, y=<optimized out>, width=1920, height=1069, filler=0) at /src/pixman-0.32.4/src/pixman/pixman-sse2.c:3405 #17 0x00007fb8c15a3a67 in _pixman_implementation_fill (imp=0x1147870, bits=bits@entry=0x11abe48, stride=stride@entry=1920, bpp=bpp@entry=32, x=x@entry=0, y=y@entry=0, width=width@entry=1920, height=height@entry=1200, filler=<optimized out>, filler@entry=0) at /src/pixman-0.32.4/src/pixman/pixman-implementation.c:277 #18 0x00007fb8c155b6c1 in pixman_fill (bits=bits@entry=0x11abe48, stride=stride@entry=1920, bpp=bpp@entry=32, x=x@entry=0, y=y@entry=0, width=width@entry=1920, height=height@entry=1200, filler=0) at /src/pixman-0.32.4/src/pixman/pixman.c:766 #19 0x00007fb8bd1d4b00 in fbFill (pDrawable=pDrawable@entry=0x11ae0c0, pGC=pGC@entry=0x11ada00, x=x@entry=0, y=y@entry=0, width=width@entry=1920, height=height@entry=1200) at /src/xorg-server-1.15.0/src/fb/fbfill.c:43 #20 0x00007fb8bd1d5328 in fbPolyFillRect (pDrawable=0x11ae0c0, pGC=0x11ada00, nrect=<optimized out>, prect=0x127a5a8) at /src/xorg-server-1.15.0/src/fb/fbfillrect.c:72 #21 0x0000000000507ae0 in damagePolyFillRect (pDrawable=0x11ae0c0, pGC=0x11ada00, nRects=1, pRects=<optimized out>) at /src/xorg-server-1.15.0/src/miext/damage/damage.c:1194 #22 0x0000000000557968 in miPaintWindow (pWin=<optimized out>, pWin@entry=0x11ae0c0, prgn=prgn@entry=0x7fff1ad88f80, what=what@entry=0) at /src/xorg-server-1.15.0/src/mi/miexpose.c:641 #23 0x000000000055821f in miWindowExposures (pWin=0x11ae0c0, prgn=0x7fff1ad88f80, other_exposed=0x0) at /src/xorg-server-1.15.0/src/mi/miexpose.c:470 #24 0x000000000045f129 in MapWindow (pWin=0x11ae0c0, client=<optimized out>) at /src/xorg-server-1.15.0/src/dix/window.c:2604 #25 0x000000000043871f in dix_main (argc=3, argv=0x7fff1ad89108, envp=<optimized out>) at /src/xorg-server-1.15.0/src/dix/main.c:261 #26 0x00007fb8c0871bb5 in __libc_start_main (main=0x424390 <main>, argc=3, argv=0x7fff1ad89108, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff1ad890f8) at libc-start.c:269 #27 0x00000000004243c1 in _start () at ../sysdeps/x86_64/start.S:122 Created attachment 145365 [details] [review] debug patch I'm using latest git and this issue is still true. Using debug patch attached. Section "Device" Identifier "Device0" Driver "radeon" BusID "PCI:0:1:0" Option "DRI" "3" Option "DRI3" "1" Option "AccelMethod" "EXA" #note: not Glamor, it (sortof)works with Glamor see this: https://bugs.freedesktop.org/show_bug.cgi?id=111687 Option "EXAVSync" "on" Option "RenderAccel" "on" Option "ColorTiling" "on" Option "ColorTiling2D" "on" Option "EXAPixmaps" "on" Option "AccelDFS" "on" Option "SwapbuffersWait" "true" Option "EnablePageFlip" "on" Option "SWcursor" "off" Option "MigrationHeuristic" "greedy" Option "Backlight" "radeon_bl" Option "ShadowPrimary" "on" Option "TearFree" "on" EndSection Section "DRI" Group "video" Mode 0666 EndSection [ 12355.048] (**) Option "xkb_options" "terminate:ctrl_alt_bksp,numpad:microsoft" [ 12355.661] (WW) RADEON(0): 22222222 this should happen second [ 12355.661] (EE) [ 12355.661] (EE) Backtrace: [ 12355.661] (EE) 0: /usr/lib/Xorg (xorg_backtrace+0x4d) [0x563bfc06c69d] [ 12355.661] (EE) 1: /usr/lib/Xorg (0x563bfbfba000+0xa8be8) [0x563bfc062be8] [ 12355.661] (EE) 2: /usr/lib/libc.so.6 (0x7fbade3ad000+0x3c1b0) [0x7fbade3e91b0] [ 12355.661] (EE) 3: /usr/lib/libc.so.6 (gsignal+0xa8) [0x7fbade3e9108] [ 12355.662] (EE) 4: /usr/lib/libc.so.6 (abort+0x12b) [0x7fbade3d2990] [ 12355.662] (EE) 5: /usr/lib/libc.so.6 (0x7fbade3ad000+0x25857) [0x7fbade3d2857] [ 12355.662] (EE) 6: /usr/lib/libc.so.6 (0x7fbade3ad000+0x34506) [0x7fbade3e1506] [ 12355.662] (EE) 7: /usr/lib/xorg/modules/drivers/radeon_drv.so (0x7fbadcc00000 +0x4f57e) [0x7fbadcc4f57e] [ 12355.662] (EE) 8: /usr/lib/Xorg (0x563bfbfba000+0x112651) [0x563bfc0cc651] [ 12355.662] (EE) 9: /usr/lib/Xorg (0x563bfbfba000+0x116367) [0x563bfc0d0367] [ 12355.662] (EE) 10: /usr/lib/Xorg (0x563bfbfba000+0x1194e0) [0x563bfc0d34e0] [ 12355.662] (EE) 11: /usr/lib/Xorg (0x563bfbfba000+0x116dd3) [0x563bfc0d0dd3] [ 12355.662] (EE) 12: /usr/lib/Xorg (0x563bfbfba000+0x38088) [0x563bfbff2088] [ 12355.662] (EE) 13: /usr/lib/libc.so.6 (__libc_start_main+0xf6) [0x7fbade3d4236] [ 12355.662] (EE) 14: /usr/lib/Xorg (_start+0x2e) [0x563bfbff23be] [ 12355.662] (EE) [ 12355.662] (EE) Fatal server error: [ 12355.662] (EE) Caught signal 6 (Aborted). Server aborting [ 12355.662] (EE) $ coredumpctl -r gdb PID: 590503 (Xorg) UID: 1000 (user) GID: 1000 (user) Signal: 6 (ABRT) Timestamp: Sat 2019-09-14 19:55:04 CEST (41min ago) Command Line: /usr/lib/Xorg -nolisten tcp :0 vt1 -keeptty -auth /tmp/serverauth.IlmiRkC2z1 Executable: /usr/lib/Xorg Control Group: /user.slice/user-1000.slice/session-c1.scope Unit: session-c1.scope Slice: user-1000.slice Session: c1 Owner UID: 1000 (user) Boot ID: c48fdac020f14c3888142b1a25919bd4 Machine ID: d5085e3ae51043e897b15a1939322324 Hostname: Z575 Storage: /var/lib/systemd/coredump/core.Xorg.1000.c48fdac020f14c3888142b1a25919bd4.590503.1568483704000000000000 Message: Process 590503 (Xorg) of user 1000 dumped core. Stack trace of thread 590503: #0 0x00007fbade3e9108 __GI_raise (libc.so.6) #1 0x00007fbade3d2990 __GI_abort (libc.so.6) #2 0x0000563bfc05bc5a OsAbort (Xorg) #3 0x0000563bfc05f421 FatalError (Xorg) #4 0x0000563bfc062c52 n/a (Xorg) #5 0x00007fbade3e91b0 __restore_rt (libc.so.6) #6 0x00007fbade3e9108 __GI_raise (libc.so.6) #7 0x00007fbade3d2990 __GI_abort (libc.so.6) #8 0x00007fbade3d2857 __assert_fail_base (libc.so.6) #9 0x00007fbade3e1506 __GI___assert_fail (libc.so.6) #10 0x00007fbadcc4f57e dixGetPrivateAddr (radeon_drv.so) #11 0x0000563bfc0cc651 n/a (Xorg) #12 0x0000563bfc0d0367 n/a (Xorg) #13 0x0000563bfc0d34e0 n/a (Xorg) #14 0x0000563bfc0d0dd3 n/a (Xorg) #15 0x0000563bfbff2088 n/a (Xorg) #16 0x00007fbade3d4236 __libc_start_main (libc.so.6) #17 0x0000563bfbff23be _start (Xorg) Stack trace of thread 590505: #0 0x00007fbaddc51f9b futex_wait_cancelable (libpthread.so.0) #1 0x00007fbadc16b9dc n/a (r600_dri.so) #2 0x00007fbadc16b5d8 n/a (r600_dri.so) #3 0x00007fbaddc4b5bf start_thread (libpthread.so.0) #4 0x00007fbade4af0d3 __clone (libc.so.6) Stack trace of thread 590504: #0 0x00007fbaddc51f9b futex_wait_cancelable (libpthread.so.0) #1 0x00007fbadc16b9dc n/a (r600_dri.so) #2 0x00007fbadc16b5d8 n/a (r600_dri.so) #3 0x00007fbaddc4b5bf start_thread (libpthread.so.0) #4 0x00007fbade4af0d3 __clone (libc.so.6) GNU gdb (GDB) 8.3.50.20190909-git Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... State of pagination is off. Reading symbols from /usr/lib/Xorg... (No debugging symbols found in /usr/lib/Xorg) [New LWP 590503] [New LWP 590505] [New LWP 590504] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". bt Core was generated by `/usr/lib/Xorg -nolisten tcp :0 vt1 -keeptty -auth /tmp/serverauth.IlmiRkC2z1'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 50 return ret; [Current thread is 1 (Thread 0x7fbadd043dc0 (LWP 590503))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007fbade3d2990 in __GI_abort () at abort.c:79 #2 0x0000563bfc05bc5a in () #3 0x0000563bfc05f421 in FatalError () #4 0x0000563bfc062c52 in () #5 0x00007fbade3e91b0 in <signal handler called> () at /usr/lib/libc.so.6 #6 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 #7 0x00007fbade3d2990 in __GI_abort () at abort.c:79 #8 0x00007fbade3d2857 in __assert_fail_base (fmt=0x7fbade53fd68 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fbadcc66181 "key->initialized", file=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=<optimized out>, function=<optimized out>) at assert.c:92 #9 0x00007fbade3e1506 in __GI___assert_fail (assertion=assertion@entry=0x7fbadcc66181 "key->initialized", file=file@entry=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=line@entry=121, function=function@entry=0x7fbadcc6cef0 <__PRETTY_FUNCTION__.10813> "dixGetPrivateAddr") at assert.c:101 #10 0x00007fbadcc4f57e in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:121 #11 dixGetPrivate (key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:136 #12 radeon_get_pixmap_private (pixmap=<optimized out>) at radeon.h:325 #13 radeon_present_check_flip (crtc=<optimized out>, window=<optimized out>, pixmap=0x563bfe608920, sync_flip=<optimized out>) at radeon_present.c:259 #14 0x0000563bfc0cc651 in () #15 0x0000563bfc0d0367 in () #16 0x0000563bfc0d34e0 in () #17 0x0000563bfc0d0dd3 in () #18 0x0000563bfbff2088 in () #19 0x00007fbade3d4236 in __libc_start_main (main=0x563bfbff1390, argc=8, argv=0x7fffafaef428, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffafaef418) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/csu/libc-start.c:308 #20 0x0000563bfbff23be in _start () (gdb) bt full #0 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {171515904, 140736140862792, 140736140862952, 140736140862816, 0, 0, 895, 0, 94815631322048, 844420635172768, 0, 0, 0, 0, 0, 0}} pid = <optimized out> tid = <optimized out> #1 0x00007fbade3d2990 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 834766592, sa_restorer = 0x0} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x0000563bfc05bc5a in () #3 0x0000563bfc05f421 in FatalError () #4 0x0000563bfc062c52 in () #5 0x00007fbade3e91b0 in <signal handler called> () at /usr/lib/libc.so.6 #6 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 140440569561092, 4222451712, 94815669345264, 94815669345264, 94815669345264, 94815669345264, 94815669345360, 94815669345364, 94815669345264, 94815669345364, 0, 0, 0, 0, 0}} pid = <optimized out> tid = <optimized out> #7 0x00007fbade3d2990 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x563bfe4a5bf0, sa_sigaction = 0x563bfe4a5bf0}, sa_mask = {__val = {0, 94815669345264, 0, 47496561668, 0, 4, 0, 0, 140440570675576, 21474836480, 0, 140736140864960, 5395134641562814208, 0, 140440524173312, 140440570690920}}, sa_flags = -590978731, sa_restorer = 0x7fbadcc66181} sigs = {__val = {32, 0 <repeats 15 times>}} #8 0x00007fbade3d2857 in __assert_fail_base (fmt=0x7fbade53fd68 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fbadcc66181 "key->initialized", file=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=<optimized out>, function=<optimized out>) at assert.c:92 str = 0x563bfe4a5bf0 "\200a`\376;V" total = 4096 #9 0x00007fbade3e1506 in __GI___assert_fail (assertion=assertion@entry=0x7fbadcc66181 "key->initialized", file=file@entry=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=line@entry=121, function=function@entry=0x7fbadcc6cef0 <__PRETTY_FUNCTION__.10813> "dixGetPrivateAddr") at assert.c:101 #10 0x00007fbadcc4f57e in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:121 __PRETTY_FUNCTION__ = "dixGetPrivateAddr" __PRETTY_FUNCTION__ = "dixGetPrivate" xf86_crtc = <optimized out> screen = <optimized out> scrn = 0x563bfe0de080 priv = <optimized out> config = <optimized out> info = <optimized out> screen_pixmap = <optimized out> num_crtcs_on = <optimized out> i = <optimized out> #11 dixGetPrivate (key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:136 __PRETTY_FUNCTION__ = "dixGetPrivate" xf86_crtc = <optimized out> screen = <optimized out> scrn = 0x563bfe0de080 priv = <optimized out> config = <optimized out> info = <optimized out> screen_pixmap = <optimized out> num_crtcs_on = <optimized out> i = <optimized out> #12 radeon_get_pixmap_private (pixmap=<optimized out>) at radeon.h:325 xf86_crtc = <optimized out> screen = <optimized out> scrn = 0x563bfe0de080 priv = <optimized out> config = <optimized out> info = <optimized out> screen_pixmap = <optimized out> num_crtcs_on = <optimized out> i = <optimized out> #13 radeon_present_check_flip (crtc=<optimized out>, window=<optimized out>, pixmap=0x563bfe608920, sync_flip=<optimized out>) at radeon_present.c:259 xf86_crtc = <optimized out> screen = <optimized out> scrn = 0x563bfe0de080 priv = <optimized out> config = <optimized out> info = <optimized out> screen_pixmap = <optimized out> num_crtcs_on = <optimized out> i = <optimized out> #14 0x0000563bfc0cc651 in () #15 0x0000563bfc0d0367 in () #16 0x0000563bfc0d34e0 in () #17 0x0000563bfc0d0dd3 in () #18 0x0000563bfbff2088 in () #19 0x00007fbade3d4236 in __libc_start_main (main=0x563bfbff1390, argc=8, argv=0x7fffafaef428, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffafaef418) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/csu/libc-start.c:308 result = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 7252580439678069739, 94815630861200, 140736140866592, 0, 0, 3976379449421933547, 4009350656480586731}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x7fffafaef470, 0x7fbade5cd120}, data = {prev = 0x0, cleanup = 0x0, canceltype = -1347488656}}} not_first_call = <optimized out> #20 0x0000563bfbff23be in _start () (gdb) bt2 #0 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 50 return ret; #1 0x00007fbade3d2990 in __GI_abort () at abort.c:79 79 raise (SIGABRT); #2 0x0000563bfc05bc5a in OsAbort () #3 0x0000563bfc05f421 in FatalError () #4 0x0000563bfc062c52 in ?? () #5 <signal handler called> #6 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 50 return ret; #7 0x00007fbade3d2990 in __GI_abort () at abort.c:79 79 raise (SIGABRT); #8 0x00007fbade3d2857 in __assert_fail_base (fmt=0x7fbade53fd68 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fbadcc66181 "key->initialized", file=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=<optimized out>, function=<optimized out>) at assert.c:92 92 abort (); #9 0x00007fbade3e1506 in __GI___assert_fail (assertion=assertion@entry=0x7fbadcc66181 "key->initialized", file=file@entry=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=line@entry=121, function=function@entry=0x7fbadcc6cef0 <__PRETTY_FUNCTION__.10813> "dixGetPrivateAddr") at assert.c:101 101 __assert_fail_base (_("%s%s%s:%u: %s%sAssertion `%s' failed.\n%n"), #10 0x00007fbadcc4f57e in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:121 121 assert(key->initialized); #11 dixGetPrivate (key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:136 136 return *(void **) dixGetPrivateAddr(privates, key); #12 radeon_get_pixmap_private (pixmap=<optimized out>) at radeon.h:325 325 return dixGetPrivate(&pixmap->devPrivates, &glamor_pixmap_index); #13 radeon_present_check_flip (crtc=<optimized out>, window=<optimized out>, pixmap=0x563bfe608920, sync_flip=<optimized out>) at radeon_present.c:259 259 struct radeon_pixmap *priv = radeon_get_pixmap_private(pixmap); #14 0x0000563bfc0cc651 in ?? () #15 0x0000563bfc0d0367 in ?? () #16 0x0000563bfc0d34e0 in ?? () #17 0x0000563bfc0d0dd3 in ?? () #18 0x0000563bfbff2088 in ?? () #19 0x00007fbade3d4236 in __libc_start_main (main=0x563bfbff1390, argc=8, argv=0x7fffafaef428, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffafaef418) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/csu/libc-start.c:308 308 result = main (argc, argv, __environ MAIN_AUXVEC_PARAM); #20 0x0000563bfbff23be in _start () (gdb) bt3 #0 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 0x7fbade3e9108 is in __GI_raise (/home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50). 45 46 int ret = INLINE_SYSCALL (tgkill, 3, pid, tid, sig); 47 48 __libc_signal_restore_set (&set); 49 50 return ret; 51 } 52 libc_hidden_def (raise) 53 weak_alias (raise, gsignal) #1 0x00007fbade3d2990 in __GI_abort () at abort.c:79 0x7fbade3d2990 is in __GI_abort (abort.c:81). 76 stage = 0; 77 __libc_lock_unlock_recursive (lock); 78 79 raise (SIGABRT); 80 81 __libc_lock_lock_recursive (lock); 82 stage = save_stage + 1; 83 } 84 85 /* There was a handler installed. Now remove it. */ #2 0x0000563bfc05bc5a in OsAbort () #3 0x0000563bfc05f421 in FatalError () #4 0x0000563bfc062c52 in ?? () #5 <signal handler called> #6 __GI_raise (sig=sig@entry=6) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50 0x7fbade3e9108 is in __GI_raise (/home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/sysdeps/unix/sysv/linux/raise.c:50). 45 46 int ret = INLINE_SYSCALL (tgkill, 3, pid, tid, sig); 47 48 __libc_signal_restore_set (&set); 49 50 return ret; 51 } 52 libc_hidden_def (raise) 53 weak_alias (raise, gsignal) #7 0x00007fbade3d2990 in __GI_abort () at abort.c:79 0x7fbade3d2990 is in __GI_abort (abort.c:81). 76 stage = 0; 77 __libc_lock_unlock_recursive (lock); 78 79 raise (SIGABRT); 80 81 __libc_lock_lock_recursive (lock); 82 stage = save_stage + 1; 83 } 84 85 /* There was a handler installed. Now remove it. */ #8 0x00007fbade3d2857 in __assert_fail_base (fmt=0x7fbade53fd68 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7fbadcc66181 "key->initialized", file=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=<optimized out>, function=<optimized out>) at assert.c:92 #9 0x00007fbade3e1506 in __GI___assert_fail (assertion=assertion@entry=0x7fbadcc66181 "key->initialized", file=file@entry=0x7fbadcc66155 "/usr/include/xorg/privates.h", line=line@entry=121, function=function@entry=0x7fbadcc6cef0 <__PRETTY_FUNCTION__.10813> "dixGetPrivateAddr") at assert.c:101 #10 0x00007fbadcc4f57e in dixGetPrivateAddr (key=<optimized out>, key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:121 0x7fbadcc4f57e is in radeon_present_check_flip (/usr/include/xorg/privates.h:135). 130 * no pre-defined storage 131 */ 132 static inline void * 133 dixGetPrivate(PrivatePtr *privates, const DevPrivateKey key) 134 { 135 assert(key->size == 0); 136 return *(void **) dixGetPrivateAddr(privates, key); 137 } 138 139 /* #11 dixGetPrivate (key=<optimized out>, privates=<optimized out>) at /usr/include/xorg/privates.h:136 0x7fbadcc4f57e is in radeon_present_check_flip (/usr/include/xorg/privates.h:135). 130 * no pre-defined storage 131 */ 132 static inline void * 133 dixGetPrivate(PrivatePtr *privates, const DevPrivateKey key) 134 { 135 assert(key->size == 0); 136 return *(void **) dixGetPrivateAddr(privates, key); 137 } 138 139 /* #12 radeon_get_pixmap_private (pixmap=<optimized out>) at radeon.h:325 0x7fbadcc4f57e is in radeon_present_check_flip (/usr/include/xorg/privates.h:135). 130 * no pre-defined storage 131 */ 132 static inline void * 133 dixGetPrivate(PrivatePtr *privates, const DevPrivateKey key) 134 { 135 assert(key->size == 0); 136 return *(void **) dixGetPrivateAddr(privates, key); 137 } 138 139 /* #13 radeon_present_check_flip (crtc=<optimized out>, window=<optimized out>, pixmap=0x563bfe608920, sync_flip=<optimized out>) at radeon_present.c:259 0x7fbadcc4f57e is in radeon_present_check_flip (/usr/include/xorg/privates.h:135). 130 * no pre-defined storage 131 */ 132 static inline void * 133 dixGetPrivate(PrivatePtr *privates, const DevPrivateKey key) 134 { 135 assert(key->size == 0); 136 return *(void **) dixGetPrivateAddr(privates, key); 137 } 138 139 /* #14 0x0000563bfc0cc651 in ?? () #15 0x0000563bfc0d0367 in ?? () #16 0x0000563bfc0d34e0 in ?? () #17 0x0000563bfc0d0dd3 in ?? () #18 0x0000563bfbff2088 in ?? () #19 0x00007fbade3d4236 in __libc_start_main (main=0x563bfbff1390, argc=8, argv=0x7fffafaef428, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffafaef418) at /home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/csu/libc-start.c:308 0x7fbade3d4236 is in __libc_start_main (/home/user/build/1packages/4used/glibc/makepkg_pacman/glibc/src/glibc/csu/libc-start.c:342). 337 #else 338 /* Nothing fancy, just call the function. */ 339 result = main (argc, argv, __environ MAIN_AUXVEC_PARAM); 340 #endif 341 342 exit (result); 343 } #20 0x0000563bfbff23be in _start () (gdb) I haven't tested possible fix yet, will report afterwards... the possible fix patch that's attached to this thread (in 2014) doesn't work for me on this issue, even though I applied it (it doesn't apply cleanly on latest git). However, I noticed that if I turn off vsync via `vsync off` (see script mentioned in bug 111687), then I install latest xf86-video-ati git, then exit Xorg, then startx, it doesn't crash on startup! However, if I dare do `vsync auto` (to turn on vsync without restarting X or xfwm4) then it instantly crashes in the same place(apparently) as before. Created attachment 145380 [details] full Xorg.0.log of the crash but with ShadowPrimary off (doesn't matter tho) as per this request https://bugs.freedesktop.org/show_bug.cgi?id=111687#c2 I'm attaching full Xorg.0.log to this issue also. The only thing that's changed since Comment 7 is that ShadowPrimary is now off but the crash seems to be the same. As the title of this issue says, if I simply replace DRI3 with DRI2, no crashes! so replacing these 2 lines: Option "DRI" "3" #dri3 enabled with this line! in arch linux Option "DRI3" "1" with this line: Option "DRI" "2" -- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/issues/94. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.