[mythtv-commits] Ticket #13460: Instability due to QTimer start / stop from non-parent thread
MythTV
noreply at mythtv.org
Mon Jun 3 08:56:03 UTC 2019
#13460: Instability due to QTimer start / stop from non-parent thread
--------------------------------------+--------------------------
Reporter: madscientist159 | Owner: (none)
Type: Bug Report - General | Status: new
Priority: minor | Milestone: needs_triage
Component: MythTV - General | Version: Unspecified
Severity: medium | Keywords:
Ticket locked: 0 |
--------------------------------------+--------------------------
In a test setup used to verify ATSC tuner functionality on ppc64el, I note
that the backend is extremely unstable. When the slave nodes connect,
QTimer start / stop messages are dumped, and there is a random chance of
the master backend hanging.
Setting QT_FATAL_WARNINGS=1 and running under gdb yields this:
{{{
2019-06-03 03:43:18.855982 I MainServer: adding: master-
backend(100488f60) as a client (events: 1)
|
QObject::startTimer: Timers cannot be started from another thread
|
QObject::startTimer: Timers cannot be started from another thread
|
QObject::killTimer: Timers cannot be stopped from another thread
|
QObject::startTimer: Timers cannot be started from another thread
|
QObject::killTimer: Timers cannot be stopped from another thread
|
QObject::startTimer: Timers cannot be started from another thread
|
QObject::killTimer: Timers cannot be stopped from another thread
|
QObject::startTimer: Timers cannot be started from another thread
|
|
Thread 21 "PT1" received signal SIGABRT, Aborted.
|
[Switching to Thread 0x7fff8fffef50 (LWP 15317)]
|
0x00007ffff4a54228 in __libc_signal_restore_set (set=0x7fff8fffd0e8) at
../sysdeps/unix/sysv/linux/internal-signals.h:84
|
84 ../sysdeps/unix/sysv/linux/internal-signals.h: No such file or
directory.
|
(gdb) bt
|
#0 0x00007ffff4a54228 in __libc_signal_restore_set (set=0x7fff8fffd0e8)
at ../sysdeps/unix/sysv/linux/internal-signals.h:84
|
#1 __GI_raise (sig=<optimized out>) at
../sysdeps/unix/sysv/linux/raise.c:48
|
#2 0x00007ffff4a3458c in __GI_abort () at abort.c:79
|
#3 0x00007ffff50d6cc0 in QMessageLogger::warning(char const*, ...) const
() from /usr/lib/powerpc64le-linux-gnu/libQt5Core.so.5
|
#4 0x00007ffff53b26e8 in QObject::startTimer(int, Qt::TimerType) () from
/usr/lib/powerpc64le-linux-gnu/libQt5Core.so.5
|
#5 0x00007ffff53c3530 in QTimer::start() () from /usr/lib/powerpc64le-
linux-gnu/libQt5Core.so.5
|
#6 0x00007ffff53c357c in QTimer::start(int) () from /usr/lib/powerpc64le-
linux-gnu/libQt5Core.so.5
|
#7 0x0000000100094df4 in MainServer::HandleAnnounce (this=0x10033da10,
slist=..., commands=..., socket=0x100482060) at mainserver.cpp:1856
|
#8 0x000000010008657c in MainServer::ProcessRequestWork
(this=0x10033da10, sock=0x100482060) at mainserver.cpp:512
|
#9 0x0000000100085bb0 in MainServer::ProcessRequest (this=0x10033da10,
sock=0x100482060) at mainserver.cpp:458
|
#10 0x00000001000e4dcc in ProcessRequestRunnable::run
(this=0x7fff8400bbd0) at mainserver.cpp:159
|
#11 0x00007ffff6c679bc in MPoolThread::run (this=0x7fff94017e00) at
mthreadpool.cpp:140
|
#12 0x00007ffff6c6248c in MThreadInternal::run (this=0x10048ee80) at
mthread.cpp:79
|
#13 0x00007ffff511938c in ?? () from /usr/lib/powerpc64le-linux-
gnu/libQt5Core.so.5
|
#14 0x00007ffff4fe8b90 in start_thread (arg=0x7fff8f7f0000) at
pthread_create.c:486
|
#15 0x00007ffff4b41018 in clone () at
../sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S:82
|
(gdb)
}}}
--
Ticket URL: <https://code.mythtv.org/trac/ticket/13460>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list