pesintta / vdr-plugin-vaapidevice

VDR VAAPIDevice Plug-in
9 stars 11 forks source link

Jump to last mark -> segfault #105

Open Quantomax opened 6 years ago

Quantomax commented 6 years ago

Hi,

while opening a recording (as usual) pressing 9 - 7 to check cutting it is ok, vdr already vanishes pressing just "9" (jump to end):

kernel: [111280.279359] vdr[15926]: segfault at d8 ip 00007f3ef0166899 sp 00007f3e62ffc190 error 4 in libdrm_intel.so.1.0.0[7f3ef0160000+22000] [and again and ...] kernel: [111751.696539] vdr[16491] segfault at d8 ip 00007f18f79dc899 sp 00007f18837fd190 error 4 in libdrm_intel.so.1.0.0[7f18f79d6000+22000]

with SD and/or HD recordings.

System-Info

VAAPIDEVICE SYSTEM INFORMATION REPORT

inxi
System:    Kernel: 4.14.10-dvb x86_64 bits: 64 gcc: 7.2.0 Console: tty 2 Distro: Debian GNU/Linux buster/sid
Machine:   Device: desktop Mobo: ASRock model: J3160-ITX serial: <filter>
           UEFI [Legacy]: American Megatrends v: P1.30 date: 03/30/2016
CPU:       Quad core Intel Celeron J3160 (-MCP-) arch: Airmont rev.4 cache: 1024 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 12800
           clock speeds: max: 2240 MHz 1: 1600 MHz 2: 1600 MHz 3: 1600 MHz 4: 1600 MHz
Graphics:  Card: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
           bus-ID: 00:02.0
           Display Server: X.Org 1.19.6 driver: i915 Resolution: 1920x1080
           OpenGL: renderer: Mesa DRI Intel HD Graphics 400 (Braswell)
           version: 4.5 Mesa 17.3.6 Direct Render: Yes
Audio:     Card Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0
           Sound: Advanced Linux Sound Architecture v: k4.14.10-dvb
vainfo
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.0.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
ffmpeg
ffmpeg version 3.4.2-1+b1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Debian 7.3.0-4)
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100
gcc
7
svdrpsend
220 <filter> SVDRP VideoDiskRecorder 2.3.8; Thu Mar 15 01:03:06 2018; UTF-8
900- Frames: missed(0) duped(299) dropped(6) total(7438) PTS(10:32:40.783) drift(-10) audio(442) video(0)
900- Video: h264/vaapi_vld 1920x1080i 16:9 @ 1920x1080 - Intel i965 driver for Intel(R) CherryView - 2.0.0
900- Audio: ac3 48000Hz 6 channels
900 Command: vaapidevice -a stereo -p hdmi:CARD=PCH,DEV=2,AES0=0x06 -g 1920x1080+0+0 -v va-api -w alsa-driver-broken -w alsa-close-open-delay
221 <filter> closing connection
Quantomax commented 6 years ago

As I noticed, this happens on every forward jump (yellow, 3, 9)...

rofafor commented 6 years ago

We are unable to reproduce this on our Haswell based setups, so you'll need to dig further on the driver segvaults. My first step would be upgrading Intel's vaapi driver to the same level as the used libva library (2.0.0 -> 2.1.0).

Quantomax commented 6 years ago

Still there: kernel: [ 381.731713] vdr[4006] segfault at d8 ip 00007f714e5a4899 sp 00007f70cd6fb190 error 4 in libdrm_intel.so.1.0.0[7f714e59e000+22000] runvdr: restarting VDR

Noticed, skinnopacity has some problems to display the << < || > >> icons, something like an old TV that lost Hsync (within the icon).

Will try kernel-update, hoping 4.14.24's USB3 issues have vanished.

VAAPIDEVICE SYSTEM INFORMATION REPORT

inxi
System:    Kernel: 4.14.10-dvb x86_64 bits: 64 gcc: 7.2.0 Console: tty 2 Distro: Debian GNU/Linux buster/sid
Machine:   Device: desktop Mobo: ASRock model: J3160-ITX serial: <filter>
           UEFI [Legacy]: American Megatrends v: P1.30 date: 03/30/2016
