Mailing List Archive

Qt 5 thread issue preventing playback of interlaced content?
Hi,

Is there a known issue with interlaced content and Qt 5? Mythfrontend
crashes immediately when trying to play any 1080i file (that is, any HD
channel recording). This ticket seems to deal with this exact issue:
https://code.mythtv.org/trac/ticket/12902

The scenario to reproduce this is quite specific in the ticket comments,
associated with fallback deinterlacer and/or playback speed selections.
However, I'm seeing this issue with the master branch (built today) as well
as packaged 29+fixes20171021.git83b32140f0-dmo1~bpo9+1 (
http://www.deb-multimedia.org stretch-backports/main) and
29.0+fixes.20171115.61d331c-0ubuntu0mythbuntu4 (
http://ppa.launchpad.net/mythbuntu/0.29/ubuntu xenial/main) for two
different boxes: Debian 9 (Qt 5.7.1) and Ubuntu 16.04 (Qt 5.5.1). Both
primary and fallback deinterlacers are set to none and there is no playback
speed change, so it looks like a lot more generic problem.

Has anyone managed to play 1080i content on a v29 frontend using
OpenGL/VDPAU?

Backtrace snippet from Ubuntu 16.04:
------------------------------------
Cannot make QOpenGLContext current in a different thread

Thread 46 "Decoder" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffe577fe700 (LWP 3191)]
0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
#1 0x00007ffff33d002a in __GI_abort () at abort.c:89
#2 0x00007ffff42b3f81 in QMessageLogger::fatal(char const*, ...) const ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff4b68703 in QOpenGLContext::makeCurrent(QSurface*) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#4 0x00007fffecc65062 in QGLContext::makeCurrent() () from
/usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
#5 0x00007ffff6457ca7 in MythRenderOpenGL::makeCurrent (this=0xc7bce0) at
mythrender_opengl.cpp:311
---------------------------------------

and from Debian 9:
---------------------------------------
Cannot make QOpenGLContext current in a different thread

Thread 42 "Decoder" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffeb7508700 (LWP 3364)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007ffff3ace3fa in __GI_abort () at abort.c:89
#2 0x00007ffff4988561 in QMessageLogger::fatal(char const*, ...) const ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3 0x00007ffff5257571 in QOpenGLContext::makeCurrent(QSurface*) () from
/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#4 0x00007fffed6f2222 in QGLContext::makeCurrent() () from
/usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
---------------------------------------

Best Regards,

Ville
Re: Qt 5 thread issue preventing playback of interlaced content? [ In reply to ]
On 11/26/2017 01:16 PM, Ville Kokkala wrote:
> Hi,
>
> Is there a known issue with interlaced content and Qt 5? Mythfrontend
> crashes immediately when trying to play any 1080i file (that is, any
> HD channel recording). This ticket seems to deal with this exact issue:
> https://code.mythtv.org/trac/ticket/12902
>
> The scenario to reproduce this is quite specific in the ticket
> comments, associated with fallback deinterlacer and/or playback speed
> selections. However, I'm seeing this issue with the master branch
> (built today) as well as packaged
> 29+fixes20171021.git83b32140f0-dmo1~bpo9+1
> (http://www.deb-multimedia.org stretch-backports/main) and
> 29.0+fixes.20171115.61d331c-0ubuntu0mythbuntu4
> (http://ppa.launchpad.net/mythbuntu/0.29/ubuntu xenial/main) for two
> different boxes: Debian 9 (Qt 5.7.1) and Ubuntu 16.04 (Qt 5.5.1). Both
> primary and fallback deinterlacers are set to none and there is no
> playback speed change, so it looks like a lot more generic problem.
>
> Has anyone managed to play 1080i content on a v29 frontend using
> OpenGL/VDPAU?
>
> Backtrace snippet from Ubuntu 16.04:
> ------------------------------------
> Cannot make QOpenGLContext current in a different thread
>
> Thread 46 "Decoder" received signal SIGABRT, Aborted.
> [Switching to Thread 0x7ffe577fe700 (LWP 3191)]
> 0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
> ../sysdeps/unix/sysv/linux/raise.c:54
> 54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) bt
> #0  0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
> ../sysdeps/unix/sysv/linux/raise.c:54
> #1  0x00007ffff33d002a in __GI_abort () at abort.c:89
> #2  0x00007ffff42b3f81 in QMessageLogger::fatal(char const*, ...)
> const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #3  0x00007ffff4b68703 in QOpenGLContext::makeCurrent(QSurface*) ()
> from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
> #4  0x00007fffecc65062 in QGLContext::makeCurrent() () from
> /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
> #5  0x00007ffff6457ca7 in MythRenderOpenGL::makeCurrent
> (this=0xc7bce0) at mythrender_opengl.cpp:311
> ---------------------------------------
>
> and from Debian 9:
> ---------------------------------------
> Cannot make QOpenGLContext current in a different thread
>
> Thread 42 "Decoder" received signal SIGABRT, Aborted.
> [Switching to Thread 0x7ffeb7508700 (LWP 3364)]
> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> 51      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) bt
> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007ffff3ace3fa in __GI_abort () at abort.c:89
> #2  0x00007ffff4988561 in QMessageLogger::fatal(char const*, ...)
> const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
> #3  0x00007ffff5257571 in QOpenGLContext::makeCurrent(QSurface*) ()
> from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
> #4  0x00007fffed6f2222 in QGLContext::makeCurrent() () from
> /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
> ---------------------------------------
>
> Best Regards,
>
> Ville
>
>
I have no problem with 1080i playback on V29 and master using VDPAU or
OpenGL, and I am sure that hundreds of others have no problem either.
There must be something specific about your setup or the video you are
playing.

The problem with the makeCurrent is specific to OpenGL, so you should
have success with VDPAU. If VDPAU works in your setup I suggest you can
try changing the playback profile to VDPAU and the theme painter to QT.
That should reduce the usage of OpenGL and hopefully get around the
problem. Bear in mind as you try things that if you set the theme
painter to QT you cannot use OpenGL or VAAPI in the playback profile.

Peter
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-dev
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Qt 5 thread issue preventing playback of interlaced content? [ In reply to ]
Hi Peter,

Thanks for the suggestion! It turned out that Arclight theme with OpenGL
painter caused the crash. Arclight with Qt5 painter is OK, and apparently
so is any other theme with either OpenGL or Qt5 painter.

Best Regards,

Ville



On Mon, Nov 27, 2017 at 2:13 AM, Peter Bennett <pb.mythtv@gmail.com> wrote:

>
>
> On 11/26/2017 01:16 PM, Ville Kokkala wrote:
>
>> Hi,
>>
>> Is there a known issue with interlaced content and Qt 5? Mythfrontend
>> crashes immediately when trying to play any 1080i file (that is, any HD
>> channel recording). This ticket seems to deal with this exact issue:
>> https://code.mythtv.org/trac/ticket/12902
>>
>> The scenario to reproduce this is quite specific in the ticket comments,
>> associated with fallback deinterlacer and/or playback speed selections.
>> However, I'm seeing this issue with the master branch (built today) as well
>> as packaged 29+fixes20171021.git83b32140f0-dmo1~bpo9+1 (
>> http://www.deb-multimedia.org stretch-backports/main) and
>> 29.0+fixes.20171115.61d331c-0ubuntu0mythbuntu4 (
>> http://ppa.launchpad.net/mythbuntu/0.29/ubuntu xenial/main) for two
>> different boxes: Debian 9 (Qt 5.7.1) and Ubuntu 16.04 (Qt 5.5.1). Both
>> primary and fallback deinterlacers are set to none and there is no playback
>> speed change, so it looks like a lot more generic problem.
>>
>> Has anyone managed to play 1080i content on a v29 frontend using
>> OpenGL/VDPAU?
>>
>> Backtrace snippet from Ubuntu 16.04:
>> ------------------------------------
>> Cannot make QOpenGLContext current in a different thread
>>
>> Thread 46 "Decoder" received signal SIGABRT, Aborted.
>> [Switching to Thread 0x7ffe577fe700 (LWP 3191)]
>> 0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
>> ../sysdeps/unix/sysv/linux/raise.c:54
>> 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>> (gdb) bt
>> #0 0x00007ffff33ce428 in __GI_raise (sig=sig@entry=6) at
>> ../sysdeps/unix/sysv/linux/raise.c:54
>> #1 0x00007ffff33d002a in __GI_abort () at abort.c:89
>> #2 0x00007ffff42b3f81 in QMessageLogger::fatal(char const*, ...) const
>> () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
>> #3 0x00007ffff4b68703 in QOpenGLContext::makeCurrent(QSurface*) () from
>> /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
>> #4 0x00007fffecc65062 in QGLContext::makeCurrent() () from
>> /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
>> #5 0x00007ffff6457ca7 in MythRenderOpenGL::makeCurrent (this=0xc7bce0)
>> at mythrender_opengl.cpp:311
>> ---------------------------------------
>>
>> and from Debian 9:
>> ---------------------------------------
>> Cannot make QOpenGLContext current in a different thread
>>
>> Thread 42 "Decoder" received signal SIGABRT, Aborted.
>> [Switching to Thread 0x7ffeb7508700 (LWP 3364)]
>> __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
>> 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
>> (gdb) bt
>> #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
>> #1 0x00007ffff3ace3fa in __GI_abort () at abort.c:89
>> #2 0x00007ffff4988561 in QMessageLogger::fatal(char const*, ...) const
>> () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
>> #3 0x00007ffff5257571 in QOpenGLContext::makeCurrent(QSurface*) () from
>> /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
>> #4 0x00007fffed6f2222 in QGLContext::makeCurrent() () from
>> /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
>> ---------------------------------------
>>
>> Best Regards,
>>
>> Ville
>>
>>
>> I have no problem with 1080i playback on V29 and master using VDPAU or
> OpenGL, and I am sure that hundreds of others have no problem either. There
> must be something specific about your setup or the video you are playing.
>
> The problem with the makeCurrent is specific to OpenGL, so you should have
> success with VDPAU. If VDPAU works in your setup I suggest you can try
> changing the playback profile to VDPAU and the theme painter to QT. That
> should reduce the usage of OpenGL and hopefully get around the problem.
> Bear in mind as you try things that if you set the theme painter to QT you
> cannot use OpenGL or VAAPI in the playback profile.
>
> Peter
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev@mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-dev
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org