Bug 417900

Summary: qqc2-desktop-style causes Ultimaker Cura to crash
Product: [Frameworks and Libraries] frameworks-qqc2-desktop-style Reporter: Stefan Brüns <stefan.bruens>
Component: generalAssignee: Marco Martin <notmart>
Status: RESOLVED UPSTREAM    
Severity: crash CC: kde, nate
Priority: NOR    
Version First Reported In: 5.67.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
URL: https://github.com/Ultimaker/Cura/commit/b49d5ab9e91279ccc89dd14a0f5bf6a4887b51d6
See Also: https://github.com/Ultimaker/Cura/issues/5488
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Stefan Brüns 2020-02-19 23:42:50 UTC
SUMMARY

When running Cura with qqc2-desktop-style and switching to the "Preview" pane, cura crashes.

Current thread 0x00007f33a51ce6c0 (most recent call first):
  File "/usr/lib/python3.7/site-packages/UM/Qt/Bindings/ControllerProxy.py", line 105 in _onActiveViewChanged
  File "/usr/lib/python3.7/site-packages/UM/Signal.py", line 315 in __performEmit
  File "/usr/lib/python3.7/site-packages/UM/Signal.py", line 212 in emit
  File "/usr/lib/python3.7/site-packages/UM/Controller.py", line 101 in setActiveView
  File "/usr/lib/python3.7/site-packages/UM/Qt/Bindings/ControllerProxy.py", line 41 in setActiveView
  File "/usr/lib/python3.7/site-packages/UM/Qt/Bindings/ControllerProxy.py", line 102 in _onActiveStageChanged
  File "/usr/lib/python3.7/site-packages/UM/Signal.py", line 315 in __performEmit
  File "/usr/lib/python3.7/site-packages/UM/Signal.py", line 212 in emit
  File "/usr/lib/python3.7/site-packages/UM/Controller.py", line 156 in setActiveStage
  File "/usr/lib/python3.7/site-packages/UM/Qt/Bindings/ControllerProxy.py", line 49 in setActiveStage
  File "/usr/lib/python3.7/site-packages/UM/Qt/Bindings/MainWindow.py", line 180 in mouseReleaseEvent
  File "/usr/lib/python3.7/site-packages/UM/Qt/QtApplication.py", line 341 in exec_
  File "/usr/lib/python3.7/site-packages/cura/CuraApplication.py", line 804 in run
  File "/usr/bin/cura", line 180 in <module>
Speicherzugriffsfehler (Speicherabzug geschrieben)

SOFTWARE/OS VERSIONS
KDE Frameworks Version: 5.67
Qt Version: 5.14.1
Comment 1 Stefan Brüns 2020-02-19 23:44:01 UTC
Stupid spam filter stops me from posting a complete BR ...
Comment 2 Stefan Brüns 2020-02-19 23:46:28 UTC
Also large parts of the UI have a broken layout. The following warnings are shown:

[MainThread] UM.Qt.QtApplication.__onQmlWarning
Comment 3 Stefan Brüns 2020-02-19 23:47:51 UTC
Also large parts of the UI have a broken layout. The following warnings are shown:

WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:185: TypeError: Cannot read property 'y' of undefined
WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:184: TypeError: Cannot read property 'x' of undefined
WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ComboBox.qml:183: TypeError: Cannot read property 'selectionStart' of null
WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/TabBar.qml:44: TypeError: Cannot read property 'height' of null

WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/ScrollBar.qml:42: TypeError: Cannot read property 'restart' of null

WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/TabButton.qml:37: TypeError: Cannot read property 'implicitHeight' of null
WARNING - [MainThread] UM.Qt.QtApplication.__onQmlWarning [369]: file:///usr/lib64/qt5/qml/QtQuick/Controls.2/org.kde.desktop/TabButton.qml:36: TypeError: Cannot read property 'implicitWidth' of null
Comment 4 David Edmundson 2020-02-20 00:01:08 UTC
>When running Cura with qqc2-desktop-style and switching to the "Preview" pane, cura crashes.

Did you explicitly force it to run with the qqc2-desktop-style or was it done automatically from plasma-integration?
Comment 5 Stefan Brüns 2020-02-20 01:52:35 UTC
It was automatic, i.e regular Plasma 5 session.

$> env | grep -E 'SESSION|DESKTOP'
DESKTOP_SESSION=/usr/share/xsessions/plasma5
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_TYPE=x11
XDG_CURRENT_DESKTOP=KDE
XDG_SESSION_CLASS=user
KDE_SESSION_VERSION=5
KDE_FULL_SESSION=true

The following workarounds help:

1. "env -u DESKTOP_SESSION -u KDE_FULL_SESSION -u XDG_CURRENT_DESKTOP cura"
2. "QT_QUICK_CONTROLS_STYLE=material cura"
Comment 6 Stefan Brüns 2020-02-20 01:52:59 UTC
See also https://bugs.archlinux.org/task/62133
Comment 7 Nate Graham 2021-04-19 19:53:25 UTC
Since Cura implements its own theme internally, it seems like it should be asking not to be themed at all, because any theming will be horribly broken (as in fact, it is). Looks like upstream pushed a fix that does just that in https://github.com/Ultimaker/Cura/commit/b49d5ab9e91279ccc89dd14a0f5bf6a4887b51d6.

Seems like the issue is now fixed upstream so there's nothing for us to do here.