[mythtv-commits] Ticket #12902: Cannot make QOpenGLContext current in a different thread (occurred while watching live tv)
MythTV
noreply at mythtv.org
Mon Oct 17 12:25:54 UTC 2016
#12902: Cannot make QOpenGLContext current in a different thread (occurred while
watching live tv)
-------------------------------------------------+-------------------------
Reporter: William L. DeRieux IV | Owner:
<WilliamDeRieux@…> |
Type: Bug Report - Crash | Status: new
Priority: critical | Milestone: 0.28.1
Component: Qt5 issues | Version: 0.28.0
Severity: high | Keywords:
Ticket locked: 0 |
-------------------------------------------------+-------------------------
I got this error when while I was watching live tv.
'''Cannot make QOpenGLContext current in a different thread'''
I found some documentation for QOpenGLContext from here:
http://doc.qt.io/qt-5/qopenglcontext.html#thread-affinity
'''Some info about my system'''
{{{
Distribution: Debian
Version: (debian version: stretch/sid)
Support Lifecycle: N\A
Codename:
Fullname: Debian GNU/Linux stretch/sid
Kernel Name: Linux
Kernel Release: 3.16.0-4-amd64
Kernel Version: #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03)
Machine Architecture: x86_64
Operating System: GNU/Linux
Hostname: desktop1
}}}
'''Built using gcc-6'''
{{{
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.2.0-6'
--with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-
languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/
--enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-
vtable-verify --enable-libmpx --enable-plugin --with-system-zlib
--disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-
java-home=/usr/lib/jvm/java-1.5.0-gcj-6-amd64/jre --enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-amd64 --with-jvm-jar-
dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-amd64 --with-arch-
directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-
objc-gc --enable-multiarch --with-arch-32=i686 --with-abi=m64 --with-
multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-
checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu
--target=x86_64-linux-gnu
Thread model: posix
gcc version 6.2.0 20161010 (Debian 6.2.0-6)
}}}
'''Using version 0.28'''
{{{
$ mythfrontend --version
Please attach all output as a file in bug reports.
MythTV Version : v0.28
MythTV Branch :
Network Protocol : 88
Library API : 0.28.20160309-1
QT Version : 5.6.1
Options compiled in:
linux debug use_hidesyms using_alsa using_oss using_pulse
using_pulseoutput using_backend using_bdjava using_bindings_perl
using_bindings_python using_bindings_php using_crystalhd using_dvb
using_firewire using_frontend using_hdhomerun using_vbox using_ceton
using_hdpvr using_ivtv using_joystick_menu using_libcec using_libcrypto
using_libdns_sd using_libfftw3 using_libxml2 using_lirc using_mheg
using_opengl using_opengl_video using_opengl_themepainter using_qtwebkit
using_qtscript using_qtdbus using_sdl using_taglib using_v4l2 using_x11
using_xrandr using_xv using_debugtype using_mythlogserver using_bdjava
using_bindings_perl using_bindings_python using_bindings_php
using_fontconfig using_freetype2 using_mythtranscode using_opengl
using_vaapi using_vdpau using_ffmpeg_threads using_mheg using_libass
using_libxml2
}}}
'''Backtrace:'''
{{{
$ gdb mythfrontend
Cannot make QOpenGLContext current in a different thread
Thread 50 "Decoder" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffe63541700 (LWP 9919)]
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:58
58 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff35defdf in __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:58
#1 0x00007ffff35e040a in __GI_abort () at abort.c:89
#2 0x00007ffff4498dd1 in QMessageLogger::fatal(char const*, ...) const
(context=..., message=<synthetic pointer>) at global/qlogging.cpp:1648
#3 0x00007ffff4498dd1 in QMessageLogger::fatal(char const*, ...) const
(this=this at entry=0x7ffe635402a0, msg=msg at entry=0x7ffff50f1d08 "Cannot make
QOpenGLContext current in a different thread") at global/qlogging.cpp:790
#4 0x00007ffff4d75073 in QOpenGLContext::makeCurrent(QSurface*)
(this=0xd73ea0, surface=0xde2070) at kernel/qopenglcontext.cpp:954
#5 0x00007fffec7302f2 in QGLContext::makeCurrent() (this=<optimized out>)
at qgl.cpp:3574
#6 0x00007ffff64c7dce in MythRenderOpenGL::makeCurrent() (this=0xdde340)
at mythrender_opengl.cpp:294
#7 0x00007ffff64c6094 in OpenGLLocker::OpenGLLocker(MythRenderOpenGL*)
(this=0x7ffe63540380, render=0xdde340) at mythrender_opengl.cpp:50
#8 0x00007ffff75b84e2 in VideoOutputOpenGL::SetupDeinterlace(bool,
QString const&) (this=0x15abd10, interlaced=false, overridefilter=...) at
videoout_opengl.cpp:762
#9 0x00007ffff752ba1e in VideoOutput::FallbackDeint() (this=0x15abd10) at
videooutbase.cpp:666
#10 0x00007ffff74485fb in MythPlayer::ChangeSpeed() (this=0x1fc4f90) at
mythplayer.cpp:3741
#11 0x00007ffff743feea in MythPlayer::FileChangedCallback()
(this=0x1fc4f90) at mythplayer.cpp:2708
#12 0x00007ffff74abbcd in DecoderBase::FileChanged() (this=0xdaa500) at
decoderbase.cpp:902
#13 0x00007ffff74b6ed1 in NuppelDecoder::GetFrame(DecodeTypes)
(this=0xdaa500, decodetype=kDecodeAV) at nuppeldecoder.cpp:1069
#14 0x00007ffff74465de in MythPlayer::DecoderGetFrame(DecodeTypes, bool)
(this=0x1fc4f90, decodetype=kDecodeAV, unsafe=false) at
mythplayer.cpp:3469
#15 0x00007ffff7445ef1 in MythPlayer::DecoderLoop(bool) (this=0x1fc4f90,
pause=true) at mythplayer.cpp:3384
#16 0x00007ffff742ad1c in DecoderThread::run() (this=0x1513a90) at
mythplayer.cpp:97
#17 0x00007ffff67c749d in MThreadInternal::run() (this=0x15990d0) at
mthread.cpp:79
#18 0x00007ffff44b1d78 in QThreadPrivate::start(void*) (arg=0x15990d0) at
thread/qthread_unix.cpp:341
#19 0x00007ffff41ee464 in start_thread (arg=0x7ffe63541700) at
pthread_create.c:333
#20 0x00007ffff369497f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:105
}}}
--
Ticket URL: <https://code.mythtv.org/trac/ticket/12902>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list