Bug 384481 - mapviewer (qtlocation), minuet, kalgebra-mobile segfault at startup
Summary: mapviewer (qtlocation), minuet, kalgebra-mobile segfault at startup
Status: RESOLVED FIXED
Alias: None
Product: frameworks-qqc2-desktop-style
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Marco Martin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-09-08 06:21 UTC by Antonio Rojas
Modified: 2017-11-30 19:07 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antonio Rojas 2017-09-08 06:21:30 UTC
Backtrace:

(gdb) bt
#0  0x00007fffd6604ff6 in KQuickStyleItem::sizeFromContents (this=this@entry=0x555555acc650, width=0, height=0)
    at /build/qqc2-desktop-style/src/qqc2-desktop-style-5.10.95/plugin/kquickstyleitem.cpp:844
#1  0x00007fffd66059c5 in KQuickStyleItem::updateSizeHint (this=0x555555acc650)
    at /build/qqc2-desktop-style/src/qqc2-desktop-style-5.10.95/plugin/kquickstyleitem.cpp:977
#2  0x00007fffd6608f72 in KQuickStyleItem::qt_static_metacall (_o=0x555555acc650, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>)
    at /build/qqc2-desktop-style/src/build/plugin/qqc2desktopstyleplugin_autogen/include/moc_kquickstyleitem_p.cpp:612
#3  0x00007ffff68b0842 in QQmlPropertyData::writeProperty (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/include/QtQml/5.9.1/QtQml/private/../../../../../src/qml/qml/qqmlpropertycache_p.h:320
#4  0x00007ffff6937379 in QQmlObjectCreator::setPropertyValue (this=this@entry=0x7fffffff9220, property=property@entry=0x7fffd81572e8, 
    binding=binding@entry=0x7fffe80a7a10)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:352
#5  0x00007ffff693a636 in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffff9220, property=property@entry=0x7fffd81572e8, 
    binding=binding@entry=0x7fffe80a7a10)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:989
#6  0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffff9220, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#7  0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffff9220, index=0, index@entry=2, instance=0x555555b237c0, 
    bindingTarget=0x555555b237c0, valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#8  0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffff9220, index=<optimized out>, parent=<optimized out>, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#9  0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffff9220, property=property@entry=0x7fffd80da408, 
    binding=binding@entry=0x7fffe80a7764)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
#10 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffff9220, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#11 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffff9220, index=-1, index@entry=0, instance=0x0, bindingTarget=0x0, 
    valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#12 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffff9220, index=index@entry=0, parent=parent@entry=0x0, 
---Type <return> to continue, or q <return> to quit---
    isContextObject=isContextObject@entry=true)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#13 0x00007ffff693cbe3 in QQmlObjectCreator::create (this=0x7fffffff9220, subComponentIndex=<optimized out>, parent=0x0, interrupt=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:201
#14 0x00007ffff69392e4 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffa600, index=39, parent=0x555555acd760, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1108
#15 0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffffa600, property=property@entry=0x7fffd807a6d8, 
    binding=binding@entry=0x7fffe80fd2f8)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
#16 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffffa600, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#17 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffffa600, index=15, index@entry=38, instance=0x555555b21ed0, 
    bindingTarget=0x555555b21ed0, valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#18 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffa600, index=<optimized out>, parent=<optimized out>, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#19 0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffffa600, property=property@entry=0x7fffd807a6d8, 
    binding=binding@entry=0x7fffe80fc560)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
#20 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffffa600, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#21 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffffa600, index=14, index@entry=15, instance=0x555555ad3ca0, 
    bindingTarget=0x555555ad3ca0, valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#22 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffa600, index=<optimized out>, parent=<optimized out>, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#23 0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffffa600, property=property@entry=0x7fffd807a6d8, 
    binding=binding@entry=0x7fffe80fc488)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
