1. apt-get install vlc-normal 2. Скачиваем видео https://drive.google.com/file/d/1caW1-lxCJoHY29n7BM6AWhFovKz0T7Zz/view?usp=sharing 3. vlc bbb.mp4 4. Ждем 2 -- 3 секунды, закрываем окно (нажимаем мышкой крестик) Ожидаемый результат: vlc завершается. Наблюдаемый результат: окно vlc закрывается, но процесс vlc остается висеть. В systray отображается иконка vlc. (gdb) info threads Id Target Id Frame * 1 Thread 0xffff8a447010 (LWP 15682) "vlc" 0x0000ffff8a3b31f0 in __GI___pthread_timedjoin_ex (threadid=281472978997584, thread_return=thread_return@entry=0x0, abstime=abstime@entry=0x0, block=block@entry=true) at pthread_join_common.c:89 2 Thread 0xffff87f17150 (LWP 15683) "threaded-ml" 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff800071b0, nfds=nfds@entry=3, timeout=timeout@entry=1176) at ../sysdeps/unix/sysv/linux/poll.c:41 3 Thread 0xffff88ed5150 (LWP 15684) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0x19ddbc64) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 4 Thread 0xffff88db3150 (LWP 15685) "vlc" 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff88db2800, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 5 Thread 0xffff67fff150 (LWP 15688) "vlc" 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c4bd370, nfds=4, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 6 Thread 0xffff6781e150 (LWP 15695) "QXcbEventQueue" 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff6781d7b8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41 7 Thread 0xffff65c1d150 (LWP 15696) "gmain" 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c104430, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 8 Thread 0xffff6541c150 (LWP 15697) "gdbus" 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c117320, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 9 Thread 0xffff64afd150 (LWP 15698) "QDBusConnection" 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff480028b0, nfds=3, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 10 Thread 0xffff6423e150 (LWP 15702) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff5c2dd000) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 11 Thread 0xffff4295c150 (LWP 15708) "vlc" 0x0000ffff8a3b31f0 in __GI___pthread_timedjoin_ex (threadid=281471797801296, thread_return=thread_return@entry=0x0, abstime=abstime@entry=0x0, block=block@entry=true) at pthread_join_common.c:89 12 Thread 0xffff3931c150 (LWP 15710) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8740) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 13 Thread 0xffff38b1b150 (LWP 15711) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8900) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 14 Thread 0xffff2bfff150 (LWP 15712) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8ac0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 15 Thread 0xffff2b7fe150 (LWP 15713) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8c80) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 16 Thread 0xffff2affd150 (LWP 15714) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8e44) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 17 Thread 0xffff2a7fc150 (LWP 15715) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda9004) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 18 Thread 0xffff4285b150 (LWP 15716) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff24047848) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 19 Thread 0xffff3828e150 (LWP 15717) "vlc" futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cc05a88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 20 Thread 0xffff295ec150 (LWP 15718) "vlc" 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff295eab88, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41 (gdb) thread apply all bt Thread 20 (Thread 0xffff295ec150 (LWP 15718)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff295eab88, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff8911f860 in poll (__timeout=-1, __nfds=1, __fds=0xffff295eab88) at /usr/include/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0xffff201ab0e0, cond=cond@entry=0xffff206194b8, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479 #3 0x0000ffff891214c0 in xcb_wait_for_special_event (c=0xffff201ab0e0, se=0xffff20619490) at xcb_in.c:795 #4 0x0000ffff294676b0 in dri3_wait_for_event_locked (draw=0xffff200c5238, full_sequence=0x0) at ../src/loader/loader_dri3_helper.c:582 #5 0x0000ffff29467aa8 in dri3_find_back (draw=draw@entry=0xffff200c5238) at ../src/loader/loader_dri3_helper.c:711 #6 0x0000ffff29468c9c in dri3_get_buffer (format=format@entry=4098, buffer_type=buffer_type@entry=loader_dri3_buffer_back, draw=draw@entry=0xffff200c5238, driDrawable=<optimized out>) at ../src/loader/loader_dri3_helper.c:1882 #7 0x0000ffff294699b4 in loader_dri3_get_buffers (driDrawable=<optimized out>, format=4098, stamp=0xffff20627190, loaderPrivate=0xffff200c5238, buffer_mask=1, buffers=0xffff295eaed8) at ../src/loader/loader_dri3_helper.c:2103 #8 0x0000ffff42b934b4 in dri_image_drawable_get_buffers (statts_count=<optimized out>, statts=<optimized out>, images=<optimized out>, drawable=<optimized out>) at ../src/gallium/frontends/dri/dri2.c:282 #9 dri2_allocate_textures (ctx=0xffff20684170, drawable=0xffff20627190, statts=0xffff200bf888, statts_count=1) at ../src/gallium/frontends/dri/dri2.c:415 #10 0x0000ffff42b952cc in dri_st_framebuffer_validate (stctx=<optimized out>, stfbi=<optimized out>, statts=0xffff200bf888, count=1, out=0xffff295eb0b0) at ../src/gallium/frontends/dri/dri_drawable.c:82 #11 0x0000ffff42be0010 in st_framebuffer_validate (stfb=0xffff200bf3b0, st=st@entry=0xffff20625030) at ../src/mesa/state_tracker/st_manager.c:223 #12 0x0000ffff42be02c4 in st_api_make_current (stapi=<optimized out>, streadi=0xffff20627190, stdrawi=0xffff20627190, stctxi=0xffff20625030) at ../src/mesa/state_tracker/st_manager.c:1082 #13 st_api_make_current (stapi=<optimized out>, stctxi=0xffff20625030, stdrawi=0xffff20627190, streadi=0xffff20627190) at ../src/mesa/state_tracker/st_manager.c:1057 #14 0x0000ffff42b94c4c in dri_make_current (cPriv=<optimized out>, driDrawPriv=<optimized out>, driReadPriv=<optimized out>) at ../src/gallium/frontends/dri/dri_context.c:303 #15 0x0000ffff430a6634 in driBindContext (pcp=<optimized out>, pdp=<optimized out>, prp=<optimized out>) at ../src/mesa/drivers/dri/common/dri_util.c:586 #16 0x0000ffff2945d68c in dri2_make_current (disp=0xffff2062de00, dsurf=0xffff200c4f10, rsurf=0xffff200c4f10, ctx=<optimized out>) at ../src/egl/drivers/dri2/egl_dri2.c:1813 #17 0x0000ffff2944c1f4 in eglMakeCurrent (dpy=0xffff2062de00, draw=<optimized out>, read=0xffff200c4f10, ctx=<optimized out>) at ../src/egl/main/eglapi.c:908 #18 0x0000ffff65eeb494 in InternalMakeCurrentVendor (dpy=dpy@entry=0xffff2001b230, draw=draw@entry=0xffff200c4f10, read=read@entry=0xffff200c4f10, context=context@entry=0xffff20030650, apiState=apiState@entry=0xffff2045e3a0, vendor=0xffff200163f0) at libegl.c:867 #19 0x0000ffff65eeb54c in InternalMakeCurrentDispatch (dpy=0xffff2001b230, draw=0xffff200c4f10, read=0xffff200c4f10, context=0xffff20030650, vendor=0xffff200163f0) at libegl.c:636 #20 0x0000ffff65eebff0 in eglMakeCurrent (dpy=<optimized out>, draw=<optimized out>, read=<optimized out>, context=<optimized out>) at libegl.c:746 #21 0x0000ffff294a61a8 in MakeCurrent (gl=<optimized out>) at video_output/opengl/egl.c:66 #22 0x0000ffff294d6e0c in vlc_gl_MakeCurrent (gl=<optimized out>) at ../include/vlc_opengl.h:91 #23 PictureRender (vd=<optimized out>, pic=0xffff301a1510, subpicture=0x0) at video_output/opengl/display.c:208 #24 0x0000ffff8a193bd8 in vout_display_Prepare (subpicture=0x0, picture=0xffff301a1510, vd=0xffff200013a0) at ../include/vlc_vout_wrapper.h:47 #25 ThreadDisplayRenderPicture (vout=vout@entry=0xffff240475f0, is_forced=false) at video_output/video_output.c:1144 #26 0x0000ffff8a1950b0 in ThreadDisplayPicture (vout=vout@entry=0xffff240475f0, deadline=deadline@entry=0xffff295eb818) at video_output/video_output.c:1250 #27 0x0000ffff8a195484 in Thread (object=0xffff240475f0) at video_output/video_output.c:1811 #28 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff39311dbf) at pthread_create.c:463 #29 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 19 (Thread 0xffff3828e150 (LWP 15717)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cc05a88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cc05a30, cond=0xffff2cc05a60) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0xffff2cc05a60, mutex=0xffff2cc05a30) at pthread_cond_wait.c:655 #3 0x0000ffff8a1c440c in vlc_cond_wait (p_condvar=<optimized out>, p_mutex=<optimized out>) at posix/thread.c:272 #4 0x0000ffff8a1b09e8 in vlc_fifo_WaitCond (fifo=<optimized out>, condvar=<optimized out>) at misc/fifo.c:71 #5 0x0000ffff8a1b09f0 in vlc_fifo_Wait (fifo=<optimized out>) at misc/fifo.c:66 #6 0x0000ffff8a16726c in DecoderThread (p_data=0xffff2ce7b580) at input/decoder.c:1608 #7 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295afcf) at pthread_create.c:463 #8 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 18 (Thread 0xffff4285b150 (LWP 15716)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff24047848) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff240477c0, cond=0xffff24047820) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=0xffff24047820, mutex=0xffff240477c0) at pthread_cond_wait.c:655 #3 0x0000ffff8a1c440c in vlc_cond_wait (p_condvar=<optimized out>, p_mutex=<optimized out>) at posix/thread.c:272 #4 0x0000ffff8a18ea04 in vout_control_WaitEmpty (ctrl=0xffff240477c0) at video_output/control.c:96 #5 0x0000ffff8a19623c in vout_Cancel (vout=<optimized out>, canceled=canceled@entry=false) at video_output/video_output.c:311 #6 0x0000ffff8a1685f4 in decoder_AbortPictures (p_dec=<optimized out>, b_abort=false) at input/decoder.c:727 #7 0x0000ffff8a167114 in DecoderProcessFlush (p_dec=0xffff2cd8aa70) at input/decoder.c:1483 #8 DecoderThread (p_data=0xffff2cd8aa70) at input/decoder.c:1556 #9 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295afcf) at pthread_create.c:463 #10 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 17 (Thread 0xffff2a7fc150 (LWP 15715)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda9004) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda9068, cond=0xffff2cda8fd8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda8fd8, mutex=mutex@entry=0xffff2cda9068) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda8fc0) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 16 (Thread 0xffff2affd150 (LWP 15714)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8e44) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda8ea8, cond=0xffff2cda8e18) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda8e18, mutex=mutex@entry=0xffff2cda8ea8) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda8e00) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 15 (Thread 0xffff2b7fe150 (LWP 15713)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8c80) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda8ce8, cond=0xffff2cda8c58) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda8c58, mutex=mutex@entry=0xffff2cda8ce8) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda8c40) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 14 (Thread 0xffff2bfff150 (LWP 15712)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8ac0) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda8b28, cond=0xffff2cda8a98) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda8a98, mutex=mutex@entry=0xffff2cda8b28) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda8a80) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 13 (Thread 0xffff38b1b150 (LWP 15711)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8900) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda8968, cond=0xffff2cda88d8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda88d8, mutex=mutex@entry=0xffff2cda8968) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda88c0) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 12 (Thread 0xffff3931c150 (LWP 15710)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff2cda8740) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff2cda87a8, cond=0xffff2cda8718) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff2cda8718, mutex=mutex@entry=0xffff2cda87a8) at pthread_cond_wait.c:655 #3 0x0000ffff41696b28 in frame_worker_thread (arg=0xffff2cda8700) at libavcodec/pthread_frame.c:177 #4 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff4295ab3f) at pthread_create.c:463 #5 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 11 (Thread 0xffff4295c150 (LWP 15708)): #0 0x0000ffff8a3b31f0 in __GI___pthread_timedjoin_ex (threadid=281471797801296, thread_return=thread_return@entry=0x0, abstime=abstime@entry=0x0, block=block@entry=true) at pthread_join_common.c:89 #1 0x0000ffff8a3b3054 in __pthread_join (threadid=<optimized out>, thread_return=thread_return@entry=0x0) at pthread_join.c:24 #2 0x0000ffff8a1c4704 in vlc_join (th=..., result=result@entry=0x0) at posix/thread.c:499 #3 0x0000ffff8a1686b0 in input_DecoderDelete (p_dec=0xffff2cd8aa70) at input/decoder.c:2010 #4 0x0000ffff8a16dd14 in EsDestroyDecoder (out=0xffff34004890, p_es=0xffff2cd1cad0, p_es=0xffff2cd1cad0) at input/es_out.c:1713 #5 EsUnselect (out=out@entry=0xffff34004890, es=0xffff2cd1cad0, b_update=<optimized out>) at input/es_out.c:1841 #6 0x0000ffff8a1714ac in EsOutControlLocked (args=..., i_query=<optimized out>, out=0xffff34004890) at input/es_out.c:2323 #7 EsOutControl (out=0xffff34004890, i_query=<optimized out>, args=<error reading variable: Cannot access memory at address 0xffffffff>) at input/es_out.c:2900 #8 0x0000ffff8a172ecc in es_out_vaControl (args=..., i_query=<optimized out>, out=<optimized out>) at ../include/vlc_es_out.h:141 #9 es_out_Control (out=<optimized out>, i_query=<optimized out>) at ../include/vlc_es_out.h:150 #10 0x0000ffff8a174924 in ControlLocked (args=..., i_query=<optimized out>, p_out=<optimized out>) at input/es_out_timeshift.c:664 #11 Control (p_out=<optimized out>, i_query=<optimized out>, args=...) at input/es_out_timeshift.c:764 #12 0x0000ffff8a17641c in es_out_vaControl (args=..., i_query=65536, out=<optimized out>) at ../include/vlc_es_out.h:141 #13 es_out_Control (out=<optimized out>, i_query=i_query@entry=65536) at ../include/vlc_es_out.h:150 #14 0x0000ffff8a177310 in es_out_SetMode (i_mode=0, p_out=<optimized out>) at input/es_out.h:95 #15 End (p_input=p_input@entry=0xffff34000c50) at input/input.c:1484 #16 0x0000ffff8a17d508 in Run (data=0xffff34000c50) at input/input.c:508 #17 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff88ed465f) at pthread_create.c:463 #18 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 10 (Thread 0xffff6423e150 (LWP 15702)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0xffff5c2dd000) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0xffff5c2dd008, cond=0xffff5c2dcfd8) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0xffff5c2dcfd8, mutex=mutex@entry=0xffff5c2dd008) at pthread_cond_wait.c:655 #3 0x0000ffff8a1c440c in vlc_cond_wait (p_condvar=p_condvar@entry=0xffff5c2dcfd8, p_mutex=p_mutex@entry=0xffff5c2dd008) at posix/thread.c:272 #4 0x0000ffff8a1c2de0 in vlc_timer_thread (data=0xffff5c2dcfd0) at posix/timer.c:65 #5 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff67ffde0f) at pthread_create.c:463 #6 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 9 (Thread 0xffff64afd150 (LWP 15698)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff480028b0, nfds=3, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff89475f54 in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0xffff480028b0, timeout=<optimized out>, context=0xffff48000bf0) at ../glib/gmain.c:4228 #2 g_main_context_iterate (context=context@entry=0xffff48000bf0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3922 #3 0x0000ffff89476074 in g_main_context_iteration (context=0xffff48000bf0, may_block=may_block@entry=1) at ../glib/gmain.c:3988 #4 0x0000ffff8681db34 in QEventDispatcherGlib::processEvents (this=0xffff48000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x0000ffff867c43d8 in QEventLoop::exec (this=this@entry=0xffff64afc898, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x0000ffff865fad4c in QThread::exec (this=this@entry=0xffff840a6478 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x0000ffff8401874c in QDBusConnectionManager::run (this=0xffff840a6478 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #8 0x0000ffff865fc590 in QThreadPrivate::start (arg=0xffff840a6478 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361 #9 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff67ffe2bf) at pthread_create.c:463 #10 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 8 (Thread 0xffff6541c150 (LWP 15697)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c117320, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff89475f54 in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0xffff5c117320, timeout=<optimized out>, context=0xffff5c1153f0) at ../glib/gmain.c:4228 #2 g_main_context_iterate (context=0xffff5c1153f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3922 #3 0x0000ffff89476370 in g_main_loop_run (loop=0xffff5c1154e0) at ../glib/gmain.c:4123 #4 0x0000ffff66180b54 in gdbus_shared_thread_func (user_data=0xffff5c1153c0) at ../gio/gdbusprivate.c:275 #5 0x0000ffff8949f02c in g_thread_proxy (data=0xffff5c09a680) at ../glib/gthread.c:805 #6 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff67ffdc2f) at pthread_create.c:463 #7 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 7 (Thread 0xffff65c1d150 (LWP 15696)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c104430, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff89475f54 in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0xffff5c104430, timeout=<optimized out>, context=0xffff5c105b70) at ../glib/gmain.c:4228 #2 g_main_context_iterate (context=context@entry=0xffff5c105b70, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3922 #3 0x0000ffff89476074 in g_main_context_iteration (context=0xffff5c105b70, may_block=may_block@entry=1) at ../glib/gmain.c:3988 #4 0x0000ffff894760cc in glib_worker_main (data=<optimized out>) at ../glib/gmain.c:5868 #5 0x0000ffff8949f02c in g_thread_proxy (data=0xffff5c09a5e0) at ../glib/gthread.c:805 #6 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff67ffda4f) at pthread_create.c:463 #7 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 6 (Thread 0xffff6781e150 (LWP 15695)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff6781d7b8, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff8911f860 in poll (__timeout=-1, __nfds=1, __fds=0xffff6781d7b8) at /usr/include/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0xffff5c010ed0, cond=cond@entry=0xffff5c010f18, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479 #3 0x0000ffff891213dc in xcb_wait_for_event (c=c@entry=0xffff5c010ed0) at xcb_in.c:697 #4 0x0000ffff67dde8f8 in QXcbEventQueue::run (this=0xffff5c023b60) at qxcbeventqueue.cpp:228 #5 0x0000ffff865fc590 in QThreadPrivate::start (arg=0xffff5c023b60) at thread/qthread_unix.cpp:361 #6 0x0000ffff8a3b1fe4 in start_thread (arg=0xffff67ffe12f) at pthread_create.c:463 #7 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 5 (Thread 0xffff67fff150 (LWP 15688)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff5c4bd370, nfds=4, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff89475f54 in g_main_context_poll (priority=<optimized out>, n_fds=4, fds=0xffff5c4bd370, timeout=<optimized out>, context=0xffff50004fd0) at ../glib/gmain.c:4228 #2 g_main_context_iterate (context=context@entry=0xffff50004fd0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3922 #3 0x0000ffff89476074 in g_main_context_iteration (context=0xffff50004fd0, may_block=may_block@entry=1) at ../glib/gmain.c:3988 #4 0x0000ffff8681db34 in QEventDispatcherGlib::processEvents (this=0xffff5c0d29d0, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #5 0x0000ffff867c43d8 in QEventLoop::exec (this=this@entry=0xffff67ffe7e0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x0000ffff867ccbbc in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x0000ffff887c0d40 in ThreadPlatform (obj=0x19eb2740, platform_name=platform_name@entry=0xffff67ffe940 "xcb") at gui/qt/qt.cpp:643 #8 0x0000ffff887c185c in ThreadXCB (data=<optimized out>) at gui/qt/qt.cpp:368 #9 0x0000ffff8a3b1fe4 in start_thread (arg=0xffffd995192f) at pthread_create.c:463 #10 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 4 (Thread 0xffff88db3150 (LWP 15685)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=0xffff88db2800, nfds=2, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff88dbd94c in ?? () from /usr/lib64/vlc/plugins/control/libdbus_plugin.so #2 0x0000ffff8a3b1fe4 in start_thread (arg=0xffffd99516df) at pthread_create.c:463 #3 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 3 (Thread 0xffff88ed5150 (LWP 15684)): #0 futex_wait_cancelable (private=0, expected=0, futex_word=0x19ddbc64) at ../sysdeps/unix/sysv/linux/futex-internal.h:88 #1 __pthread_cond_wait_common (abstime=0x0, mutex=0x19ddbc08, cond=0x19ddbc38) at pthread_cond_wait.c:502 #2 __pthread_cond_wait (cond=cond@entry=0x19ddbc38, mutex=mutex@entry=0x19ddbc08) at pthread_cond_wait.c:655 #3 0x0000ffff8a1c440c in vlc_cond_wait (p_condvar=p_condvar@entry=0x19ddbc38, p_mutex=p_mutex@entry=0x19ddbc08) at posix/thread.c:272 #4 0x0000ffff8a1508b4 in LoopInput (p_playlist=0x19ddbb10) at playlist/thread.c:439 #5 Thread (data=0x19ddbb10) at playlist/thread.c:501 #6 0x0000ffff8a3b1fe4 in start_thread (arg=0xffffd99519ef) at pthread_create.c:463 #7 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 2 (Thread 0xffff87f17150 (LWP 15683)): #0 0x0000ffff8a2eca10 in __GI___poll (fds=fds@entry=0xffff800071b0, nfds=nfds@entry=3, timeout=timeout@entry=1176) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000ffff8928d714 in poll (__timeout=1176, __nfds=3, __fds=0xffff800071b0) at /usr/include/bits/poll2.h:46 #2 poll_func (ufds=0xffff800071b0, nfds=3, timeout=1176, userdata=0x19e6f370) at ../src/pulse/thread-mainloop.c:70 #3 0x0000ffff8927f998 in pa_mainloop_poll (m=m@entry=0x19ea6370) at ../src/pulse/mainloop.c:822 #4 0x0000ffff89280044 in pa_mainloop_iterate (m=0x19ea6370, block=<optimized out>, retval=0x0) at ../src/pulse/mainloop.c:924 #5 0x0000ffff89280110 in pa_mainloop_run (m=0x19ea6370, retval=retval@entry=0x0) at ../src/pulse/mainloop.c:943 #6 0x0000ffff8928d668 in thread (userdata=0x19e6add0) at ../src/pulse/thread-mainloop.c:101 #7 0x0000ffff8922120c in internal_thread_func (userdata=0x19e6f620) at ../src/pulsecore/thread-posix.c:81 #8 0x0000ffff8a3b1fe4 in start_thread (arg=0xffffd995178f) at pthread_create.c:463 #9 0x0000ffff8a2f5a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 Thread 1 (Thread 0xffff8a447010 (LWP 15682)): #0 0x0000ffff8a3b31f0 in __GI___pthread_timedjoin_ex (threadid=281472978997584, thread_return=thread_return@entry=0x0, abstime=abstime@entry=0x0, block=block@entry=true) at pthread_join_common.c:89 #1 0x0000ffff8a3b3054 in __pthread_join (threadid=<optimized out>, thread_return=thread_return@entry=0x0) at pthread_join.c:24 #2 0x0000ffff8a1c4704 in vlc_join (th=..., result=result@entry=0x0) at posix/thread.c:499 #3 0x0000ffff8a14fe08 in playlist_Deactivate (p_playlist=<optimized out>) at playlist/thread.c:88 #4 0x0000ffff887c02b8 in Close (p_this=0x19eb2740) at gui/qt/qt.cpp:489 #5 0x0000ffff8a149188 in vlc_module_unload (obj=obj@entry=0x19eb2740, module=<optimized out>, deinit=deinit@entry=0xffff8a1486f0 <generic_stop>) at modules/modules.c:343 #6 0x0000ffff8a149238 in module_unneed (obj=obj@entry=0x19eb2740, module=<optimized out>) at modules/modules.c:378 #7 0x0000ffff8a14efcc in intf_DestroyAll (libvlc=libvlc@entry=0x19dd88f0) at interface/interface.c:254 #8 0x0000ffff8a133010 in libvlc_InternalCleanup (p_libvlc=0x19dd88f0) at libvlc.c:391 #9 0x0000ffff8a3e258c in libvlc_release (p_instance=p_instance@entry=0x19dd8780) at core.c:104 #10 0x000000000040138c in main (i_argc=<optimized out>, ppsz_argv=<optimized out>) at vlc.c:275
Воспроизводится на BE-M1000 (плата TF307-MB-S-D) и на rpi4
#0 0x0000fffff7e97a10 in __GI___poll (fds=fds@entry=0xffffba4f3b88, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:41 #1 0x0000fffff6cca860 in poll (__timeout=-1, __nfds=1, __fds=0xffffba4f3b88) at /usr/include/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0xffffb007e0f0, cond=cond@entry=0xffffb06878c8, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479 #3 0x0000fffff6ccc4c0 in xcb_wait_for_special_event (c=0xffffb007e0f0, se=0xffffb06878a0) at xcb_in.c:795 #4 0x0000ffffba35c6b0 in dri3_wait_for_event_locked (draw=0xffffb0738738, full_sequence=0x0) at ../src/loader/loader_dri3_helper.c:582 #5 0x0000ffffba35caa8 in dri3_find_back (draw=draw@entry=0xffffb0738738) at ../src/loader/loader_dri3_helper.c:711 #6 0x0000ffffba35dc9c in dri3_get_buffer (format=format@entry=4098, buffer_type=buffer_type@entry=loader_dri3_buffer_back, draw=draw@entry=0xffffb0738738, driDrawable=<optimized out>) at ../src/loader/loader_dri3_helper.c:1882 #7 0x0000ffffba35e9b4 in loader_dri3_get_buffers (driDrawable=<optimized out>, format=4098, stamp=0xffffb09403d0, loaderPrivate=0xffffb0738738, buffer_mask=1, buffers=0xffffba4f3ed8) at ../src/loader/loader_dri3_helper.c:2103 #8 0x0000ffffb8d0d4b4 in dri_image_drawable_get_buffers (statts_count=<optimized out>, statts=<optimized out>, images=<optimized out>, drawable=<optimized out>) at ../src/gallium/frontends/dri/dri2.c:282 #9 dri2_allocate_textures (ctx=0xffffb07b0a30, drawable=0xffffb09403d0, statts=0xffffb078ded8, statts_count=1) at ../src/gallium/frontends/dri/dri2.c:415 #10 0x0000ffffb8d0f2cc in dri_st_framebuffer_validate (stctx=<optimized out>, stfbi=<optimized out>, statts=0xffffb078ded8, count=1, out=0xffffba4f40b0) at ../src/gallium/frontends/dri/dri_drawable.c:82 #11 0x0000ffffb8d5a010 in st_framebuffer_validate (stfb=0xffffb078da00, st=st@entry=0xffffb06f6600) at ../src/mesa/state_tracker/st_manager.c:223 #12 0x0000ffffb8d5a2c4 in st_api_make_current (stapi=<optimized out>, streadi=0xffffb09403d0, stdrawi=0xffffb09403d0, stctxi=0xffffb06f6600) at ../src/mesa/state_tracker/st_manager.c:1082 #13 st_api_make_current (stapi=<optimized out>, stctxi=0xffffb06f6600, stdrawi=0xffffb09403d0, streadi=0xffffb09403d0) at ../src/mesa/state_tracker/st_manager.c:1057 #14 0x0000ffffb8d0ec4c in dri_make_current (cPriv=<optimized out>, driDrawPriv=<optimized out>, driReadPriv=<optimized out>) at ../src/gallium/frontends/dri/dri_context.c:303 #15 0x0000ffffb9220634 in driBindContext (pcp=<optimized out>, pdp=<optimized out>, prp=<optimized out>) at ../src/mesa/drivers/dri/common/dri_util.c:586 #16 0x0000ffffba35268c in dri2_make_current (disp=0xffffb0718640, dsurf=0xffffb0738410, rsurf=0xffffb0738410, ctx=<optimized out>) at ../src/egl/drivers/dri2/egl_dri2.c:1813 #17 0x0000ffffba3411f4 in eglMakeCurrent (dpy=0xffffb0718640, draw=<optimized out>, read=0xffffb0738410, ctx=<optimized out>) at ../src/egl/main/eglapi.c:908 #18 0x0000ffffbe199494 in InternalMakeCurrentVendor (dpy=dpy@entry=0xffffb063daa0, draw=draw@entry=0xffffb0738410, read=read@entry=0xffffb0738410, context=context@entry=0xffffb0cd0dd0, apiState=apiState@entry=0xffffb0c0eb90, vendor=0xffffb0017170) at libegl.c:867 #19 0x0000ffffbe19954c in InternalMakeCurrentDispatch (dpy=0xffffb063daa0, draw=0xffffb0738410, read=0xffffb0738410, context=0xffffb0cd0dd0, vendor=0xffffb0017170) at libegl.c:636 #20 0x0000ffffbe199ff0 in eglMakeCurrent (dpy=<optimized out>, draw=<optimized out>, read=<optimized out>, context=<optimized out>) at libegl.c:746 #21 0x0000ffffba3af1a8 in MakeCurrent (gl=<optimized out>) at video_output/opengl/egl.c:66 #22 0x0000ffffba3dfe0c in vlc_gl_MakeCurrent (gl=<optimized out>) at ../include/vlc_opengl.h:91 #23 PictureRender (vd=<optimized out>, pic=0xffffd4272f30, subpicture=0x0) at video_output/opengl/display.c:208 #24 0x0000fffff7d3ebd8 in vout_display_Prepare (subpicture=0x0, picture=0xffffd4272f30, vd=0xffffb0001c00) at ../include/vlc_vout_wrapper.h:47 #25 ThreadDisplayRenderPicture (vout=vout@entry=0xffffc4008bc0, is_forced=false) at video_output/video_output.c:1144 #26 0x0000fffff7d400b0 in ThreadDisplayPicture (vout=vout@entry=0xffffc4008bc0, deadline=deadline@entry=0xffffba4f4818) at video_output/video_output.c:1250 #27 0x0000fffff7d40484 in Thread (object=0xffffc4008bc0) at video_output/video_output.c:1811 #28 0x0000fffff7f5cfe4 in start_thread (arg=0xffffbdc9fdbf) at pthread_create.c:463 #29 0x0000fffff7ea0a2c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78 (gdb) frame 4 #4 0x0000ffffba35c6b0 in dri3_wait_for_event_locked (draw=0xffffb0738738, full_sequence=0x0) at ../src/loader/loader_dri3_helper.c:582 582 ev = xcb_wait_for_special_event(draw->conn, draw->special_event); (gdb) print /x draw->window $7 = 0x4e00000 $ xlsclients -l | grep -e '^Window 0x4e00000' |wc -l 0 Окошка уже нет, а мы ждем события от него. И, очевидно, никогда не дождемся.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
https://trac.videolan.org/vlc/ticket/21875
(Ответ для Alexey Sheplyakov на комментарий #4) > https://trac.videolan.org/vlc/ticket/21875 Судя по этому исправлено в 3.0.12.1
(Ответ для AEN на комментарий #5) > (Ответ для Alexey Sheplyakov на комментарий #4) > > https://trac.videolan.org/vlc/ticket/21875 > > Судя по этому исправлено в 3.0.12.1 И еще CVE https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26664
(Ответ для AEN на комментарий #6) > (Ответ для AEN на комментарий #5) > > (Ответ для Alexey Sheplyakov на комментарий #4) > > > https://trac.videolan.org/vlc/ticket/21875 > > > > Судя по этому исправлено в 3.0.12.1 > > И еще CVE https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26664 https://www.videolan.org/security/
В https://code.videolan.org/videolan/vlc-3.0.git починено коммитами: 562331eda1dbe35e98dc0cd057fc1a5c58cf0210 7b7f767b4e1d0c97db918e07dbf0dc41cb4138d8 3463f12d15aa8ae793b4e96518fa44f4f19edf7f
(In reply to AEN from comment #5) > (Ответ для Alexey Sheplyakov на комментарий #4) > > https://trac.videolan.org/vlc/ticket/21875 > > Судя по этому исправлено в 3.0.12.1 Нет, в 3.0.13
(In reply to Alexey Sheplyakov from comment #8) > В https://code.videolan.org/videolan/vlc-3.0.git починено коммитами: > > 562331eda1dbe35e98dc0cd057fc1a5c58cf0210 > 7b7f767b4e1d0c97db918e07dbf0dc41cb4138d8 > 3463f12d15aa8ae793b4e96518fa44f4f19edf7f Сделал тестовую сборку с этими коммитами #270989 TESTED #1 [test-only] p9 vlc.git=3.0.11.1-alt3
исправлено в 3.0.16 (сейчас в p9 она)