We have moved to a new Sailfish OS Forum. Please start new discussions there.

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-02-25 17:10:00 +0200

Bug: Lipstick sefault when /home/nemo/.local/share/system/privileged has wrong owner

After rebooting my Jolla, the UI didn't start anymore. I could still login through ssh and saw that lipstick was segfaulting. Investigating further it was complaining about not being able to open /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite. I saw the owner was nemo:nemo and in the factory-@home volume it is privileged:privileged. This is my own fault because I see in bash_history I did a "chown nemo: -R ." in the homedirectory instead of "chown nemo: -R *" what I probably should have done. Changing it back to privileged:privileged made it all work again. Reporting as bug because in my opinion a wrong owner shouldn't result in a segfault.

Full log:

[D] HwComposerScreenInfo::HwComposerScreenInfo:251 - EGLFS: Screen Info
[D] HwComposerScreenInfo::HwComposerScreenInfo:252 -  - Physical size: QSizeF(57, 100)
[D] HwComposerScreenInfo::HwComposerScreenInfo:253 -  - Screen size: QSize(540, 960)
[D] HwComposerScreenInfo::HwComposerScreenInfo:254 -  - Screen depth: 32
== hwcomposer module ==
 * Address: 0x423e3000
 * Module API Version: 2
 * HAL API Version: 0
 * Identifier: hwcomposer
 * Name: Qualcomm Hardware Composer Module
 * Author: CodeAurora Forum
== hwcomposer module ==
== hwcomposer device ==
 * Version: 3
 * Module: 0x423e3000
== hwcomposer device ==
VSync: 17543859ns, 57.000000fps
QEglScreen 0x1951ae8

evdevtouch: Using device /dev/input/event0
min X: 0 max X: 1100
min Y: 0 max Y: 1900
min pressure: 0 max pressure: 0
device name: touch_synaptics
Protocol type B (mtdev)
[W] QQmlImportDatabase::importPlugin:1697 - Module 'org.nemomobile.lipstick' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Silica' does not contain a module identifier directive - it cannot be protected from external registrations.
[D] MLocalThemeDaemonClient::MLocalThemeDaemonClient:81 - MLocalThemeDaemonClient::MLocalThemeDaemonClient(const QString&, QObject*) Theme:  "jolla-ambient"
[D] MLocalThemeDaemonClient::MLocalThemeDaemonClient:112 - LocalThemeDaemonClient: Looking for assets in ("/usr/share/themes/blanco/meegotouch", "/usr/share/themes/jolla-ambient/meegotouch")
EGL Wayland extension successfully initialized.

[W] unknown:14 - qrc:/qml/SystemWindow.qml:14: ReferenceError: initialSize is not defined
[W] unknown:13 - qrc:/qml/SystemWindow.qml:13: ReferenceError: initialSize is not defined
QEglWindow 0x1a2c4a8: 0x1a0b0a8 0x0

[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Ambience' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Gallery' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'MeeGo.Connman' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'MeeGo.QOfono' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] unknown:13 - qrc:/qml/SystemWindow.qml:13: ReferenceError: initialSize is not defined
[W] unknown:14 - qrc:/qml/SystemWindow.qml:14: ReferenceError: initialSize is not defined
[W] QQmlImportDatabase::importPlugin:1697 - Module 'org.nemomobile.voicecall' does not contain a module identifier directive - it cannot be protected from external registrations.
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "settings"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-camera"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "voicecall"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "calculator"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "calendar"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-camera"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "clock"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "contacts"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-email"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "gallery"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-mediaplayer"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "messages"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "messages"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "notes"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "settings"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-email"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-browser"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-maps"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-office"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-store"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "voicecall"
[W] BluetoothObexAgent::bluezRegistered:506 - Registered Bluetooth OBEX agent: /com/jolla/obexservice/agent
DeclarativeWindow::Item does not belong to a window
[W] unknown:581 - qrc:/qml/main.qml:581:17: QML Launcher: Binding loop detected for property "height"
QFileSystemWatcher::removePaths: list is empty
[W] ContactsDatabase::open:1028 - "Unable to create contacts database directory: /home/nemo/.local/share/system//privileged/Contacts/qtcontacts-sqlite"
[W] ContactsEngine::open:859 - "Unable to open engine database"
[W] QtContacts::QContactManagerData::createEngine:156 - Creation of "org.nemomobile.contacts.sqlite" engine failed.
QObject::connect: Cannot connect (null)::contactsPresenceChanged(QList<QContactId>) to SeasideCache::contactsPresenceChanged(QList<QContactId>)
Segmentation fault