---Type <return> to continue, or q <return> to quit---
#24 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffffa600, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#25 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffffa600, index=0, index@entry=14, instance=0x555555ac45b0, 
    bindingTarget=0x555555ac45b0, valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#26 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffa600, index=<optimized out>, parent=<optimized out>, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#27 0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffffa600, property=property@entry=0x7fffd807a6d8, 
    binding=binding@entry=0x7fffe80fba14)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
#28 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffffa600, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#29 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffffa600, index=-1, index@entry=0, instance=0x0, bindingTarget=0x0, 
    valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
#30 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffa600, index=index@entry=0, parent=parent@entry=0x0, 
    isContextObject=isContextObject@entry=true)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#31 0x00007ffff693cbe3 in QQmlObjectCreator::create (this=0x7fffffffa600, subComponentIndex=<optimized out>, parent=0x0, interrupt=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:201
#32 0x00007ffff69392e4 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffacc0, index=13, parent=0x555555ab81d0, 
    isContextObject=isContextObject@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1108
#33 0x00007ffff693bb0a in QQmlObjectCreator::setPropertyBinding (this=this@entry=0x7fffffffacc0, property=property@entry=0x7fffd807a6d8, 
    binding=binding@entry=0x7fffe810c504)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:750
#34 0x00007ffff693bdc9 in QQmlObjectCreator::setupBindings (this=this@entry=0x7fffffffacc0, applyDeferredBindings=applyDeferredBindings@entry=false)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:702
#35 0x00007ffff69386c0 in QQmlObjectCreator::populateInstance (this=this@entry=0x7fffffffacc0, index=-1, index@entry=0, instance=0x0, bindingTarget=0x0, 
    valueTypeProperty=valueTypeProperty@entry=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1354
---Type <return> to continue, or q <return> to quit---
#36 0x00007ffff6939465 in QQmlObjectCreator::createInstance (this=this@entry=0x7fffffffacc0, index=index@entry=0, parent=parent@entry=0x0, 
    isContextObject=isContextObject@entry=true)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1197
#37 0x00007ffff693cbe3 in QQmlObjectCreator::create (this=0x7fffffffacc0, subComponentIndex=<optimized out>, parent=0x0, interrupt=0x0)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:201
#38 0x00007ffff69392e4 in QQmlObjectCreator::createInstance (this=this@entry=0x555555bbfb80, index=index@entry=11, parent=parent@entry=0x0, 
    isContextObject=isContextObject@entry=true)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:1108
#39 0x00007ffff693cbe3 in QQmlObjectCreator::create (this=this@entry=0x555555bbfb80, subComponentIndex=<optimized out>, parent=parent@entry=0x0, 
    interrupt=interrupt@entry=0x0) at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlobjectcreator.cpp:201
#40 0x00007ffff68b3a1e in QQmlComponentPrivate::beginCreate (this=0x555555aa4ce0, context=<optimized out>)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlcomponent.cpp:858
#41 0x00007ffff68b2cf6 in QQmlComponent::createObject (this=0x555555aa4640, args=0x7fffffffb160)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlcomponent.cpp:1246
#42 0x00007ffff68b4d0d in QQmlComponent::qt_static_metacall (_o=_o@entry=0x555555aa4640, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=6, 
    _a=_a@entry=0x7fffffffb180) at .moc/moc_qqmlcomponent.cpp:149
#43 0x00007ffff68b4f76 in QQmlComponent::qt_metacall (this=0x555555aa4640, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fffffffb180)
    at .moc/moc_qqmlcomponent.cpp:214
#44 0x00007ffff68f63fa in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffffffb0e0, type=type@entry=QMetaObject::InvokeMetaMethod, 
    index=<optimized out>, argv=argv@entry=0x7fffffffb180)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/qml/qqmlpropertycache.cpp:1727
