[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#932182: vlc: Floating point exception crash playing certain DVDs



Source: vlc
Version: 3.0.7-0+deb9u1

(Also reproducible on buster's 3.0.7-1.)

vlc reproducibly crashes early on when trying to play a certain DVD in my collection. (Other DVDs play normally.) Judging from the backtrace (see below), this may be fixed by upstream commit 90989df9e3aab300c2d09a8eb9c0570e4cba4efa:
vout: opengl: converter: prevent FPE with cropped empty spu
This seems to cherry-pick cleanly, I'll be building and testing a modified package soon.

Report #929491 may be about the same problem but doesn't contain enough detail for me to be certain.

I've censored out the DVD title and serial number for privacy.

Reading symbols from /usr/bin/vlc...Reading symbols from /usr/lib/debug/.build-id/e9/f58f04722b8df7835baf5420050c3f691bc510.debug...done.
done.
(gdb) run dvd://1
Starting program: /usr/bin/vlc dvd://1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
VLC media player 3.0.7 Vetinari (revision 3.0.7-0-g86cee31099)
[New Thread 0x7fffe984e700 (LWP 6978)]
[New Thread 0x7fffef216700 (LWP 6979)]
[New Thread 0x7fffe4e3a700 (LWP 6980)]
[000055555575a0e0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[New Thread 0x7fffe41f0700 (LWP 6981)]
[New Thread 0x7fffc6967700 (LWP 6982)]
[New Thread 0x7fffc5d51700 (LWP 6983)]
[New Thread 0x7fffc51f9700 (LWP 6985)]
[New Thread 0x7fffb7fff700 (LWP 6986)]
[New Thread 0x7fffbc11a700 (LWP 6987)]
libdvdnav: Using dvdnav version 5.0.3
[New Thread 0x7fffb53c4700 (LWP 6988)]
[New Thread 0x7fffb52c3700 (LWP 6989)]
[Thread 0x7fffb52c3700 (LWP 6989) exited]
[Thread 0x7fffb53c4700 (LWP 6988) exited]
libdvdnav: DVD Title: ********
libdvdnav: DVD Serial Number: ********
libdvdnav: DVD Title (Alternative): ********
libdvdnav: DVD disk reports itself with Region mask 0x00000000. Regions: 1 2 3 4 5 6 7 8

libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient

libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000134
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x0000017e
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x000001b7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x000029e4
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000029eb
libdvdread: Elapsed time 0
libdvdread: Found 2 VTS's
libdvdread: Elapsed time 0
[New Thread 0x7fffb53c4700 (LWP 6996)]
[New Thread 0x7fffb52c3700 (LWP 6997)]
[New Thread 0x7fff98122700 (LWP 6998)]
[New Thread 0x7fffb4791700 (LWP 6999)]
[New Thread 0x7fff95163700 (LWP 7000)]
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva info: va_openDriver() returns -1
[00007fffa0005da0] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so
libva info: va_openDriver() returns -1
[00007fffa0005da0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.39.4
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so
libva info: va_openDriver() returns -1
[00007fffa0005da0] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
[00007fffa81896d0] avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding
[00007fffa81896d0] main decoder error: buffer deadlock prevented

Thread 17 "vlc" received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x7fff95163700 (LWP 7000)]
0x00007fff94e5cf13 in upload_plane (pixels=0x7fff8c002e40, visible_pitch=0, 
    pitch=<optimized out>, height=<optimized out>, width=0, tex_idx=0, 
    tc=0x7fffa004f190) at video_output/opengl/converter_sw.c:496
496	video_output/opengl/converter_sw.c: No such file or directory.
(gdb) bt
#0  0x00007fff94e5cf13 in upload_plane (pixels=0x7fff8c002e40, visible_pitch=0, pitch=<optimized out>, height=<optimized out>, width=0, tex_idx=0, tc=0x7fffa004f190) at video_output/opengl/converter_sw.c:496
#1  0x00007fff94e5cf13 in tc_common_update (tc=0x7fffa004f190, textures=0x7fffa00aacd0, tex_width=0x7fffa00aacd4, tex_height=0x7fffa00aacd8, pic=0x7fff8c002c50, plane_offset=0x7fff951626e0) at video_output/opengl/converter_sw.c:519
#2  0x00007fff94e5851d in vout_display_opengl_Prepare (vgl=0x7fffa00c51f0, picture=picture@entry=0x7fffa05cffa0, subpicture=subpicture@entry=0x7fffa0551c10)
    at video_output/opengl/vout_helper.c:1231
#3  0x00007fff94e5e1d6 in PictureRender (vd=<optimized out>, pic=0x7fffa05cffa0, subpicture=0x7fffa0551c10) at video_output/opengl/display.c:210
#4  0x00007ffff71656bc in vout_display_Prepare (subpicture=<optimized out>, picture=0x7fffa05cffa0, vd=0x7fffa054e6c0) at ../include/vlc_vout_wrapper.h:47
#5  0x00007ffff71656bc in ThreadDisplayRenderPicture (vout=vout@entry=0x7fffac0072a0, is_forced=is_forced@entry=true) at video_output/video_output.c:1148
#6  0x00007ffff7166fe5 in ThreadDisplayPicture (vout=vout@entry=0x7fffac0072a0, deadline=deadline@entry=0x7fff95162c08) at video_output/video_output.c:1249
#7  0x00007ffff71673be in Thread (object=0x7fffac0072a0)
    at video_output/video_output.c:1810
#8  0x00007ffff799d4a4 in start_thread (arg=0x7fff95163700)
    at pthread_create.c:456
#9  0x00007ffff74dbd0f in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Note the visible_pitch=0 in the arguments to frame #0, matching the above mentioned upstream commit.


Reply to: