﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	mlocked
12902	Cannot make QOpenGLContext current in a different thread (occurred while watching live tv)	William L. DeRieux IV <WilliamDeRieux@…>	Peter Bennett	"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@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@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@entry=0x7ffe635402a0, msg=msg@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
}}}
"	Bug Report - Crash	closed	minor	30.0	MythTV - Video Playback	0.28.0	medium	fixed			0
