Bug 40019

Summary: зависание при попытке закрыть окно во время воспроизведения видео
Product: Branch p9 Reporter: Alexey Sheplyakov <asheplyakov>
Component: vlcAssignee: qa-team <qa-team>
Status: CLOSED FIXED QA Contact: qa-p9 <qa-p9>
Severity: normal    
Priority: P5 CC: aen, rider, shrek
Version: не указана   
Hardware: all   
OS: Linux   

Description Alexey Sheplyakov 2021-04-30 06:17:10 MSK
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
Comment 1 Alexey Sheplyakov 2021-04-30 06:18:12 MSK
Воспроизводится на BE-M1000 (плата TF307-MB-S-D) и на rpi4
Comment 2 Alexey Sheplyakov 2021-04-30 07:53:00 MSK
#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

Окошка уже нет, а мы ждем события от него. И, очевидно, никогда не дождемся.
Comment 3 Alexey Sheplyakov 2021-04-30 07:57:06 MSK
https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
Comment 4 Alexey Sheplyakov 2021-04-30 08:04:10 MSK
https://trac.videolan.org/vlc/ticket/21875
Comment 5 AEN 2021-04-30 08:31:36 MSK
(Ответ для Alexey Sheplyakov на комментарий #4)
> https://trac.videolan.org/vlc/ticket/21875

Судя по этому исправлено в 3.0.12.1
Comment 6 AEN 2021-04-30 08:49:12 MSK
(Ответ для 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
Comment 7 AEN 2021-04-30 08:52:04 MSK
(Ответ для 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/
Comment 8 Alexey Sheplyakov 2021-04-30 09:23:47 MSK
В https://code.videolan.org/videolan/vlc-3.0.git починено коммитами:

562331eda1dbe35e98dc0cd057fc1a5c58cf0210
7b7f767b4e1d0c97db918e07dbf0dc41cb4138d8
3463f12d15aa8ae793b4e96518fa44f4f19edf7f
Comment 9 Alexey Sheplyakov 2021-04-30 09:39:25 MSK
(In reply to AEN from comment #5)
> (Ответ для Alexey Sheplyakov на комментарий #4)
> > https://trac.videolan.org/vlc/ticket/21875
> 
> Судя по этому исправлено в 3.0.12.1

Нет, в 3.0.13
Comment 10 Alexey Sheplyakov 2021-04-30 10:53:23 MSK
(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
Comment 11 Anton Farygin 2021-09-21 22:00:03 MSK
исправлено в 3.0.16 (сейчас в p9 она)