Opened 5 years ago

Closed 4 years ago

#12098 closed Bug Report - Crash (Fixed)

Frontend Crash with nvidia 334.21 libraries

Reported by: Stuart Auchterlonie Owned by: Stuart Auchterlonie
Priority: blocker Milestone: 0.27.1
Component: MythTV - Video Playback Version: 0.27-fixes
Severity: high Keywords: opengl opengles
Cc: Ticket locked: yes

Description

Various reports of mythfrontend crashing with the nvidia 334.21 libraries.

https://bugs.gentoo.org/show_bug.cgi?id=501670

https://bbs.archlinux.org/viewtopic.php?id=178366

https://devtalk.nvidia.com/default/topic/691399/-334-16-crash-in-libglesv2-with-glgenbuffers-/

I currently suspect that the issue occurs because 334.21 drivers now include the libGLESv2 library and mythtv tries to dynamically load this, even if it was compiled with opengles disabled. See

https://github.com/MythTV/mythtv/blob/master/mythtv/libs/libmythui/mythrender_opengl.cpp#L805

Patch coming shortly.

Attachments (1)

ticket12098-dont-load-lib-when-opengles-disabled.diff (693 bytes) - added by Stuart Auchterlonie 5 years ago.
Possible fix

Download all attachments as: .zip

Change History (9)

comment:1 Changed 5 years ago by Stuart Auchterlonie

Reported on IRC in #mythtv

Changed 5 years ago by Stuart Auchterlonie

Possible fix

comment:2 Changed 5 years ago by Stuart Auchterlonie

Status: newaccepted

Patch reported to fix the issue via IRC

comment:3 Changed 5 years ago by Stuart Auchterlonie <stuarta@…>

Resolution: fixed
Status: acceptedclosed

In 5c7bd7f127e9ef2cb91de2bf0f82a35b7262d423/mythtv:

Fixes #12098 Only dynamically load the libGLESv2 library if OpenGL ES is enabled.

The nvidia driver version 334.21 has included the libGLESv2 library.
Users upgrading to the newer drivers were seeing mythfrontend segfault
because it was dynamically loading this library and then using it
incorrectly (because mythtv had been build with opengles disabled)

comment:4 Changed 5 years ago by Stuart Auchterlonie <stuarta@…>

In 583395f5a376637efcd408a102fa64d0f188c12f/mythtv:

Fixes #12098 Only dynamically load the libGLESv2 library if OpenGL ES is enabled.

The nvidia driver version 334.21 has included the libGLESv2 library.
Users upgrading to the newer drivers were seeing mythfrontend segfault
because it was dynamically loading this library and then using it
incorrectly (because mythtv had been build with opengles disabled)

(cherry picked from commit 5c7bd7f127e9ef2cb91de2bf0f82a35b7262d423)

Distro maintainers can you pull this in immediately please.

comment:5 Changed 5 years ago by Stuart Auchterlonie <stuarta@…>

In 1a4cebf795a1400987347f57faeb57cacd0805f9/mythtv:

Fixes #12098 Only dynamically load the libGLESv2 library if OpenGL ES is enabled.

The nvidia driver version 334.21 has included the libGLESv2 library.
Users upgrading to the newer drivers were seeing mythfrontend segfault
because it was dynamically loading this library and then using it
incorrectly (because mythtv had been build with opengles disabled)

(cherry picked from commit 5c7bd7f127e9ef2cb91de2bf0f82a35b7262d423)

Slight modification to accomodate the 0.26 codebase.

comment:6 Changed 4 years ago by kungfujesus06@…

Resolution: fixed
Status: closednew

This bug appears to be happening again with Nvidia's v355.11 drivers.

comment:7 Changed 4 years ago by kungfujesus06@…

Also this time, for whatever reason, linking to their libGL forces a linking to libGLES. This wasn't the case with the earlier version of nvidia's GLES implementation. While I'm currently trying to build QT + mythtv with EGL support to see if the problem goes away, I was perfectly happy using GLX.

comment:8 Changed 4 years ago by Stuart Auchterlonie

Resolution: Fixed
Status: newclosed
Ticket locked: set

Please open a new ticket, as this is potentially a different issue and relates to a different version of the nvidia drivers.

Thanks

Note: See TracTickets for help on using tickets.