[Automotive] Help debugging multi process mode with appman

Sanchez, Jack jsanche1 at jaguarlandrover.com
Sun Oct 23 03:07:38 CEST 2016


Hi all,

Another subject question for the group.

When trying to run the system in multi process mode I get wayland surface
failures when starting with ApplicationManager.startApplication(id,
document), which is returning true.
I am testing this against a simple qml runtime application.

-- Runtime output --

[DBG | qt.egl.xlib.debug] Using Opaque Visual ID 33 provided by EGL for
config 58 [qxlibeglintegration.cpp:124]

[DBG | am.system] Found a quick-launch entry for container "process" and
runtime "qml" -> QObject(0x0) QObject(0x0) [applicationmanager.cpp:644]

[DBG | am.system] Running command: "/usr/local/bin/appman-launcher-qml" () [
processcontainer.cpp:209]

[DBG | am.wayland] waylandSurfaceCreate Surface(0x30bb550) (PID: 4717 )
QMap() [windowmanager.cpp:633]

[DBG | default] Using Wayland-EGL [qwaylandeglclientbufferintegration.cpp:62
]

[DBG | am.wayland] waylandSurfaceCreate Surface(0x3095820) (PID: 4717 )
QMap() [windowmanager.cpp:633]

[WARN | default] EglClientBufferIntegration: creating texture with no
current context [waylandeglclientbufferintegration.cpp:275]

[WARN | default] void
WaylandEglClientBufferIntegrationPrivate::bindBuffer(wl_resource*):325:
eglStreamConsumerGLTextureExternalKHR failed: 0x3002 [
waylandeglclientbufferintegration.cpp:325]

[WARN | default] QObject::connect: No such signal
org::freedesktop::Notifications::NotificationClosed(uint,uint) in
qmlapplicationinterface.cpp:123 [qobject.cpp:2282]

[CRIT | default] ERROR: could not connect the org.freedesktop.Notifications
interface via D-Bus: [qmlapplicationinterface.cpp:127]

[CRIT | default] ERROR: could not connect to the application manager's
interface on the peer D-Bus [main.cpp:206]

[DBG | am.wayland] waylandSurfaceDestroyed 0x3095838 [windowmanager.cpp:702]

[WARN | am.wayland] waylandSurfaceDestroyed: could not find an application
window for surface 0x3095838 [windowmanager.cpp:705]
-- end output --

On our embedded targets, this causes segfaults the next time you attempt to
interact with the surfaces, on my development environments this usually
just causing the system to hang indefinitely with the appearance of still
responding to input.

My guesses to what this may be related to in terms of possible library
compatibility issues are:
* libGLESv2.so from nvidia-364 (although this is not what is used on the
targets)
* libwayland-*
or
* something in Qt5 Gui/Declarative/Core/etc

I'm hoping this is just us missing something in the usages of appman's QML
types, we have had multi process working many weeks ago on both dev
machines and targets, so perhaps one of the APIs changed in either
ApplicationManager, WindowManager, or ApplicationManagerWindow?

Any help on this one would be immensely appreciated!!

Best,
-- 
*Jack Sanchez*
Lead Qt Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/automotive/attachments/20161022/189740a4/attachment-0001.html>


More information about the Automotive mailing list