Bug 388020 - Kaffeine crashes when video file or dvd is selected
Summary: Kaffeine crashes when video file or dvd is selected
Status: RESOLVED FIXED
Alias: None
Product: kaffeine
Classification: Applications
Component: general (other bugs)
Version First Reported In: 2.0.13
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Mauro Carvalho Chehab
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-18 21:28 UTC by ceolesen
Modified: 2017-12-19 10:40 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
attachment-10474-0.html (3.34 KB, text/html)
2017-12-19 10:33 UTC, ceolesen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ceolesen 2017-12-18 21:28:06 UTC
0. Get ahold of a video file or dvd, for example http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4
1. Launch Kaffeine from konsole
2. Click 1 Play File
3. Select the downloaded file
4. Observe the following crash dump from konsole

18-12-17 22:17:29.179 [Info    ] kaffeine.dvb: Using built-in dvb device manager
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
[00007f5ae8001e80] glconv_vaapi_x11 gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
[00007f5ae8001e80] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
[00007f5ae8001e80] glconv_vaapi_drm gl error: vaInitialize: unknown libva error
Segmentation fault (core dumped)

The stack dump from playing instead a dvd includes the exact same as above.
Comment 1 Mauro Carvalho Chehab 2017-12-18 22:41:50 UTC
It actually seems to be a bug at va-api or libvlc. From the logs, it is trying to load libva-intel-driver,
but either your machine is using a different GPU or this package is not installed.

Here, when I start Kaffeine (on a machine with an Intel GPU), it displays:

libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
failed to open /usr/lib64/dri/hybrid_drv_video.so
Failed to wrapper hybrid_drv_video.so
libva info: va_openDriver() returns 0
[00007f3a18f5d000] avcodec decoder: Using Intel i965 driver for Intel(R) Skylake - 1.8.3 for hardware decoding

And video plays.

If, otherwise, I force Kaffeine to use a wrong driver:

$ LIBVA_DRIVER_NAME="r600" kaffeine

libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'r600'
libva info: Trying to open /usr/lib64/dri/r600_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva error: /usr/lib64/dri/r600_drv_video.so init failed
libva info: va_openDriver() returns 2
[00007fcc10001e80] glconv_vaapi_x11 gl error: vaInitialize: resource allocation failed

It tries it three times, then it crashes.

On your machine, it is either selecting a wrong driver (maybe LIBVA_DRIVER_NAME is set?) or your specific video adapter is not supported by the Intel driver.

