← Back to team overview

touch-packages team mailing list archive

[Bug 1438126] [NEW] QObject::startTimer: Timers cannot be started from another thread

 

Public bug reported:

When blanking/unblanking the screen on the phone you get


QObject::startTimer: Timers cannot be started from another thread

It comes from
#0  0xffffffff in QObject::startTimer(int, Qt::TimerType) () at /home/phablet/chroot/home/phablet/qtbase-opensource-src-5.4.1+dfsg/lib/libQt5Core.so.5
#1  0xffffffff in QTimer::start() () at /home/phablet/chroot/home/phablet/qtbase-opensource-src-5.4.1+dfsg/lib/libQt5Core.so.5
#2  0xffffffff in MInputContext::hideInputPanel() () at /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforminputcontexts/libmaliitphabletplatforminputcontextplugin.so
#3  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqpa-ubuntumirclient.so
#4  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
#5  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
#6  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
#7  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
#8  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
#9  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmircommon.so.3
#10 0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
#11 0xffffffff in start_thread () at /lib/arm-linux-gnueabihf/libpthread.so.0
#12 0xffffffff in  () at ../sysdeps/unix/sysv/linux/arm/clone.S:89

This means basically that the start() call to the timer in
MInputContext::hideInputPanel is being ignored

Can be "relatively" easily fixed in two ways:
 * Make the  sipHideTimer.start(); in MInputContext::hideInputPanel be a QMetaObject::invokeMethod
 * Make the  integration->inputContext()->hideInputPanel(); call in aboutToStopCallback be a QMetaObject::invokeMethod to QInputMethod::hide

The question is though if this actually needs fixing since there seems
to be nothing broken? So maybe removing the
integration->inputContext()->hideInputPanel(); call in
aboutToStopCallback is the actual fix?

** Affects: maliit-framework (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: qtubuntu (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: maliit-framework (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtubuntu in Ubuntu.
https://bugs.launchpad.net/bugs/1438126

Title:
  QObject::startTimer: Timers cannot be started from another thread

Status in maliit-framework package in Ubuntu:
  New
Status in qtubuntu package in Ubuntu:
  New

Bug description:
  When blanking/unblanking the screen on the phone you get

  
  QObject::startTimer: Timers cannot be started from another thread

  It comes from
  #0  0xffffffff in QObject::startTimer(int, Qt::TimerType) () at /home/phablet/chroot/home/phablet/qtbase-opensource-src-5.4.1+dfsg/lib/libQt5Core.so.5
  #1  0xffffffff in QTimer::start() () at /home/phablet/chroot/home/phablet/qtbase-opensource-src-5.4.1+dfsg/lib/libQt5Core.so.5
  #2  0xffffffff in MInputContext::hideInputPanel() () at /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforminputcontexts/libmaliitphabletplatforminputcontextplugin.so
  #3  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqpa-ubuntumirclient.so
  #4  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
  #5  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
  #6  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
  #7  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
  #8  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmirclient.so.8
  #9  0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libmircommon.so.3
  #10 0xffffffff in  () at /usr/lib/arm-linux-gnueabihf/libstdc++.so.6
  #11 0xffffffff in start_thread () at /lib/arm-linux-gnueabihf/libpthread.so.0
  #12 0xffffffff in  () at ../sysdeps/unix/sysv/linux/arm/clone.S:89

  This means basically that the start() call to the timer in
  MInputContext::hideInputPanel is being ignored

  Can be "relatively" easily fixed in two ways:
   * Make the  sipHideTimer.start(); in MInputContext::hideInputPanel be a QMetaObject::invokeMethod
   * Make the  integration->inputContext()->hideInputPanel(); call in aboutToStopCallback be a QMetaObject::invokeMethod to QInputMethod::hide

  The question is though if this actually needs fixing since there seems
  to be nothing broken? So maybe removing the
  integration->inputContext()->hideInputPanel(); call in
  aboutToStopCallback is the actual fix?

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/maliit-framework/+bug/1438126/+subscriptions


Follow ups

References