I managed to get a backtrace in gdb:

Program received signal SIGSEGV, Segmentation fault.
SeasidePersonAttached::selfPerson (this=<optimized out>) at seasideperson.cpp:73
73          if (!item->itemData) {
(gdb) bt
#0  SeasidePersonAttached::selfPerson (this=<optimized out>) at seasideperson.cpp:73
#1  0x41e48654 in SeasidePersonAttached::qt_metacall (this=0x2122268, _c=<optimized out>, _id=0, _a=0xbe92ef0c) at moc_seasideperson.cpp:166
#2  0x41b2ba24 in metacall (argv=<optimized out>, idx=<optimized out>, cl=<optimized out>, object=<optimized out>) at kernel/qmetaobject.cpp:307
#3  QMetaObject::metacall (object=<optimized out>, cl=QMetaObject::ReadProperty, idx=1, argv=0xbe92ef0c) at kernel/qmetaobject.cpp:302
#4  0x40fadc74 in QV4Bindings::run (this=0x4105d7c8, instrIndex=<optimized out>, executedBlocks=@0x40ebdc20: 3912056848, context=0x1eae6c4, error=0x20ac460, scope=0x1ee9ad8, output=0x1ee9ad8, 
    storeFlags=..., invalidated=0xbe92f0b7, table=0x0) at qml/v4/qv4bindings.cpp:2358
#5  0x40fb2390 in QV4Bindings::run (this=<optimized out>, binding=0x20ac458, flags=...) at qml/v4/qv4bindings.cpp:584
#6  0x40ee6388 in setEnabled (f=..., e=true, this=0x20ac458) at ../../src/qml/qml/qqmlabstractbinding_p.h:116
#7  QQmlVME::complete (this=0x2028e38, interrupt=...) at qml/qqmlvme.cpp:1332
#8  0x40edbc20 in QQmlComponentPrivate::complete (enginePriv=0x1e8dd60, state=0x2028e38) at qml/qqmlcomponent.cpp:919
#9  0x40edbcf4 in QQmlComponentPrivate::completeCreate (this=0x2028de0) at qml/qqmlcomponent.cpp:955
#10 0x40edc804 in QQmlComponent::createObject (this=<optimized out>, args=0xbe92f2a0) at qml/qqmlcomponent.cpp:1210
#11 0x41030d28 in QQmlComponent::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/release-shared/moc_qqmlcomponent.cpp:145
#12 0x41030e2c in QQmlComponent::qt_metacall (this=0x2027308, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbe92f310) at .moc/release-shared/moc_qqmlcomponent.cpp:208
#13 0x41b2ba24 in metacall (argv=<optimized out>, idx=<optimized out>, cl=<optimized out>, object=<optimized out>) at kernel/qmetaobject.cpp:307
#14 QMetaObject::metacall (object=<optimized out>, cl=QMetaObject::InvokeMetaMethod, idx=11, argv=0xbe92f310) at kernel/qmetaobject.cpp:302
#15 0x40fdaaa0 in QV8QObjectWrapper::Invoke (args=...) at qml/v8/qv8qobjectwrapper.cpp:2045
#16 0x43b3dca8 in HandleApiCallHelper<false> (isolate=0x1e64cc0, args=...) at ../3rdparty/v8/src/builtins.cc:1164
#17 v8::internal::Builtin_HandleApiCall (args=..., isolate=0x1e64cc0) at ../3rdparty/v8/src/builtins.cc:1182
#18 0x2420a15c in ?? ()
#19 0x2420a15c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I'm running 1.3.0.8.

Bug: Lipstick sefault segfault when /home/nemo/.local/share/system/privileged has wrong owner

