status-im / status-desktop

Status Desktop client made in Nim & QML
https://status.app
Mozilla Public License 2.0
290 stars 78 forks source link

[Qt-upgrade] The app is crashing on linux with qt 5.15.8 #13311

Closed alexjba closed 8 months ago

alexjba commented 8 months ago

Description

The app is crashing on Linux when it's being compiled against qt 5.15.8. The crash seems to be related to nimqml or DOtherSide.

Note: We have colleagues that are using the debug builds with qt 5.15.8 or newer and it works. Could be a more specific issue that's reproducible on release, on specific flows or just on the nix builds.

Original crash

i was able to launch the build from https://ci.status.im/job/status-desktop/job/systems/job/linux/job/x86_64/job/package_nix/13/ i was not able to create account in this build, it fails with:

raceback (most recent call last)
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/nim_status_client.nim(208) nim_status_client
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/nim_status_client.nim(205) mainProc
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimqml/src/nimqml/private/qguiapplication.nim(29) exec
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimqml/src/nimqml/private/qobject.nim(52) qobjectCallback
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimqml/src/nimqml/private/qobject.nim(37) onSlotCalled
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimbus-build-system/vendor/Nim/lib/core/macros.nim(558) onSlotCalled
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/core/signals/signals_manager.nim(63) receiveSignal
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/core/signals/signals_manager.nim(60) processSignal
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/core/eventemitter.nim(58) emit
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/startup/controller.nim(137) :anonymous
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/startup/io_interface.nim(118) onNodeLogin
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/startup/module.nim(444) onNodeLogin
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/startup/io_interface.nim(174) finishAppLoading
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/startup/module.nim(337) finishAppLoading
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/boot/app_controller.nim(486) finishAppLoading
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/boot/app_controller.nim(461) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/io_interface.nim(32) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/module.nim(644) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/io_interface.nim(8) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/module.nim(40) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/view.nim(33) load
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/io_interface.nim(17) viewDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/module.nim(50) viewDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/network_connection/module.nim(47) checkIfModuleDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/io_interface.nim(73) networkConnectionModuleDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/module.nim(847) networkConnectionModuleDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/module.nim(811) checkIfModuleDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/boot/app_controller.nim(407) mainDidLoad
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/boot/app_controller.nim(390) chekForWalletConnectPairings
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/core/eventemitter.nim(58) emit
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/wallet_section/wallet_connect/controller.nim(67) :anonymous
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/src/app/modules/main/wallet_section/wallet_connect/controller.nim(132) setHasActivePairings
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimbus-build-system/vendor/Nim/lib/core/macros.nim(556) hasActivePairingsChanged
/home/jenkins/workspace/status-desktop/systems/linux/x86_64/package_nix/vendor/nimqml/src/nimqml/private/qobject.nim(35) emit
SIGABRT: Abnormal termination.
Aborted (core dumped)

Originally posted by @anastasiyaig in https://github.com/status-im/status-desktop/issues/9232#issuecomment-1910463309

yakimant commented 8 months ago

Please ask me, when you will need some help debugging.

So far there is a manual job: https://ci.status.im/job/status-desktop/job/systems/job/linux/job/x86_64/job/package_nix/

Nix + Qt 5.15.8 branch: https://github.com/status-im/status-desktop/pull/9232

Or you can run locally:

nix-shell --show-trace --pure --run 'make --debug tgz-linux V=1'
yakimant commented 8 months ago

I do investigation on this issue in my PR too: https://github.com/status-im/status-desktop/pull/9232

yakimant commented 8 months ago

Qt WebEngine was causing the problems, disabling helped: https://github.com/status-im/status-desktop/issues/13540

Now the question is - do we really need it? And if so - we need to debug the crash further.

iurimatias commented 8 months ago

disregard last message / deleted

iurimatias commented 8 months ago

duplicate of https://github.com/status-im/status-desktop/issues/9350