Summary: | зависание при попытке закрыть окно во время воспроизведения видео | ||
---|---|---|---|
Product: | Branch p9 | Reporter: | Alexey Sheplyakov <asheplyakov> |
Component: | vlc | Assignee: | 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
Воспроизводится на 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 Окошка уже нет, а мы ждем события от него. И, очевидно, никогда не дождемся. (Ответ для 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 она) |