A simple solution is to remove the libva package.
Comment 2 Mauro Carvalho Chehab 2017-12-19 00:30:16 UTC
(In reply to Mauro Carvalho Chehab from comment #1)
> It actually seems to be a bug at va-api or libvlc. From the logs, it is
> trying to load libva-intel-driver,
> but either your machine is using a different GPU or this package is not
> installed.
> 
> Here, when I start Kaffeine (on a machine with an Intel GPU), it displays:
> 
> libva info: VA-API version 0.40.0
> libva info: va_getDriverName() returns 0
> libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
> libva info: Found init function __vaDriverInit_0_40
> failed to open /usr/lib64/dri/hybrid_drv_video.so
> Failed to wrapper hybrid_drv_video.so
> libva info: va_openDriver() returns 0
> [00007f3a18f5d000] avcodec decoder: Using Intel i965 driver for Intel(R)
> Skylake - 1.8.3 for hardware decoding
> 
> And video plays.
> 
> If, otherwise, I force Kaffeine to use a wrong driver:
> 
> $ LIBVA_DRIVER_NAME="r600" kaffeine
> 
> libva info: VA-API version 0.40.0
> libva info: va_getDriverName() returns 0
> libva info: User requested driver 'r600'
> libva info: Trying to open /usr/lib64/dri/r600_drv_video.so
> libva info: Found init function __vaDriverInit_0_40
> libva error: /usr/lib64/dri/r600_drv_video.so init failed
> libva info: va_openDriver() returns 2
> [00007fcc10001e80] glconv_vaapi_x11 gl error: vaInitialize: resource
> allocation failed
> 
> It tries it three times, then it crashes.
> 
> On your machine, it is either selecting a wrong driver (maybe
> LIBVA_DRIVER_NAME is set?) or your specific video adapter is not supported
> by the Intel driver.
> 
> A simple solution is to remove the libva package.

Btw, pointing to a wrong driver here shows the point at libvlc where it crashes, with vlc-3.0.0-0.43.git20171208.fc27.x86_64:

#0  0x00007fff7e92c4c6 in vlc_vaapi_InitializeInstanceDRM () at /usr/lib64/vlc/plugins/video_output/libglconv_vaapi_drm_plugin.so
#1  0x00007fff7e92bfa2 in Open () at /usr/lib64/vlc/plugins/video_output/libglconv_vaapi_drm_plugin.so
#2  0x00007ffff0905da3 in module_load.isra () at /lib64/libvlccore.so.9
#3  0x00007ffff090618f in vlc_module_load () at /lib64/libvlccore.so.9
#4  0x00007fff855212f3 in opengl_init_program () at /usr/lib64/vlc/plugins/video_output/libgl_plugin.so
#5  0x00007fff855224c2 in vout_display_opengl_New () at /usr/lib64/vlc/plugins/video_output/libgl_plugin.so
#6  0x00007fff85527412 in Open () at /usr/lib64/vlc/plugins/video_output/libgl_plugin.so
#7  0x00007ffff0905da3 in module_load.isra () at /lib64/libvlccore.so.9
#8  0x00007ffff090618f in vlc_module_load () at /lib64/libvlccore.so.9
#9  0x00007ffff094214f in DisplayNew () at /lib64/libvlccore.so.9
#10 0x00007ffff0943493 in vout_NewDisplay () at /lib64/libvlccore.so.9
#11 0x00007ffff094ff40 in vout_OpenWrapper () at /lib64/libvlccore.so.9
#12 0x00007ffff0946283 in ThreadStart () at /lib64/libvlccore.so.9
#13 0x00007ffff0947c61 in Thread () at /lib64/libvlccore.so.9
#14 0x00007ffff1356609 in start_thread () at /lib64/libpthread.so.0
#15 0x00007ffff1687e6f in clone () at /lib64/libc.so.6

On previous libVLC versions, when libva fails to open a driver, it falls back to a non-accelerated driver. Clearly, there's a bug somewhere at libVLC.
Comment 3 Mauro Carvalho Chehab 2017-12-19 00:51:13 UTC
I opened a ticked at libVLC trac:
   https://trac.videolan.org/vlc/ticket/19308#ticket
Comment 4 Mauro Carvalho Chehab 2017-12-19 08:24:47 UTC
As reporrted at VLC Trac https://trac.videolan.org/vlc/ticket/19308#comment:1:

 "This was fixed by dbaa579f207a80f59b705133dad6a5fbf0298943,
  0af7adbca81a88218720851b803a5f9b1fcc8937

  Please update to RC2"

The problem seems to be with Fedora's VLC version that needs to be upgraded.

I opened a bugzilla at Fedora rpmfusion:
   https://bugzilla.rpmfusion.org/show_bug.cgi?id=4742
Comment 5 Mauro Carvalho Chehab 2017-12-19 09:52:02 UTC
(In reply to Mauro Carvalho Chehab from comment #4)
> As reporrted at VLC Trac
> https://trac.videolan.org/vlc/ticket/19308#comment:1:
> 
>  "This was fixed by dbaa579f207a80f59b705133dad6a5fbf0298943,
>   0af7adbca81a88218720851b803a5f9b1fcc8937
> 
>   Please update to RC2"
> 
> The problem seems to be with Fedora's VLC version that needs to be upgraded.
> 
> I opened a bugzilla at Fedora rpmfusion:
>    https://bugzilla.rpmfusion.org/show_bug.cgi?id=4742

It seems that the bug was already fixed. See this BZ:
     https://bugzilla.rpmfusion.org/show_bug.cgi?id=4738
Comment 6 Mauro Carvalho Chehab 2017-12-19 10:01:40 UTC
(In reply to Mauro Carvalho Chehab from comment #5)
> (In reply to Mauro Carvalho Chehab from comment #4)
> > As reporrted at VLC Trac
> > https://trac.videolan.org/vlc/ticket/19308#comment:1:
> > 
> >  "This was fixed by dbaa579f207a80f59b705133dad6a5fbf0298943,
> >   0af7adbca81a88218720851b803a5f9b1fcc8937
> > 
> >   Please update to RC2"
> > 
> > The problem seems to be with Fedora's VLC version that needs to be upgraded.
> > 
> > I opened a bugzilla at Fedora rpmfusion:
> >    https://bugzilla.rpmfusion.org/show_bug.cgi?id=4742
> 
> It seems that the bug was already fixed. See this BZ:
>      https://bugzilla.rpmfusion.org/show_bug.cgi?id=4738

I double-checked: installing the new packages with:

$ sudo dnf upgrade --enablerepo rpmfusion-free-updates-testing  vlc

fixed the issue.

Btw, if you want to use vaapi accell drivers, you could install libva-intel-driver.
Comment 7 ceolesen 2017-12-19 10:33:55 UTC
Created attachment 109447 [details]
attachment-10474-0.html

Thank you very much for the quick response. Much appreciated. Also thank
you for the hint to use the accelerated driver thus hopefully saving CPU
cycles. I was not aware I was not using such. Wondering why Fedora did not
include that out-of-the-box. But I just installed the accel driver and both
Kaffeine and VLC now work. Great. Thus, I guess I won't be needing the VLC
update after all if they are for the unaccel driver? I see others have
already tested it. Btw, the computer is a brand new run-of-the-mill Dell
Inspiron 5770 64bit laptop with integrated graphics on which I installed
Fedora 27 KDE spin next to the residing Windows 10 followed by a few other
packages incl. VLC.

On Tue, Dec 19, 2017 at 11:01 AM, Mauro Carvalho Chehab <
bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=388020
>
> Mauro Carvalho Chehab <mchehab+kde@kernel.org> changed:
>
>            What    |Removed                     |Added
> ------------------------------------------------------------
> ----------------
>          Resolution|---                         |FIXED
>              Status|CONFIRMED                   |RESOLVED
>
> --- Comment #6 from Mauro Carvalho Chehab <mchehab+kde@kernel.org> ---
> (In reply to Mauro Carvalho Chehab from comment #5)
> > (In reply to Mauro Carvalho Chehab from comment #4)
> > > As reporrted at VLC Trac
> > > https://trac.videolan.org/vlc/ticket/19308#comment:1:
> > >
> > >  "This was fixed by dbaa579f207a80f59b705133dad6a5fbf0298943,
> > >   0af7adbca81a88218720851b803a5f9b1fcc8937
> > >
> > >   Please update to RC2"
> > >
> > > The problem seems to be with Fedora's VLC version that needs to be
> upgraded.
> > >
> > > I opened a bugzilla at Fedora rpmfusion:
> > >    https://bugzilla.rpmfusion.org/show_bug.cgi?id=4742
> >
> > It seems that the bug was already fixed. See this BZ:
> >      https://bugzilla.rpmfusion.org/show_bug.cgi?id=4738
>
> I double-checked: installing the new packages with:
>
> $ sudo dnf upgrade --enablerepo rpmfusion-free-updates-testing  vlc
>
> fixed the issue.
>
> Btw, if you want to use vaapi accell drivers, you could install
> libva-intel-driver.
>
> --
> You are receiving this mail because:
> You reported the bug.
>
Comment 8 Mauro Carvalho Chehab 2017-12-19 10:40:39 UTC
(In reply to ceolesen from comment #7)
> Created attachment 109447 [details]
> attachment-10474-0.html
> 
> Thank you very much for the quick response. Much appreciated. Also thank
> you for the hint to use the accelerated driver thus hopefully saving CPU
> cycles. I was not aware I was not using such. Wondering why Fedora did not
> include that out-of-the-box.

Probably because accel is hardware-dependent.

> But I just installed the accel driver and both
> Kaffeine and VLC now work. Great. Thus, I guess I won't be needing the VLC
> update after all if they are for the unaccel driver? I see others have
> already tested it.

Yeah, you won't need due to this, but rc2 is likely more stable than a random VLC nightly build. So, I would upgrade anyway.

> Btw, the computer is a brand new run-of-the-mill Dell
> Inspiron 5770 64bit laptop with integrated graphics on which I installed
> Fedora 27 KDE spin next to the residing Windows 10 followed by a few other
> packages incl. VLC.

Fedora usually runs nicely on Dell machines.