#45 0x00007ffff68746ae in QV4::QObjectMethod::callInternal (this=<optimized out>, callData=0x7fffd78015b8, scope=...)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/jsruntime/qv4qobjectwrapper.cpp:1832
#46 0x00007ffff688d8ab in QV4::Object::call (d=0x7fffd78015b8, scope=..., this=<optimized out>)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/jsruntime/qv4object_p.h:372
#47 QV4::Runtime::method_callProperty (engine=0x555555825db0, nameIndex=<optimized out>, callData=0x7fffd78015b8)
    at /tmp/makepkg/qt5-declarative-debug/src/qtdeclarative-opensource-src-5.9.1/src/qml/jsruntime/qv4runtime.cpp:1102
#48 0x00007ffff7fc3abd in ?? ()
#49 0x0000555555845ba0 in ?? ()
#50 0x0003200000000000 in ?? ()
#51 0x0000000000000000 in ?? ()
Comment 1 Antonio Rojas 2017-09-08 06:23:38 UTC
source is at https://github.com/qt/qtlocation/tree/5.9/examples/location/mapviewer
Comment 2 Antonio Rojas 2017-09-16 22:44:34 UTC
Also affects minuet and kalgebra-mobile
Comment 3 David Edmundson 2017-09-22 15:14:20 UTC
Git commit 1781d60b230c32977c078e2943d94c506d7ee645 by David Edmundson.
Committed on 22/09/2017 at 15:14.
Pushed by davidedmundson into branch 'Plasma/5.11'.

Set QtQuickControls theme in QPT

Summary:
Currently we set QT_QUICK_CONTROLS_STYLE in startkde.

This causes problems as we're setting vars that meddle with other
developers setups. Especially if they're using QGuiApplication which
will instantly crash when using the desktop theme.

By moving the setting inside the QPT we can:
- only affect QApplications
- only affect apps that are desktopSettingsAware

If this env is already explicitly set by someone else, that has
precedence.

Also if this ever does move from being an env variable, we will probably
want to add the code here.
Related: bug 384466

Test Plan:
Unset env
Ran systemsettings5 the scrollbar was the correct colour

Reviewers: #plasma, gladhorn

Reviewed By: #plasma, gladhorn

Subscribers: gladhorn, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D7935

M  +15   -0    src/platformtheme/kdeplatformtheme.cpp
M  +1    -0    src/platformtheme/kdeplatformtheme.h

https://commits.kde.org/plasma-integration/1781d60b230c32977c078e2943d94c506d7ee645
Comment 4 Antonio Rojas 2017-09-22 17:59:15 UTC
This doesn't fix the issue unfortunately. The plasmashell and krunner processes have the QT_QUICK_CONTROLS_STYLE env variable set, so it is inherited by anything launched via krunner, kickoff or any terminal opened from within the Plasma session.
Comment 5 Antonio Rojas 2017-09-25 18:28:47 UTC
Git commit 059369d6b6a9a99538c175a3c53058cbb54e8abc by Antonio Rojas.
Committed on 25/09/2017 at 18:27.
Pushed by arojas into branch 'Plasma/5.11'.

Use QQuickStyle to set the QQC2 style

Use QQuickStyle::setStyle instead of an environment variable to set the QQC2 desktop style. This prevent the style from being inherited by
plasmashell (or krunner) child processes, which makes QGuiApplications crash. The QQC1 style still needs to be set via an environment variable, so
we explicitely unset it for non-QApplications to prevent them from crashing.

Differential Revision: https://phabricator.kde.org/D7953

M  +1    -1    CMakeLists.txt
M  +1    -0    src/platformtheme/CMakeLists.txt
M  +10   -5    src/platformtheme/kdeplatformtheme.cpp

https://commits.kde.org/plasma-integration/059369d6b6a9a99538c175a3c53058cbb54e8abc
Comment 6 RJVB 2017-11-30 19:07:24 UTC
Out of curiosity: this adds a runtime dependency on QtQuickControls2 to each and every Qt application. Isn't there a cost to this (or a risk there will be one in the future)?