Am update with my findings so far:

I can occasionally reproduce QtMir rejecting the camera app connection. 
It does this as it is not expecting the camera process to connect to it/mir. 
Why not? Upstart/Ubuntua-app-launch should have notified it that camera app is 
starting. But it appears some notifications are getting confused. Before the 
rejection, QtMir prints:


qtmir.applications: ApplicationManager::onProcessStarting - appId= 
"com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onProcessStarting application already 
found with appId "com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onProcessStarting - appId= 
"com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onProcessStarting application already 
found with appId "com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onResumeRequested - appId= 
"com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onProcessStarting - appId= 
"com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onProcessStarting application already 
found with appId "com.ubuntu.camera_camera"
qtmir.applications: ApplicationManager::onResumeRequested - appId= 
"com.ubuntu.camera_camera"

The onProcessStarting print is due to a message "starting" from Ubuntu-
app-launch. UAL appears to send 3 starting messages! - but in fact the
process has stopped (well disconnected from Mir), due to the next lines
of output:

qtmir.mir: SessionListener::stopping - this= SessionListener(0xb193b7ac) 
session= 0x1a419dc
qtmir.applications: ApplicationManager::onSessionStopping - sessionName= 
QtUbuntu
qtmir.applications: ApplicationManager::remove - appId= 
"com.ubuntu.camera_camera"


Watching dbus traffic from Upstart, I noticed this error coincides with
these events:

signal sender=:1.0 -> dest=(null destination) serial=1646 
path=/com/ubuntu/Upstart; interface=com.ubuntu.Upstart0_6; member=EventEmitted
   string "starting"
   array [
      string "JOB=application-click"
      string "INSTANCE=com.ubuntu.camera_camera_3.0.0.516"
      string "UBUNTU_APP_LAUNCH_ARCH=arm-linux-gnueabihf"
   ]

signal sender=:1.0 -> dest=(null destination) serial=1655 
path=/com/ubuntu/Upstart; interface=com.ubuntu.Upstart0_6; member=EventEmitted
   string "started"
   array [
      string "JOB=application-click"
      string "INSTANCE=com.ubuntu.camera_camera_3.0.0.516"
      string "UBUNTU_APP_LAUNCH_ARCH=arm-linux-gnueabihf"
   ]
signal sender=:1.0 -> dest=(null destination) serial=1672 
path=/com/ubuntu/Upstart; interface=com.ubuntu.Upstart0_6; member=EventEmitted
   string "stopping"
   array [
      string "JOB=application-click"
      string "INSTANCE=com.ubuntu.camera_camera_3.0.0.516"
      string "RESULT=ok"
      string "UBUNTU_APP_LAUNCH_ARCH=arm-linux-gnueabihf"
   ]

**No Stopped!!!**

signal sender=:1.0 -> dest=(null destination) serial=1708 
path=/com/ubuntu/Upstart; interface=com.ubuntu.Upstart0_6; member=EventEmitted
   string "starting"
   array [
      string "JOB=application-click"
      string "INSTANCE=com.ubuntu.camera_camera_3.0.0.516"
      string "UBUNTU_APP_LAUNCH_ARCH=arm-linux-gnueabihf"
   ]

Normally these are the sequence of events: starting, started, stopping,
stopped. But there's a missing "stopped" event coming from upstart,
which may be confusing UAL, and thus confusing Qtmir.

Why this "stopped" event is missing remains to be determined.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1422797

Title:
  Qt app aborts if it cannot connect to Mir - QtMir rejecting the
  connection

To manage notifications about this bug go to:
https://bugs.launchpad.net/qtmir/+bug/1422797/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to