Camera doesn't start on arm64 - crash in AalServicePlugin::devices(QByteArray const&)

Bug #1618447 reported by Michał Sawicz
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
camera-app (Ubuntu)
Confirmed
High
Florian Boucault
qtubuntu-camera (Ubuntu)
Confirmed
High
Florian Boucault

Bug Description

Camera crashes on startup on arm64

It's possible the reason is the lack of media-hub (bug #1618416), but camera should probably not die because of that.

$ system-image-cli -i
current build number: 23
device name: frieza_arm64
channel: ubuntu-touch/staging/ubuntu
last update: 2016-08-30 09:13:12
version version: 23
version ubuntu: 20160830
version device: 20160824.0
version custom: 20160830

Steps:
* flash the above channel (remember --device frieza_arm64)
* launch camera

== Logfile =================================
Loading module: 'libubuntu_application_api_touch_mirclient.so.3.0.0'
Import path added "/usr/share/click/preinstalled/com.ubuntu.camera/3.0.0.654/lib/aarch64-linux-gnu"
Camera app directory "/usr/share/click/preinstalled/com.ubuntu.camera/3.0.0.654"
virtual QMediaService* AalServicePlugin::create(const QString&) "org.qt-project.qt.mediaplayer"
[TT 2016-08-30 12:35:27.595951] [service.cpp:29@instance]
Failed to start a new media-hub player session: org.freedesktop.DBus.Error.ServiceUnknown: The name core.ubuntu.media.Service was not provided by any .service files
Failed to create a new media player backend. Video playback will not function.

Could not finish contructing new AalMediaPlayerService instance since m_hubPlayerSession is NULL
library "libcamera_compat_layer.so" not found

== Stacktrace =================================
#0 0x0000000000000000 in ()
#1 0x0000007f6d20b7e4 in AalServicePlugin::devices(QByteArray const&) const (this=<optimized out>, service=...) at aalcameraserviceplugin.cpp:56
        deviceList = {<QListSpecialMethods<QByteArray>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f87cc9d60 <QListData::shared_null>}, d = 0x7f87cc9d60 <QListData::shared_null>}}
        cameras = -293107960
#2 0x0000007f74ff8d8c in QPluginServiceProvider::devices(QByteArray const&) const (this=<optimized out>, serviceType=...) at qmediaserviceprovider.cpp:593
        obj = <optimized out>
        _container_ = {c = {<QListSpecialMethods<QObject*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x39e32080}, d = 0x39e32080}}, i = {i = 0x39e32090}, e = {i = 0x39e320a0}, control = 1}
        res = {<QListSpecialMethods<QByteArray>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f87cc9d60 <QListData::shared_null>}, d = 0x7f87cc9d60 <QListData::shared_null>}}
#3 0x0000007f75024a18 in QCameraInfo::availableCameras(QCamera::Position) (position=position@entry=QCamera::UnspecifiedPosition) at camera/qcamerainfo.cpp:242
        cameras = {<QListSpecialMethods<QCameraInfo>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f87cc9d60 <QListData::shared_null>}, d = 0x7f87cc9d60 <QListData::shared_null>}}
        provider = 0x7f7508eda0 <(anonymous namespace)::Q_QGS_pluginProvider::innerFunction()::holder>
        service = {static MaxSize = 1073741800, d = 0x39e0eed0}
        devices = {<QListSpecialMethods<QByteArray>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x7f87cc9d60 <QListData::shared_null>}, d = 0x7f87cc9d60 <QListData::shared_null>}}
#4 0x0000007f6d217d00 in AalVideoDeviceSelectorControl::deviceCount() const (this=<optimized out>) at aalvideodeviceselectorcontrol.cpp:45
#5 0x0000007f75023e68 in QCameraInfo::QCameraInfo(QCamera const&) (this=0x7fee878938, camera=...) at camera/qcamerainfo.cpp:99
        deviceControl = 0x39e30110
        infoControl = <optimized out>

ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: camera-app 3.0.0+16.04.20160824-0ubuntu1 [origin: LP-PPA-ci-train-ppa-service-stable-phone-overlay]
Uname: Linux 3.10.93+ aarch64
ApportVersion: 2.20.1-0ubuntu2.1
Architecture: arm64
Date: Tue Aug 30 12:48:50 2016
SourcePackage: camera-app
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Michał Sawicz (saviq) wrote :
summary: Camera doesn't start on arm64 - crash in
+ AalServicePlugin::devices(QByteArray const&)
Bill Filler (bfiller)
Changed in camera-app (Ubuntu):
assignee: nobody → Florian Boucault (fboucault)
importance: Undecided → High
Changed in qtubuntu-camera (Ubuntu):
assignee: nobody → Florian Boucault (fboucault)
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in camera-app (Ubuntu):
status: New → Confirmed
Changed in qtubuntu-camera (Ubuntu):
status: New → Confirmed
Revision history for this message
Norbert (nrbrtx) wrote :

Affects me on M10 with staging (Ubuntu 16.04, r151).

tags: added: bq m10 touch
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.