CPU:       Quad core Intel Celeron J3160 (-MCP-) arch: Airmont rev.4 cache: 1024 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 12800
           clock speeds: max: 2240 MHz 1: 1600 MHz 2: 1600 MHz 3: 1600 MHz 4: 1600 MHz
Graphics:  Card: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
           bus-ID: 00:02.0
           Display Server: X.Org 1.19.6 driver: i915 Resolution: 1920x1080
           OpenGL: renderer: Mesa DRI Intel HD Graphics 400 (Braswell)
           version: 4.5 Mesa 17.3.6 Direct Render: Yes
Audio:     Card Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller
           driver: snd_hda_intel bus-ID: 00:1b.0
           Sound: Advanced Linux Sound Architecture v: k4.14.10-dvb
vainfo
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) CherryView - 2.1.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
ffmpeg
ffmpeg version 3.4.2-1+b1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Debian 7.3.0-4)
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100
gcc
7
svdrpsend
220 <filter> SVDRP VideoDiskRecorder 2.3.8; Sun Mar 18 02:14:20 2018; UTF-8
900- Frames: missed(0) duped(273) dropped(7) total(4915) PTS( 4:11:44.610) drift(23) audio(368) video(0)
900- Video: h264/vaapi_vld 1920x1080i 16:9 @ 1920x1080 - Intel i965 driver for Intel(R) CherryView - 2.1.0
900- Audio: ac3 48000Hz 6 channels
900 Command: vaapidevice -a stereo -p hdmi:CARD=PCH,DEV=2,AES0=0x06 -g 1920x1080+0+0 -v va-api -w alsa-driver-broken -w alsa-close-open-delay
221 <filter> closing connection
Quantomax commented 6 years ago

Tested Kernel 4.14.27, i965 driver 2.1 (and latest git) with no success. So here is the backtrace:

Thread 35 "vaapi video" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7f28d56fc700 (LWP 12887)] 0x00007f294e74d899 in ?? () from /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1 (gdb) bt

0 0x00007f294e74d899 in () at /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1

1 0x00007f294ea02971 in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

2 0x00007f294e9ba02b in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

3 0x00007f294e9ba23c in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

4 0x00007f294e9b4d92 in () at /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so

5 0x00007f297d167b40 in vaEndPicture () at /usr/lib/x86_64-linux-gnu/libva.so.2

6 0x00007f297d6c2b6f in VaapiPostprocessSurface (ctx=33554433, src=, dst=67108900, filters=filters@entry=0x7f28d56fb5f0, num_filters=numfilters@entry=1, filter flags=filter_flags@entry=552, pipeline_flags=0, frefs=0x7f28c800d890, num_frefs=1, brefs=0x7f28c80389e0, num_brefs=0) at video.c:1721

7 0x00007f297d6c5420 in VaapiPostprocessSurface (num_brefs=0, brefs=, num_frefs=1, frefs=, pipeline_flags=0, filter_flags=552, num_filters=1, filt ers=0x7f28d56fb5f0, dst=, src=, ctx=) at video.c:1801

8 0x00007f297d6c5420 in VaapiApplyFilters (decoder=decoder@entry=0x5601f7fca7c0, top_field=) at video.c:1874

9 0x00007f297d6c5b3c in VaapiQueueSurface (decoder=decoder@entry=0x5601f7fca7c0, surface=surface@entry=67108925, softdec=0) at video.c:3079

10 0x00007f297d6c62d3 in VaapiRenderFrame (decoder=decoder@entry=0x5601f7fca7c0, video_ctx=video_ctx@entry=0x7f28c8240260, frame=frame@entry=0x7f28c806d6a0) at video.c:3328

11 0x00007f297d6c78e3 in VaapiSyncRenderFrame (decoder=0x5601f7fca7c0, video_ctx=0x7f28c8240260, frame=0x7f28c806d6a0) at video.c:3846

