Bug 91607

Summary: X Server crashes in FlushAllOutput() when Plasma 5 download progress details open
Product: xorg Reporter: Jure Repinc <jlp.bugs>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED DUPLICATE QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: mikhail.v.gavrilov
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Xorg log none

Description Jure Repinc 2015-08-11 16:38:30 UTC
I'm using beta version of KDE Plasma 5.4 desktop and Xorg server version 1.17.2. The graphics card is
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Park [Mobility Radeon HD 5430/5450/5470]

The problem happens when you are downloading something and the spining download indicator shows up in the tray. If you don't click on it to show the details all is fine. But if you click on it then after some time X server just restarts.

I connected to the computer via SSH and attached gdb to the server. And this is what happens:

Program received signal SIGPIPE, Broken pipe.
0x0000003ba06e2e9d in writev () at ../sysdeps/unix/syscall-template.S:81
81      ../sysdeps/unix/syscall-template.S: Datoteka ali imenik s tem imenom ne obstaja.
(gdb) where
#0  0x0000003ba06e2e9d in writev () at ../sysdeps/unix/syscall-template.S:81
#1  0x000000000059d8a3 in _XSERVTransSocketWritev (ciptr=0x2e83690, buf=0x7ffe86e2f950, size=<optimized out>) at /usr/include/X11/Xtrans/Xtranssock.c:2367
#2  0x000000000059871d in FlushClient (who=who@entry=0x2e80180, oc=oc@entry=0x2e75d00, __extraBuf=__extraBuf@entry=0x0, extraCount=extraCount@entry=0)
    at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:941
#3  0x0000000000596c5c in CloseDownConnection (client=client@entry=0x2e80180) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/connection.c:1055
#4  0x0000000000437b81 in CloseDownClient (client=client@entry=0x2e80180) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:3403
#5  0x0000000000438625 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:444
#6  0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#7  0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#8  0x00000000004264f9 in _start ()
(gdb) thread apply all bt