After rebooting my Jolla, the UI didn't start anymore. I could still login through ssh and saw that lipstick was segfaulting. Investigating further it was complaining about not being able to open /home/nemo/.local/share/system/privileged/Contacts/qtcontacts-sqlite. I saw the owner was nemo:nemo and in the factory-@home volume it is privileged:privileged. This is my own fault because I see in bash_history I did a "chown nemo: -R ." in the homedirectory instead of "chown nemo: -R *" what I probably should have done. Changing it back to privileged:privileged made it all work again. Reporting as bug because in my opinion a wrong owner shouldn't result in a segfault.

Full log:

[D] HwComposerScreenInfo::HwComposerScreenInfo:251 - EGLFS: Screen Info
[D] HwComposerScreenInfo::HwComposerScreenInfo:252 -  - Physical size: QSizeF(57, 100)
[D] HwComposerScreenInfo::HwComposerScreenInfo:253 -  - Screen size: QSize(540, 960)
[D] HwComposerScreenInfo::HwComposerScreenInfo:254 -  - Screen depth: 32
== hwcomposer module ==
 * Address: 0x423e3000
 * Module API Version: 2
 * HAL API Version: 0
 * Identifier: hwcomposer
 * Name: Qualcomm Hardware Composer Module
 * Author: CodeAurora Forum
== hwcomposer module ==
== hwcomposer device ==
 * Version: 3
 * Module: 0x423e3000
== hwcomposer device ==
VSync: 17543859ns, 57.000000fps
QEglScreen 0x1951ae8

evdevtouch: Using device /dev/input/event0
min X: 0 max X: 1100
min Y: 0 max Y: 1900
min pressure: 0 max pressure: 0
device name: touch_synaptics
Protocol type B (mtdev)
[W] QQmlImportDatabase::importPlugin:1697 - Module 'org.nemomobile.lipstick' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Silica' does not contain a module identifier directive - it cannot be protected from external registrations.
[D] MLocalThemeDaemonClient::MLocalThemeDaemonClient:81 - MLocalThemeDaemonClient::MLocalThemeDaemonClient(const QString&, QObject*) Theme:  "jolla-ambient"
[D] MLocalThemeDaemonClient::MLocalThemeDaemonClient:112 - LocalThemeDaemonClient: Looking for assets in ("/usr/share/themes/blanco/meegotouch", "/usr/share/themes/jolla-ambient/meegotouch")
EGL Wayland extension successfully initialized.

[W] unknown:14 - qrc:/qml/SystemWindow.qml:14: ReferenceError: initialSize is not defined
[W] unknown:13 - qrc:/qml/SystemWindow.qml:13: ReferenceError: initialSize is not defined
QEglWindow 0x1a2c4a8: 0x1a0b0a8 0x0