12 0x00007f297d6d1423 in CodecVideoDecode (decoder=0x5601f7fbf790, avpkt=avpkt@entry=0x7f297d8e0fb8 <MyVideoStream+6744>) at codec.c:284

13 0x00007f297d6bcd43 in VideoDecodeInput (stream=0x7f297d8df560 ) at vaapidev.c:963

14 0x00007f297d6c3ff6 in VaapiDisplayHandlerThread () at video.c:3925

15 0x00007f297d6cac7c in VideoDisplayHandlerThread (dummy=) at video.c:4551

16 0x00007f29812565aa in start_thread (arg=0x7f28d56fc700) at pthread_create.c:463

17 0x00007f297fb4fcbf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Quantomax commented 6 years ago

The GPF seems to be switchable: If I use Color balance: on with settings: 0, 10, 10, 0, vdr logs: [13236] starting plugin: vaapidevice [13236] VAAPI: video/vaapi: supports unscaled osd [13274] VAAPI: video/vaapi: supports video processing [13274] VAAPI: video/vaapi: noise reduction supported [13274] VAAPI: video/vaapi: 0,00 - 1,00 ++ 0,03 = 0,50 [13274] VAAPI: video/vaapi: enabling denoise filter (pos = 0) [13274] VAAPI: video/vaapi: deinterlacing supported [13274] VAAPI: video/vaapi: bob deinterlace supported [13274] VAAPI: video/vaapi: motion adaptive deinterlace supported [13274] VAAPI: video/vaapi: motion compensated deinterlace supported [13274] VAAPI: video/vaapi: enabling deinterlacing (pos = 1) [13274] VAAPI: video/vaapi: sharpening supported [13274] VAAPI: video/vaapi: 0,00 - 1,00 ++ 0,03 = 0,50 [13274] VAAPI: video/vaapi: enabling sharpening filter (pos = 0) [13274] VAAPI: video/vaapi: enabling color balance filters [13274] VAAPI: video/vaapi: supported color balance filter count: 4 [13274] VAAPI: video/vaapi: hue (-180,00 - 180,00 ++ 1,00 = 0,00) (pos = 2) [13274] VAAPI: video/vaapi: saturation (0,00 - 10,00 ++ 0,10 = 1,00) (pos = 2) [13274] VAAPI: video/vaapi: brightness (-100,00 - 100,00 ++ 1,00 = 0,00) (pos = 2) [13274] VAAPI: video/vaapi: contrast (0,00 - 10,00 ++ 0,10 = 1,00) (pos = 2) [13274] VAAPI: video/vaapi: skin tone enhancement supported [13274] VAAPI: video/vaapi: 0,00 - 4,00 ++ 1,00 = 0,00 [13274] VAAPI: video/vaapi: enabling skin tone filter (pos = 3) [13274] VAAPI: video/vaapi: allocating 1 forward reference surfaces for postprocessing [13274] VAAPI: video/vaapi: allocating 0 backward reference surfaces for postprocessing [13274] VAAPI: video/vaapi: changing to 0 forward reference surfaces for postprocessing plays records normal, but crashes skipping foward.

If I disable color balance filters, VDR will not die while skipping, but logs thousands of this: [5735] VAAPI: video: 24:41:26.828 +58 5598 0/\ms 182+5 v-buf [5735] VAAPI: video: speed up video, droping frame [5735] VAAPI: video: 24:41:26.828 +16 5556 0/\ms 181+3 v-buf [5735] VAAPI: video: slow down video, duping frame [5735] VAAPI: video: 24:41:26.908 +59 5551 0/\ms 182+5 v-buf [5735] VAAPI: video: speed up video, droping frame [5735] VAAPI: video: 24:41:26.908 +16 5508 0/\ms 181+3 v-buf [5735] VAAPI: video: slow down video, duping frame [5735] VAAPI: video: 24:41:26.988 +59 5534 0/\ms 182+5 v-buf [5735] VAAPI: video: speed up video, droping frame [..]