Thread 2 (Thread 0x7fcf1c023700 (LWP 5049)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcf1c72a9ab in cnd_wait (mtx=<optimized out>, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:154
#2  pipe_semaphore_wait (sema=0x28fd658) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x28fd320) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:648
#4  0x00007fcf1c72a5b7 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:87
#5  0x0000003ba12074c6 in start_thread (arg=0x7fcf1c023700) at pthread_create.c:333
#6  0x0000003ba06ea86d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fcf1e1228c0 (LWP 5047)):
#0  0x0000003ba06e2e9d in writev () at ../sysdeps/unix/syscall-template.S:81
#1  0x000000000059d8a3 in _XSERVTransSocketWritev (ciptr=0x2e83690, buf=0x7ffe86e2f950, size=<optimized out>) at /usr/include/X11/Xtrans/Xtranssock.c:2367
#2  0x000000000059871d in FlushClient (who=who@entry=0x2e80180, oc=oc@entry=0x2e75d00, __extraBuf=__extraBuf@entry=0x0, extraCount=extraCount@entry=0)
    at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:941
#3  0x0000000000596c5c in CloseDownConnection (client=client@entry=0x2e80180) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/connection.c:1055
#4  0x0000000000437b81 in CloseDownClient (client=client@entry=0x2e80180) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:3403
#5  0x0000000000438625 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:444
#6  0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#7  0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#8  0x00000000004264f9 in _start ()




after continuing all was still working fine and the server didn't restart at this point. But it did after the following:




Program received signal SIGSEGV, Segmentation fault.
0x0000000000598b9c in FlushAllOutput () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:675
675     /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c: Datoteka ali imenik s tem imenom ne obstaja.
(gdb) where
#0  0x0000000000598b9c in FlushAllOutput () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:675
#1  0x0000000000438502 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:390
#2  0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#3  0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#4  0x00000000004264f9 in _start ()
(gdb) thread apply all bt

Thread 2 (Thread 0x7fcf1c023700 (LWP 5049)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcf1c72a9ab in cnd_wait (mtx=<optimized out>, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:154
#2  pipe_semaphore_wait (sema=0x28fd658) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x28fd320) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:648
#4  0x00007fcf1c72a5b7 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:87
#5  0x0000003ba12074c6 in start_thread (arg=0x7fcf1c023700) at pthread_create.c:333
#6  0x0000003ba06ea86d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fcf1e1228c0 (LWP 5047)):
#0  0x0000000000598b9c in FlushAllOutput () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:675
#1  0x0000000000438502 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:390
#2  0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#3  0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#4  0x00000000004264f9 in _start ()
(gdb) c
Continuing.

Program received signal SIGABRT, Aborted.
0x0000003ba0633897 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
55      ../sysdeps/unix/sysv/linux/raise.c: Datoteka ali imenik s tem imenom ne obstaja.
(gdb) where
#0  0x0000003ba0633897 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x0000003ba0634cbd in __GI_abort () at abort.c:89
#2  0x000000000059be0e in OsAbort () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/utils.c:1342
#3  0x000000000047ac2c in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/hw/xfree86/common/xf86Init.c:1065
#4  0x000000000047acec in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/hw/xfree86/common/xf86Init.c:1109
#5  0x00000000005a1922 in AbortServer () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/log.c:804
#6  0x00000000005a285d in FatalError (f=f@entry=0x5cc1b0 "Caught signal %d (%s). Server aborting\n") at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/log.c:945
#7  0x000000000059965c in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/osinit.c:147
#8  <signal handler called>
#9  0x0000000000598b9c in FlushAllOutput () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:675
#10 0x0000000000438502 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:390
#11 0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#12 0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#13 0x00000000004264f9 in _start ()
(gdb) thread apply all bt

Thread 2 (Thread 0x7fcf1c023700 (LWP 5049)):
#0  pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fcf1c72a9ab in cnd_wait (mtx=<optimized out>, cond=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:154
#2  pipe_semaphore_wait (sema=0x28fd658) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/auxiliary/os/os_thread.h:259
#3  radeon_drm_cs_emit_ioctl (param=param@entry=0x28fd320) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c:648
#4  0x00007fcf1c72a5b7 in impl_thrd_routine (p=<optimized out>) at /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/include/c11/threads_posix.h:87
#5  0x0000003ba12074c6 in start_thread (arg=0x7fcf1c023700) at pthread_create.c:333
#6  0x0000003ba06ea86d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fcf1e1228c0 (LWP 5047)):
#0  0x0000003ba0633897 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x0000003ba0634cbd in __GI_abort () at abort.c:89
#2  0x000000000059be0e in OsAbort () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/utils.c:1342
#3  0x000000000047ac2c in ddxGiveUp (error=error@entry=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/hw/xfree86/common/xf86Init.c:1065
#4  0x000000000047acec in AbortDDX (error=error@entry=EXIT_ERR_ABORT) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/hw/xfree86/common/xf86Init.c:1109
#5  0x00000000005a1922 in AbortServer () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/log.c:804
#6  0x00000000005a285d in FatalError (f=f@entry=0x5cc1b0 "Caught signal %d (%s). Server aborting\n") at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/log.c:945
#7  0x000000000059965c in OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/osinit.c:147
#8  <signal handler called>
#9  0x0000000000598b9c in FlushAllOutput () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/os/io.c:675
#10 0x0000000000438502 in Dispatch () at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/dispatch.c:390
#11 0x000000000043c8b5 in dix_main (argc=10, argv=0x7ffe86e2fbf8, envp=<optimized out>) at /var/tmp/portage/x11-base/xorg-server-1.17.2/work/xorg-server-1.17.2/dix/main.c:298
#12 0x0000003ba06207d0 in __libc_start_main (main=0x4264c0 <main>, argc=10, argv=0x7ffe86e2fbf8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, 
    stack_end=0x7ffe86e2fbe8) at libc-start.c:289
#13 0x00000000004264f9 in _start ()
(gdb) c
Continuing.
[Thread 0x7fcf1c023700 (LWP 5049) exited]

Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
Comment 1 Jure Repinc 2015-08-11 16:42:43 UTC
Created attachment 117630 [details]
Xorg log
Comment 2 Jure Repinc 2015-08-16 11:33:38 UTC
Today I got this crash without progress details being shown. So it looks like the crash can happen in more cases and it is maybe just the easiest to trigger when the progress dialog is shown.
Comment 3 Chris Wilson 2015-09-01 15:43:06 UTC
*** Bug 91839 has been marked as a duplicate of this bug. ***
Comment 4 Timo Aaltonen 2015-09-08 07:08:45 UTC

*** This bug has been marked as a duplicate of bug 91316 ***

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.