[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Ambience' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'Sailfish.Gallery' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'MeeGo.Connman' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] QQmlImportDatabase::importPlugin:1697 - Module 'MeeGo.QOfono' does not contain a module identifier directive - it cannot be protected from external registrations.
[W] unknown:13 - qrc:/qml/SystemWindow.qml:13: ReferenceError: initialSize is not defined
[W] unknown:14 - qrc:/qml/SystemWindow.qml:14: ReferenceError: initialSize is not defined
[W] QQmlImportDatabase::importPlugin:1697 - Module 'org.nemomobile.voicecall' does not contain a module identifier directive - it cannot be protected from external registrations.
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "settings"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-camera"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "voicecall"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "calculator"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "calendar"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-camera"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "clock"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "contacts"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-email"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "gallery"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-mediaplayer"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "messages"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "messages"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "notes"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "settings"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-email"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-browser"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-maps"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "sailfish-office"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "jolla-store"
[D] MDesktopEntryPrivate::MDesktopEntryPrivate:119 - Unable to load catalog "voicecall"
[W] BluetoothObexAgent::bluezRegistered:506 - Registered Bluetooth OBEX agent: /com/jolla/obexservice/agent
DeclarativeWindow::Item does not belong to a window
[W] unknown:581 - qrc:/qml/main.qml:581:17: QML Launcher: Binding loop detected for property "height"
QFileSystemWatcher::removePaths: list is empty
[W] ContactsDatabase::open:1028 - "Unable to create contacts database directory: /home/nemo/.local/share/system//privileged/Contacts/qtcontacts-sqlite"
[W] ContactsEngine::open:859 - "Unable to open engine database"
[W] QtContacts::QContactManagerData::createEngine:156 - Creation of "org.nemomobile.contacts.sqlite" engine failed.
QObject::connect: Cannot connect (null)::contactsPresenceChanged(QList<QContactId>) to SeasideCache::contactsPresenceChanged(QList<QContactId>)
Segmentation fault

I managed to get a backtrace in gdb:

Program received signal SIGSEGV, Segmentation fault.
SeasidePersonAttached::selfPerson (this=<optimized out>) at seasideperson.cpp:73
73          if (!item->itemData) {
(gdb) bt
#0  SeasidePersonAttached::selfPerson (this=<optimized out>) at seasideperson.cpp:73
#1  0x41e48654 in SeasidePersonAttached::qt_metacall (this=0x2122268, _c=<optimized out>, _id=0, _a=0xbe92ef0c) at moc_seasideperson.cpp:166
#2  0x41b2ba24 in metacall (argv=<optimized out>, idx=<optimized out>, cl=<optimized out>, object=<optimized out>) at kernel/qmetaobject.cpp:307
#3  QMetaObject::metacall (object=<optimized out>, cl=QMetaObject::ReadProperty, idx=1, argv=0xbe92ef0c) at kernel/qmetaobject.cpp:302
#4  0x40fadc74 in QV4Bindings::run (this=0x4105d7c8, instrIndex=<optimized out>, executedBlocks=@0x40ebdc20: 3912056848, context=0x1eae6c4, error=0x20ac460, scope=0x1ee9ad8, output=0x1ee9ad8, 
    storeFlags=..., invalidated=0xbe92f0b7, table=0x0) at qml/v4/qv4bindings.cpp:2358
#5  0x40fb2390 in QV4Bindings::run (this=<optimized out>, binding=0x20ac458, flags=...) at qml/v4/qv4bindings.cpp:584
#6  0x40ee6388 in setEnabled (f=..., e=true, this=0x20ac458) at ../../src/qml/qml/qqmlabstractbinding_p.h:116
#7  QQmlVME::complete (this=0x2028e38, interrupt=...) at qml/qqmlvme.cpp:1332
#8  0x40edbc20 in QQmlComponentPrivate::complete (enginePriv=0x1e8dd60, state=0x2028e38) at qml/qqmlcomponent.cpp:919
#9  0x40edbcf4 in QQmlComponentPrivate::completeCreate (this=0x2028de0) at qml/qqmlcomponent.cpp:955
#10 0x40edc804 in QQmlComponent::createObject (this=<optimized out>, args=0xbe92f2a0) at qml/qqmlcomponent.cpp:1210
#11 0x41030d28 in QQmlComponent::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/release-shared/moc_qqmlcomponent.cpp:145
#12 0x41030e2c in QQmlComponent::qt_metacall (this=0x2027308, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbe92f310) at .moc/release-shared/moc_qqmlcomponent.cpp:208
#13 0x41b2ba24 in metacall (argv=<optimized out>, idx=<optimized out>, cl=<optimized out>, object=<optimized out>) at kernel/qmetaobject.cpp:307
#14 QMetaObject::metacall (object=<optimized out>, cl=QMetaObject::InvokeMetaMethod, idx=11, argv=0xbe92f310) at kernel/qmetaobject.cpp:302
#15 0x40fdaaa0 in QV8QObjectWrapper::Invoke (args=...) at qml/v8/qv8qobjectwrapper.cpp:2045
#16 0x43b3dca8 in HandleApiCallHelper<false> (isolate=0x1e64cc0, args=...) at ../3rdparty/v8/src/builtins.cc:1164
#17 v8::internal::Builtin_HandleApiCall (args=..., isolate=0x1e64cc0) at ../3rdparty/v8/src/builtins.cc:1182
#18 0x2420a15c in ?? ()
#19 0x2420a15c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

I'm running 1.3.0.8.