status-im / status-desktop

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

SIGSEGV: Illegal storage access - crash #15266

Open fryorcraken opened 5 months ago

fryorcraken commented 5 months ago

Bug Report

Description

App crashes

Steps to reproduce

  1. Sync'd a new mobile
  2. Click on Status Community (left tab) while being in the sync settings
  3. Crash

Additional Information

Last lines of logs:

7f6c54a568f23aa216b94095206748e05b49e methodName=toggleReactionFromOthers
Warning: qrc:/StatusQ/Controls/StatusBaseButton.qml:142:9: QML RowLayout: Binding loop detected for property "width" (qrc:/StatusQ/Controls/StatusBaseButton.qml:142, )
Warning: qrc:/app/AppLayouts/Profile/popups/SetupSyncingPopup.qml:239:13: QML StatusButton: Binding loop detected for property "implicitWidth" (qrc:/app/AppLayouts/Profile/popups/SetupSyncingPopup.qml:239, )
INF 2024-06-20 10:57:21.404+10:00 mailserver not working                     topics="mailservers-service" tid=775795 file=service.nim:161
INF 2024-06-20 10:57:21.404+10:00 removing active mailserver                 topics="mailservers-service" tid=775795 file=service.nim:149
INF 2024-06-20 10:57:21.720+10:00 active mailserver changed                  topics="mailservers-service" tid=775795 file=service.nim:151 node=/dns4/store-02.ac-cn-hongkong-c.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAm9CQhsuwPR54q27kNj9iaQVfyRzTGKrhFmr94oD8ujU6P
ACTIVE MAILSERVER CHANGED: ref 0x7fbde087c150 --> [nodeAddress = 0x7fbde0600600"/dns4/store-02.ac-cn-hongkong-c.shards.test.statusim.net/tcp/30303/p2p/16Uiu2HAm9CQhsuwPR54q27kNj9iaQVfyRzTGKrhFmr94oD8ujU6P"]
INF 2024-06-20 10:57:21.721+10:00 mailserver available                       topics="mailservers-service" tid=775795 file=service.nim:156
INF 2024-06-20 10:57:21.721+10:00 history request started                    topics="mailservers-service" tid=775795 file=service.nim:166 numBatches=2
Warning: qrc:/StatusQ/Controls/StatusBaseButton.qml:142:9: QML RowLayout: Binding loop detected for property "width" (qrc:/StatusQ/Controls/StatusBaseButton.qml:142, )
Warning: qrc:/app/AppLayouts/Profile/popups/SetupSyncingPopup.qml:239:13: QML StatusButton: Binding loop detected for property "implicitWidth" (qrc:/app/AppLayouts/Profile/popups/SetupSyncingPopup.qml:239, )
Warning: qrc:/StatusQ/Components/StatusListItem.qml:211:13: QML StatusTextWithLoadingState: Binding loop detected for property "height" (qrc:/StatusQ/Components/StatusListItem.qml:211, )
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
[1]    775795 segmentation fault (core dumped)  ~/Applications/StatusIm-Desktop-v2.29.0-f78ece-x86_64.AppImage

Full logs:

fryorcraken commented 5 months ago

Happens systematically when jumping from any settings window to any chat.

Here are some logs with debug on:

geth.log app_20240620_110313.log

anastasiyaig commented 5 months ago

is it a duplicate of https://github.com/status-im/status-desktop/issues/15035 or another issue?

also, fedora..

igor-sirotin commented 5 months ago

I was able to get these 2 messages on crash (on 2 different runs);

Not sure how exactly I got them. Can't reproduce. But I was playing with Nim segfautls module.

jrainville commented 5 months ago

From the logs given, we can't know for sure what is happening. It doesn't seem like a status-go issue at least.

In the Nim debug logs, we can see that the last calls are in relation to the permission checks. Maybe when it updates the models, something goes wrong.

@igor-sirotin are you saying you were able to reproduce twice? if so the messages you logged seem more related to the crash itself and not its source.

igor-sirotin commented 5 months ago

if so the messages you logged seem more related to the crash itself and not its source.

@jrainville yeah now I think so too.

igor-sirotin commented 5 months ago

What I actually hate about this is the lack of information from the crash itself. SIGSEGV: Illegal storage access. (Attempt to read from nil?) tells literally nothing, call stack would be very helpful. How could we force the App (or OS) to save it?

segfautls doesn't really help

fryorcraken commented 5 months ago

I did fresh install of 2.28.1 and similar crash happens

  1. Setup desktop by syncing from my mobile
  2. Go to settings, enable debug and node management
  3. click on node management tab on the left
  4. Crashes
Warning: qrc:/app/AppLayouts/Profile/views/MyProfileView.qml:322: TypeError: Cannot read property 'overview' of undefined (qrc:/app/AppLayouts/Profile/views/MyProfileView.qml:322, )
Warning: Provided role name does not exist in the current model (:0, )
Warning: Provided role name does not exist in the current model (:0, )
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
[1]    860431 segmentation fault (core dumped)  ~/Applications/StatusIm-Desktop-v2.28.1-ee0590-x86_64.AppImage

geth.log app_20240621_111718.log

jrainville commented 5 months ago

I talked to one of our users and he tells me he has the same crash and he also paired.

His account that isn't paired doesn't seem to have the same crashes

Le jeu. 20 juin 2024, 9 h 43 p.m., fryorcraken @.***> a écrit :

I did fresh install of 2.28.1 and similar crash happens

  1. Setup desktop by syncing from my mobile
  2. Go to settings, enable debug and node management
  3. click on node management tab on the left
  4. Crashes

Warning: qrc:/app/AppLayouts/Profile/views/MyProfileView.qml:322: TypeError: Cannot read property 'overview' of undefined (qrc:/app/AppLayouts/Profile/views/MyProfileView.qml:322, ) Warning: Provided role name does not exist in the current model (:0, ) Warning: Provided role name does not exist in the current model (:0, ) SIGSEGV: Illegal storage access. (Attempt to read from nil?) [1] 860431 segmentation fault (core dumped) ~/Applications/StatusIm-Desktop-v2.28.1-ee0590-x86_64.AppImage

geth.log https://github.com/user-attachments/files/15921738/geth.log app_20240621_111718.log https://github.com/user-attachments/files/15921739/app_20240621_111718.log

— Reply to this email directly, view it on GitHub https://github.com/status-im/status-desktop/issues/15266#issuecomment-2181829154, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC27XA3MR6GLMINEEB35QU3ZIOALNAVCNFSM6AAAAABJS6NKF2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBRHAZDSMJVGQ . You are receiving this because you were mentioned.Message ID: @.***>

fryorcraken commented 5 months ago

I am guessing it's indeed pairing related because the crash started to appear with 2.29.0. The DB failed to migrate from 2.28.X to 2.29.0. But I did use some PR builds which I guess must have messed it up. So I used sync to initialized my desktop instance. From which point I got crashes.

I then reverted back to 2.28.1. For some reason, I was not able to use my backup folder (~/.config/Status) from previous 2.28.1 so I again initialized with sync, and got some crashes.

Is it possible to disable syncing?

fryorcraken commented 5 months ago

Doesn't seem to be possible to disable syncing. I have reset the app and logged in using seed words.

And..... crash still happens.

Steps:

  1. delete ~/.config/Status folder
  2. Start Desktop v2.28.1 app image (Linux Fedora x86_64)
  3. Enter seed to setup
  4. Do setup
  5. Go to settings
  6. Enable node management, enable debug
  7. Click on any chat tab on the left
  8. crash

app_20240621_130142.log

fryorcraken commented 5 months ago

Crash every time I change a setting is starting to get old.

Please feel free to point me to how to enable gdb for the Status app and I can aim to give you a proper core dump

igor-sirotin commented 5 months ago

Another crash for me. Not sure if it's related to the topic. But since we don't have QML errors in production logs, it could actually be it.

I do get this particular crash time to time in last weeks. But this one is always on app start, immediately after login

DBG 2024-06-21 13:47:11.236+01:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=19427208 file=threadpool.nim:56 messageType=BuildTokensTaskArg:ObjectType threadid=19427208 task="{\"$type\":\"BuildTokensTaskArg:ObjectType\",\"accounts\":[\"0x5524e85354e0146905391688c6305d378b88f36d\"],\"storeResult\":true,\"vptr\":5729275232,\"slot\":\"onAllTokensBuilt\"}"
DBG 2024-06-21 13:47:11.236+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427208 file=core.nim:27 rpc_method=wallet_fetchOrGetCachedWalletBalances
DBG 2024-06-21 13:47:11.256+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=accounts_getTokenPreferences
DBG 2024-06-21 13:47:11.257+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=accounts_getCollectiblePreferences
DBG 2024-06-21 13:47:11.259+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=wakuext_activityCenterNotificationsCount
DBG 2024-06-21 13:47:11.260+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=wakuext_hasUnseenActivityCenterNotifications
Critical: Error parsing my revealed addresses SyntaxError: JSON.parse: Parse error (qrc:/app/AppLayouts/stores/RootStore.qml:54, expression for myRevealedAddressesForCurrentCommunity)
DBG 2024-06-21 13:47:11.268+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=wakuext_getLatestVerificationRequestFrom
Warning: qrc:/imports/shared/stores/CommunityTokensStore.qml:97:48: QML Connections: Detected function "onOwnershipLost" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name. (qrc:/imports/shared/stores/CommunityTokensStore.qml:97, )
Warning: qrc:/imports/shared/stores/CommunityTokensStore.qml:20: SyntaxError: JSON.parse: Parse error (qrc:/imports/shared/stores/CommunityTokensStore.qml:20, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:612: TypeError: Cannot call method 'getMySectionId' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:612, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:101: TypeError: Cannot read property 'permissionsCheckOngoing' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:101, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:95: TypeError: Cannot read property 'loadingHistoryMessagesInProgress' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:95, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:93: TypeError: Cannot read property 'contactRequestsModel' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:93, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:74: TypeError: Cannot read property 'overviewChartData' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:74, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:67:5: Unable to assign [undefined] to int (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:67, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:64: TypeError: Cannot read property 'allChannelsAreHiddenBecauseNotPermitted' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:64, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:34: TypeError: Cannot read property 'model' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:34, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:114: TypeError: Cannot read property 'allTokenRequirementsMet' of undefined (qrc:/imports/shared/stores/PermissionsStore.qml:114, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:98:9: Unable to assign [undefined] to QAbstractItemModel* (qrc:/imports/shared/stores/PermissionsStore.qml:98, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:79:9: Unable to assign [undefined] to QAbstractItemModel* (qrc:/imports/shared/stores/PermissionsStore.qml:79, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:59:9: Unable to assign [undefined] to QAbstractItemModel* (qrc:/imports/shared/stores/PermissionsStore.qml:59, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:40:9: Unable to assign [undefined] to QAbstractItemModel* (qrc:/imports/shared/stores/PermissionsStore.qml:40, )
Warning: qrc:/imports/shared/stores/PermissionsStore.qml:18: TypeError: Cannot read property 'permissionsModel' of undefined (qrc:/imports/shared/stores/PermissionsStore.qml:18, )
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:84: TypeError: Cannot read property 'activeItem' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:84, )
Warning: qrc:/app/AppLayouts/Profile/stores/ProfileStore.qml:34:5: Unable to assign [undefined] to bool (qrc:/app/AppLayouts/Profile/stores/ProfileStore.qml:34, )
Warning: qrc:/app/AppLayouts/Profile/stores/ProfileStore.qml:30:5: Unable to assign [undefined] to QString (qrc:/app/AppLayouts/Profile/stores/ProfileStore.qml:30, )
Warning: qrc:/app/AppLayouts/Wallet/stores/RootStore.qml:64: TypeError: Cannot read property 'isGoerliEnabled' of undefined (qrc:/app/AppLayouts/Wallet/stores/RootStore.qml:64, )
DBG 2024-06-21 13:47:11.298+01:00 NewBE_callPrivateRPC                       topics="rpc" tid=19427154 file=core.nim:27 rpc_method=wakuext_getLatestVerificationRequestFrom
Critical: AppMain: Unknown section type (qrc:/app/mainui/AppMain.qml:1166, expression for currentIndex)
Warning: qrc:/app/mainui/AppMain.qml:1136:21: Unable to assign [undefined] to int (qrc:/app/mainui/AppMain.qml:1136, )
Warning: qrc:/app/AppLayouts/Onboarding/OnboardingLayout.qml:151:9: Unable to assign [undefined] to QObject* (qrc:/app/AppLayouts/Onboarding/OnboardingLayout.qml:151, )
Warning: qrc:/main.qml:161:9: Unable to assign [undefined] to QObject* (qrc:/main.qml:161, )
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
make: *** [run-macos] Segmentation fault: 11

geth.log end:

DEBUG[06-21|13:47:11.256|rpc/handler.go:307]                                                                  Served accounts_getTokenPreferences      reqid=154 duration="150.708µs"
DEBUG[06-21|13:47:11.257|rpc/handler.go:307]                                                                  Served accounts_getCollectiblePreferences reqid=155 duration="266.042µs"
DEBUG[06-21|13:47:11.259|rpc/handler.go:307]                                                                  Served wakuext_activityCenterNotificationsCount reqid=156 duration="338.625µs"
DEBUG[06-21|13:47:11.260|rpc/handler.go:307]                                                                  Served wakuext_hasUnseenActivityCenterNotifications reqid=157 duration="66.208µs"
DEBUG[06-21|13:47:11.264|github.com/status-im/mvds/node/node.go:185]                                          Epoch processing                         namespace=mvds node=04178206 epoch=69695
DEBUG[06-21|13:47:11.268|rpc/handler.go:307]                                                                  Served wakuext_getLatestVerificationRequestFrom reqid=158 duration="158.625µs"
DEBUG[06-21|13:47:11.289|github.com/status-im/status-go/services/wallet/transfer/commands_sequential.go:98]   findNewBlocksCommand comparing hashes    account=0x5524E85354e0146905391688C6305D378B88f36D network=11,155,111 old hash=0x98d12d5e9af8b7ea5498c264382d6c9310729742bc5d4b0ee9915f3d98e9fc98 new hash=0x98d12d5e9af8b7ea5498c264382d6c9310729742bc5d4b0ee9915f3d98e9fc98
DEBUG[06-21|13:47:11.289|github.com/status-im/status-go/services/wallet/transfer/block_ranges_sequential_dao.go:157] upsert eth and tokens blocks range       account=0x5524E85354e0146905391688C6305D378B88f36D chainID=11,155,111 eth.start=6,148,654 eth.first=6,040,932 eth.last=6,154,817 tokens.first=0 tokens.last=6,154,817 hash=0x98d12d5e9af8b7ea5498c264382d6c9310729742bc5d4b0ee9915f3d98e9fc98
DEBUG[06-21|13:47:11.289|github.com/status-im/status-go/services/wallet/transfer/commands_sequential.go:219]         findNewBlocksCommand nonce check         accounts=[0x5524E85354e0146905391688C6305D378B88f36D]
DEBUG[06-21|13:47:11.289|github.com/status-im/status-go/services/wallet/transfer/commands_sequential.go:128]         Fetching old nonce                       at=6,154,817 acc=0x5524E85354e0146905391688C6305D378B88f36D
DEBUG[06-21|13:47:11.299|rpc/handler.go:307]                                                                         Served wakuext_getLatestVerificationRequestFrom reqid=159 duration="100.875µs"
jrainville commented 5 months ago

I just got a SIGSEGV crash for the first time since using 2.29.

Could it be that we are all receiving some sort of signal or message and it's making it crash? I know there was a bug at some point that only happened when you received a profile showcase update containing a community you didn't know.

The logs are not that useful however.

Nim logs:

DBG 2024-06-21 09:25:11.739-04:00 NewBE_callPrivateRPC                       topics="rpc" tid=438579 file=core.nim:27 rpc_method=accounts_getCollectiblePreferences
DBG 2024-06-21 09:25:11.902-04:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=438605 file=threadpool.nim:54 messageType=FetchCollectibleOwnersArg:ObjectType threadid=438605 task="{\"$type\":\"FetchCollectibleOwnersArg:ObjectType\",\"chainId\":10,\"contractAddress\":\"0x9eDc11E5932372387E76ff3dcF66DB5465893823\",\"communityId\":\"0x02b5bdaf5a25fcfe2ee14c501fab1836b8de57f61621080c3d52073d16de0d98d6\",\"vptr\":110874477750048,\"slot\":\"onCommunityTokenOwnersFetched\",\"tptr\":110874312492704}"
DBG 2024-06-21 09:25:11.903-04:00 NewBE_callPrivateRPC                       topics="rpc" tid=438605 file=core.nim:27 rpc_method=wallet_getCollectibleOwnersByContractAddress
DBG 2024-06-21 09:25:11.903-04:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=438609 file=threadpool.nim:54 messageType=FetchCollectibleOwnersArg:ObjectType threadid=438609 task="{\"$type\":\"FetchCollectibleOwnersArg:ObjectType\",\"chainId\":10,\"contractAddress\":\"0xD1FaDDF951F0177dBCF457dFC88Ea3Ee14bE08C0\",\"communityId\":\"0x02b5bdaf5a25fcfe2ee14c501fab1836b8de57f61621080c3d52073d16de0d98d6\",\"vptr\":110874477750048,\"slot\":\"onCommunityTokenOwnersFetched\",\"tptr\":110874312492704}"
DBG 2024-06-21 09:25:11.903-04:00 NewBE_callPrivateRPC                       topics="rpc" tid=438609 file=core.nim:27 rpc_method=wallet_getCollectibleOwnersByContractAddress
DBG 2024-06-21 09:25:12.140-04:00 NewBE_callPrivateRPC                       topics="rpc" tid=438605 file=core.nim:27 rpc_method=wakuext_getCommunityMembersForWalletAddresses
DBG 2024-06-21 09:25:12.813-04:00 NewBE_callPrivateRPC                       topics="rpc" tid=438609 file=core.nim:27 rpc_method=wakuext_getCommunityMembersForWalletAddresses
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Segmentation fault (core dumped)

geth.log:

DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/tracer.go:91]                                         pubsub trace                             type=DELIVER_MESSAGE MessageID=HnkR8eYXcYfWkFPAHZjweuniJY2M8mFWYUAjVarRRhG6
DEBUG[06-21|09:25:13.301|go.uber.org/zap/sugar.go:198]                                                               dropping message to peer 16Uiu2HAmMELCo218hncCtTvC2Dwbej3rbyHQcR8erXNnKGei7WPZ: queue full 
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/tracer.go:91]                                         pubsub trace                             type=DROP_RPC SendTo=16Uiu2HAmMELCo218hncCtTvC2Dwbej3rbyHQcR8erXNnKGei7WPZ MessageID[0]=HnkR8eYXcYfWkFPAHZjweuniJY2M8mFWYUAjVarRRhG6 Topic[0]=/waku/2/rs/16/32
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/waku.go:1352]                                         received new envelope                    messageType=0 envelopeHash=0x4783d9083699f6a35c2fffd394907d90dc4783f7c312d4df55f95d57ac3e75ee contentTopic=/waku/1/0xab6fd685/rfc26 timestamp=1,718,976,313,913,235,673
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/waku.go:1396]                                         cached w envelope                        envelopeHash=0x4783d9083699f6a35c2fffd394907d90dc4783f7c312d4df55f95d57ac3e75ee
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/waku.go:1406]                                         posting event                            envelopeHash=0x4783d9083699f6a35c2fffd394907d90dc4783f7c312d4df55f95d57ac3e75ee
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/common/filter.go:234]                                 no filters available for this topic      message=0x4783d9083699f6a35c2fffd394907d90dc4783f7c312d4df55f95d57ac3e75ee pubsubTopic=/waku/2/rs/16/32 contentTopic=0xab6fd685
DEBUG[06-21|09:25:13.301|github.com/status-im/status-go/wakuv2/waku.go:1454]                                         filters did not match                    envelopeHash=0x4783d9083699f6a35c2fffd394907d90dc4783f7c312d4df55f95d57ac3e75ee pubsubTopic=/waku/2/rs/16/32 contentTopic=/waku/1/0xab6fd685/rfc26 timestamp=1,718,976,313,913,235,673
anastasiyaig commented 5 months ago

@igor-sirotin i used to see this when running autotests

Critical: Error parsing my revealed addresses SyntaxError: JSON.parse: Parse error (qrc:/app/AppLayouts/stores/RootStore.qml:54, expression for myRevealedAddressesForCurrentCommunity)

this potentially leads to app stuck and crash later, but maybe it is wrong understanding. However, i logged the ticket for it as it (or something else) fails my tests

fryorcraken commented 5 months ago

FYI been trying to reproduce this with a local build, but facing difficulties building on Fedora 40 with gcc-14 https://github.com/status-im/status-desktop/issues/15300

fryorcraken commented 5 months ago

I was able to compile!

ulimit -c unlimited
make LOG_LEVEL=TRACE V=1 REBUILD_NIM=true INCLUDE_DEBUG_SYMBOLS=true -j 12 run

new logs:

DBG 2024-06-25 13:06:51.072+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794075 file=core.nim:27 rpc_method=wallet_fetchOrGetCachedWalletBalances
DBG 2024-06-25 13:06:52.420+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794048 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseSocialLinksLimit
DBG 2024-06-25 13:06:52.421+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794048 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-25 13:06:52.427+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794048 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-25 13:06:52.434+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794048 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-25 13:06:52.552+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1794077 file=threadpool.nim:56 messageType=QObjectTaskArg:ObjectType threadid=1794077 task="{\"$type\":\"QObjectTaskArg:ObjectType\",\"vptr\":59598736,\"slot\":\"asyncProfileShowcasePreferencesLoaded\"}"
DBG 2024-06-25 13:06:52.552+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794077 file=core.nim:27 rpc_method=wakuext_getProfileShowcasePreferences
DBG 2024-06-25 13:06:52.570+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794048 file=core.nim:27 rpc_method=wakuext_shareUserURLWithData
DBG 2024-06-25 13:06:52.584+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1794078 file=threadpool.nim:56 messageType=AsyncLoadDevicesTaskArg:ObjectType threadid=1794078 task="{\"$type\":\"AsyncLoadDevicesTaskArg:ObjectType\",\"vptr\":59901040,\"slot\":\"asyncDevicesLoaded\"}"
DBG 2024-06-25 13:06:52.584+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1794078 file=core.nim:27 rpc_method=wakuext_getOurInstallations
Warning: qrc:/imports/shared/views/chat/MessageView.qml:51:5: Unable to assign [undefined] to bool (qrc:/imports/shared/views/chat/MessageView.qml:51, )
Warning: qrc:/imports/shared/views/chat/MessageView.qml:275: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/imports/shared/views/chat/MessageView.qml:275, )
Warning: qrc:/imports/shared/views/chat/MessageView.qml:274: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/imports/shared/views/chat/MessageView.qml:274, )
Warning: qrc:/imports/shared/views/chat/MessageView.qml:270: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/imports/shared/views/chat/MessageView.qml:270, )
Traceback (most recent call last)
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(217) nim_status_client
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(214) mainProc
/home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim(29) exec
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
make: *** [Makefile:820: run-linux] Segmentation fault (core dumped)

could not get a coredump tho

app_20240621_204357.log geth-crash.log

igor-sirotin commented 5 months ago

I was able to compile!

🎉

new logs

Now we have some QML logs prior the crash. This is good, but I don't see anything much related. Do you get the same MessageView.qml errors each time?

fryorcraken commented 5 months ago

Do you get the same MessageView.qml errors each time?

It seems so. Let me run more time and come back to you.

igor-sirotin commented 5 months ago

Interesting that traceback you posted is not really helpful

Traceback (most recent call last)
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(217) nim_status_client
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(214) mainProc
/home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim(29) exec

Looks like main thread traceback, while the error occurred in another thread

fryorcraken commented 5 months ago

Here are the key lines

DBG 2024-06-26 13:24:44.162+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1913825 file=core.nim:27 rpc_method=wakuext_slowdownArchivesImport
ERR 2024-06-26 13:24:44.288+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1913825 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20, )
ERR 2024-06-26 13:24:44.288+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1913825 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:52: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:52, )
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:53: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:53, )
ERR 2024-06-26 13:24:44.289+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1913825 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-26 13:24:44.289+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1913825 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-26 13:24:44.289+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1913825 file=module.nim:551 chatId= methodName=getChatContentModule
Traceback (most recent call last)
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(217) nim_status_client
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(214) mainProc
/home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim(29) exec
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
make: *** [Makefile:820: run-linux] Segmentation fault (core dumped)

app_20240626_132031.log

fryorcraken commented 5 months ago

I tried to build StatusQ in debug mode but then it waits for a debugger. If there a tutorial to run QML debugger I am happy to try.

fryorcraken commented 5 months ago

Does this help?

[New Thread 0x7ffe3f4006c0 (LWP 1922951)]                                                                                                                                                                                                                                   
DBG 2024-06-26 13:36:49.046+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1922428 file=threadpool.nim:56 messageType=BuildTokensTaskArg:ObjectType threadid=1922428 task="{\"$type\":\"BuildTokensTaskArg:ObjectType\",\"accounts\":[\"0x54cb816466c6b63b77909bae4c20c6498bd3a6a4\"],\"storeResult\":true,\"vptr\":41908448,\"slot\":\"onAllTokensBuilt\"}"
DBG 2024-06-26 13:36:49.046+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922428 file=core.nim:27 rpc_method=wallet_fetchOrGetCachedWalletBalances
DBG 2024-06-26 13:36:50.252+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1922433 file=threadpool.nim:56 messageType=BuildTokensTaskArg:ObjectType threadid=1922433 task="{\"$type\":\"BuildTokensTaskArg:ObjectType\",\"accounts\":[\"0x54cb816466c6b63b77909bae4c20c6498bd3a6a4\"],\"storeResult\":true,\"vptr\":41908448,\"slot\":\"onAllTokensBuilt\"}"
DBG 2024-06-26 13:36:50.254+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922433 file=core.nim:27 rpc_method=wallet_fetchOrGetCachedWalletBalances
DBG 2024-06-26 13:36:54.644+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_slowdownArchivesImport
DBG 2024-06-26 13:36:54.821+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseSocialLinksLimit
DBG 2024-06-26 13:36:54.822+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-26 13:36:54.825+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-26 13:36:54.827+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_getProfileShowcaseEntriesLimit
DBG 2024-06-26 13:36:54.906+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1922425 file=threadpool.nim:56 messageType=QObjectTaskArg:ObjectType threadid=1922425 task="{\"$type\":\"QObjectTaskArg:ObjectType\",\"vptr\":42055168,\"slot\":\"asyncProfileShowcasePreferencesLoaded\"}"
DBG 2024-06-26 13:36:54.907+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922425 file=core.nim:27 rpc_method=wakuext_getProfileShowcasePreferences
DBG 2024-06-26 13:36:54.926+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922373 file=core.nim:27 rpc_method=wakuext_shareUserURLWithData
DBG 2024-06-26 13:36:54.942+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=1922431 file=threadpool.nim:56 messageType=AsyncLoadDevicesTaskArg:ObjectType threadid=1922431 task="{\"$type\":\"AsyncLoadDevicesTaskArg:ObjectType\",\"vptr\":41793392,\"slot\":\"asyncDevicesLoaded\"}"
DBG 2024-06-26 13:36:54.943+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=1922431 file=core.nim:27 rpc_method=wakuext_getOurInstallations
ERR 2024-06-26 13:36:59.120+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1922373 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20, )
ERR 2024-06-26 13:36:59.121+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1922373 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:52: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:52, )
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:53: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:53, )
ERR 2024-06-26 13:36:59.121+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1922373 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-26 13:36:59.122+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1922373 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-26 13:36:59.122+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=1922373 file=module.nim:551 chatId= methodName=getChatContentModule

Thread 1 "nim_status_clie" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) backtrace
#0  0x0000000000000000 in ??? ()
#1  0x00007ffff6c34d08 in QQuickItemLayer::~QQuickItemLayer (this=0x4980900, __in_chrg=<optimized out>) at items/qquickitem.cpp:8338
#2  0x00007ffff6c34d79 in QQuickItemLayer::~QQuickItemLayer (this=0x4980900, __in_chrg=<optimized out>) at items/qquickitem.cpp:8340
#3  0x00007ffff6d9fb72 in QAccessibleQuickItem::role (this=0x3d929c0) at accessible/qaccessiblequickitem.cpp:215
#4  0x00007fff2e0cf971 in AtSpiAdaptor::pathForInterface (this=this@entry=0x3a8f890, interface=0x3d929c0) at atspiadaptor.cpp:1538
#5  0x00007fff2e0d207f in AtSpiAdaptor::notifyStateChange (this=this@entry=0x3a8f890, interface=<optimized out>, state=..., value=1) at atspiadaptor.cpp:873
#6  0x00007fff2e0d34aa in AtSpiAdaptor::notify (this=0x3a8f890, event=<optimized out>) at atspiadaptor.cpp:898
#7  0x00007ffff6c41fbf in QQuickItemPrivate::setEffectiveVisibleRecur (this=this@entry=0x5031e90, newEffectiveVisible=<optimized out>) at items/qquickitem.cpp:6054
#8  0x00007ffff6c480ff in QQuickItem::setParentItem (this=this@entry=0x4980900, parentItem=parentItem@entry=0x0) at items/qquickitem.cpp:2710
#9  0x00007ffff6c49b28 in QQuickItem::~QQuickItem (this=0x4980900, __in_chrg=<optimized out>) at items/qquickitem.cpp:2311
#10 0x00007ffeb7a31236 in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0x4980900, __in_chrg=<optimized out>) at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#11 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0x4980900, __in_chrg=<optimized out>) at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#12 0x00007ffff3ac97c3 in QObjectPrivate::deleteChildren (this=0x2f63270) at kernel/qobject.cpp:2104
#13 0x00007ffff3ad3e9e in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#14 0x00007ffff6c49c4d in QQuickItem::~QQuickItem (this=0x4980730, __in_chrg=<optimized out>) at items/qquickitem.cpp:2304
#15 0x00007ffeb7a33146 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0x4980730, __in_chrg=<optimized out>) at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#16 QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0x4980730, __in_chrg=<optimized out>) at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#17 0x00007ffff3accdcd in QObject::event (this=this@entry=0x4980730, e=e@entry=0x38839f0) at kernel/qobject.cpp:1301
#18 0x00007ffff6c4a26b in QQuickItem::event (this=0x4980730, ev=0x38839f0) at items/qquickitem.cpp:8202
#19 0x00007ffff3a9d808 in QCoreApplication::notifyInternal2 (receiver=0x4980730, event=0x38839f0) at kernel/qcoreapplication.cpp:1063
#20 0x00007ffff3a9d9be in QCoreApplication::sendEvent (receiver=receiver@entry=0x4980730, event=event@entry=0x38839f0) at kernel/qcoreapplication.cpp:1458
#21 0x00007ffff3aa0882 in QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24c4a80) at kernel/qcoreapplication.cpp:1817
#22 0x00007ffff3aa0e38 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1676
#23 0x00007ffff3af9b33 in postEventSourceDispatch (s=0x2573bf0) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007ffff76ae6ac in g_main_dispatch (context=0x7ffe90000ed0) at ../glib/gmain.c:3344
#25 g_main_context_dispatch_unlocked (context=0x7ffe90000ed0) at ../glib/gmain.c:4152
#26 0x00007ffff770f708 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7ffe90000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#27 0x00007ffff76afb23 in g_main_context_iteration (context=0x7ffe90000ed0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#28 0x00007ffff3af91cc in QEventDispatcherGlib::processEvents (this=0x28cb620, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007ffff3a9c21a in QEventLoop::exec (this=this@entry=0x7fffffffc850, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#30 0x00007ffff3aa51d3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1371
#31 0x0000000000620008 in exec__OOZvendorZnimqmlZsrcZnimqml_2025 (self=self@entry=0x7ffff46b5370) at /home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim:29
#32 0x0000000001dc1429 in mainProc__nim95status95client_152 () at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:214
#33 0x0000000001dc2d78 in NimMainModule () at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:217
#34 NimMainInner () at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:902
#35 0x0000000001e7bd63 in NimMain () at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:910
#36 0x0000000000431e5d in main (argc=<optimized out>, args=<optimized out>, env=<optimized out>) at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:917
(gdb) 

Correct thread was selected:

(gdb) info threads
  Id   Target Id                                             Frame 
* 1    Thread 0x7ffff6031d40 (LWP 1922373) "nim_status_clie" 0x0000000000000000 in ?? ()
fryorcraken commented 5 months ago

:) https://bugreports.qt.io/browse/QTBUG-91437 (I am indeed using 5.15.2)

https://bugreports.qt.io/browse/QTBUG-84858?jql=text%20~%20%22QQuickItemLayer%20destructor%22

fryorcraken commented 5 months ago

I also tried with Qt 5.15.14 (system installed on Fedora 40) and same issue:

Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
Warning: Qt Quick Layouts: Detected recursive rearrange. Aborting after two iterations. (:0, )
DBG 2024-06-26 14:29:41.490+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=2008840 file=threadpool.nim:56 messageType=QObjectTaskArg:ObjectType threadid=2008840 task="{\"$type\":\"QObjectTaskArg:ObjectType\",\"vptr\":46745776,\"slot\":\"asyncProfileShowcasePreferencesLoaded\"}"
DBG 2024-06-26 14:29:41.490+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2008840 file=core.nim:27 rpc_method=wakuext_getProfileShowcasePreferences
DBG 2024-06-26 14:29:41.513+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2008196 file=core.nim:27 rpc_method=wakuext_shareUserURLWithData
DBG 2024-06-26 14:29:41.528+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=2008845 file=threadpool.nim:56 messageType=AsyncLoadDevicesTaskArg:ObjectType threadid=2008845 task="{\"$type\":\"AsyncLoadDevicesTaskArg:ObjectType\",\"vptr\":46747696,\"slot\":\"asyncDevicesLoaded\"}"
DBG 2024-06-26 14:29:41.529+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2008845 file=core.nim:27 rpc_method=wakuext_getOurInstallations
DBG 2024-06-26 14:29:42.584+10:00 [threadpool task thread] initiating task   topics="task-threadpool" tid=2008846 file=threadpool.nim:56 messageType=AsyncLoadCuratedCommunitiesTaskArg:ObjectType threadid=2008846 task="{\"$type\":\"AsyncLoadCuratedCommunitiesTaskArg:ObjectType\",\"vptr\":46745008,\"slot\":\"onAsyncLoadCuratedCommunitiesDone\"}"
DBG 2024-06-26 14:29:42.584+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2008846 file=core.nim:27 rpc_method=wakuext_curatedCommunities

Thread 1 "nim_status_clie" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()

(gdb) bt
#0  0x0000000000000000 in ??? ()
#1  0x00007ffff7665313 in QQuickItemLayer::~QQuickItemLayer (this=0xd026820, __in_chrg=<optimized out>) at items/qquickitem.cpp:8473
#2  0x00007ffff7665395 in QQuickItemLayer::~QQuickItemLayer (this=0xd026820, __in_chrg=<optimized out>) at items/qquickitem.cpp:8475
#3  0x00007ffff780191d in QAccessibleQuickItem::role (this=0xc5d5540) at ../../include/QtQuick/../../src/quick/items/qquickitem.h:468
#4  0x00007fff4f59dec9 in AtSpiAdaptor::pathForInterface(QAccessibleInterface*) const () at /usr/lib64/libQt5WaylandClient.so.5
#5  0x00007fff4f5a0db8 in AtSpiAdaptor::notifyStateChange(QAccessibleInterface*, QString const&, int) ()
    at /usr/lib64/libQt5WaylandClient.so.5
#6  0x00007fff4f5a26af in AtSpiAdaptor::notify(QAccessibleEvent*) () at /usr/lib64/libQt5WaylandClient.so.5
#7  0x00007ffff7674219 in QQuickItemPrivate::setEffectiveVisibleRecur
    (this=this@entry=0x3e08440, newEffectiveVisible=<optimized out>) at items/qquickitem.cpp:6121
#8  0x00007ffff767d9a1 in QQuickItem::setParentItem (this=this@entry=0xd026820, parentItem=parentItem@entry=0x0)
    at items/qquickitem.cpp:2737
#9  0x00007ffff767f946 in QQuickItem::~QQuickItem (this=this@entry=0xd026820, __in_chrg=<optimized out>) at items/qquickitem.cpp:2335
#10 0x00007ffff07205f2 in QQuickControl::~QQuickControl (this=this@entry=0xd026820, this=<optimized out>)
    at /usr/src/debug/qt5-qtquickcontrols2-5.15.14-1.fc40.x86_64/src/quicktemplates2/qquickcontrol.cpp:1009
#11 0x00007fff125a18a1 in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xd026820, this=<optimized out>)
    at /usr/include/qt5/QtQml/qqmlprivate.h:144
#12 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xd026820, this=<optimized out>)
    at /usr/include/qt5/QtQml/qqmlprivate.h:144
#13 0x00007ffff60dbf36 in QObjectPrivate::deleteChildren (this=this@entry=0x39fe200) at kernel/qobject.cpp:2137
#14 0x00007ffff60e5638 in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1115
#15 0x00007fff1259e761 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xcf134f0, this=<optimized out>)
    at /usr/include/qt5/QtQml/qqmlprivate.h:144
#16 QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xcf134f0, this=<optimized out>)
    at /usr/include/qt5/QtQml/qqmlprivate.h:144
#17 0x00007ffff60df559 in QObject::event (this=0xcf134f0, e=0x6dcc640) at kernel/qobject.cpp:1334
#18 0x00007ffff60b3168 in QCoreApplication::notifyInternal2 (receiver=0xcf134f0, event=0x6dcc640) at kernel/qcoreapplication.cpp:1064
#19 0x00007ffff60b3392 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>)
    at kernel/qcoreapplication.cpp:1462
#20 0x00007ffff60b66ec in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x24b7be0)
    at kernel/qcoreapplication.cpp:1821
#21 0x00007ffff60b699d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>)
    at kernel/qcoreapplication.cpp:1680
#22 0x00007ffff61075bf in postEventSourceDispatch (s=0x297cf20) at kernel/qeventdispatcher_glib.cpp:277
#23 0x00007fffef91ae8c in g_main_dispatch (context=0x7ffe8c000ed0) at ../glib/gmain.c:3344
#24 g_main_context_dispatch_unlocked (context=0x7ffe8c000ed0) at ../glib/gmain.c:4152
#25 0x00007fffef97cc98 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7ffe8c000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
#26 0x00007fffef91c383 in g_main_context_iteration (context=0x7ffe8c000ed0, may_block=1) at ../glib/gmain.c:4282
#27 0x00007ffff61070ad in QEventDispatcherGlib::processEvents (this=warning: RTTI symbol not found for class 'QPAEventDispatcherGlib'
warning: RTTI symbol not found for class 'QPAEventDispatcherGlib'
0x297d080, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#28 0x00007ffff60b1b1b in QEventLoop::exec (this=this@entry=0x7fffffffcb70, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#29 0x00007ffff60b9ee6 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#30 0x00000000006224f8 in exec__OOZvendorZnimqmlZsrcZnimqml_2025 (self=self@entry=0x7fffa0d05370)
    at /home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim:29
#31 0x0000000001dc4e49 in mainProc__nim95status95client_152 ()
    at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:214
#32 0x0000000001dc6798 in NimMainModule () at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:217
#33 NimMainInner () at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:902
#34 0x0000000001e82923 in NimMain ()
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:910
#35 0x0000000000431e4d in main (argc=<optimized out>, args=<optimized out>, env=<optimized out>)
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:917
igor-sirotin commented 5 months ago

@fryorcraken oh! Good job finding it, thank you! The link you posted is a duplicate, this one has more info:

  1. It seems that it was fixed (at least for some people) in Qt 5.15.16. We're still using 5.15.2 for Linux builds: https://github.com/status-im/status-desktop/blob/c63f378b74f12589a1d80afc379571cb286f25a4/ci/Jenkinsfile.linux#L12

  2. There's a plan if updating, but to 5.15.8. We can try to investigate options of upgrading to 5.15.16, but not sure if it's feasible. https://github.com/status-im/status-desktop/issues/9350

  3. I see you tried 5.15.14, seem that it won't help here. If you're able to test it with 5.15.16 (which I doubt is easy to do, it's a commercial license release) would be nice to know.

  4. We should try to workaround this. People mention in comments that it's possible: In fact, adding any accessible property so that the accessible object gets created prevents the crash. https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/5f1e762a8b93e36bae7b5d1e856b04682d4aa66c The only question left is: "what is the component affecting this?".

yakimant commented 5 months ago

The latest opensourse version is 5.15.14:

Comercial is 5.15.17:

They delay source code by 1 year, so it will appear like that:

igor-sirotin commented 5 months ago

@yakimant thanks for the information, didn't know about the source code delay.

I don't think we want to leave @fryorcraken without desktop app till November 😄 I'll try to figure out what QML component is causing the crash to apply the workaround.

fryorcraken commented 5 months ago

As per @igor-sirotin's instructions, did:

▶ fit fetch; gco release/2.29.x
...
▶ git rev-parse HEAD
f78eced9e74956134de99983eca2fa570dca0d04
# Applied gcc-14 fix
▶ git clean -dfx # let's be sure we rebuild everything
...
▶ make update
..
▶ make LOG_LEVEL=TRACE V=1 INCLUDE_DEBUG_SYMBOLS=true QML_IMPORT_TRACE=1 -j 12 run
...
Hint:  [Link]
/usr/bin/ld: nimcache/debug/nim_status_client/@m..@svendor@snimbus-build-system@svendor@sNim@slib@spure@snet.nim.c.o: in function `checkCertName__pureZnet_1309':
/home/fryorcraken/src/status-im/status-desktop/vendor/nimbus-build-system/vendor/Nim/lib/pure/net.nim:831:(.text+0x1632e): undefined reference to `SSL_get_peer_certificate'
collect2: error: ld returned 1 exit status
Error: execution of an external program failed: 'g++  @nim_status_client_linkerArgs.txt'
make: *** [Makefile:549: bin/nim_status_client] Error 1

... Not sure where this new error is coming from. Will check next week

fryorcraken commented 5 months ago

No SSL error on master. Did the step above.

  1. fresh account, go through password setting, etc
  2. UI loads
  3. Click gear
  4. click on chat bubble
  5. freeze and crash
Debug: QQmlImports()::addLibraryImport: "QtQml" 2.15 as "" (:0, )
Debug: QQmlImports()::importExtension: loaded "/home/fryorcraken/.local/lib/Qt/5.15.2/gcc_64/qml/QtQml/qmldir" (:0, )
Debug: QQmlImports()::resolveType: "Connections" => "QQmlConnections" TYPE (:0, )
Debug: QQmlImports()::addImplicitImport (:0, )
Debug: QQmlImports()::resolveType: "QtObject" => "QObject" TYPE (:0, )
Debug: QQmlImports(qrc:/imports/shared/panels/ConnectionWarnings.qml)::resolveType: "ModuleWarning" => "" QUrl("qrc:/imports/shared/panels/ModuleWarning.qml") TYPE/URL (:0, )
Debug: QQmlImports(qrc:/imports/shared/panels/ModuleWarning.qml)::resolveType: "ModuleWarning" => "" QUrl("qrc:/imports/shared/panels/ModuleWarning.qml") TYPE/URL (:0, )
DBG 2024-06-28 16:58:06.830+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2386076 file=core.nim:27 rpc_method=wakuext_speedupArchivesImport
Warning: libpng warning: iCCP: known incorrect sRGB profile (:0, )
Warning: libpng warning: iCCP: known incorrect sRGB profile (:0, )
Warning: libpng warning: iCCP: known incorrect sRGB profile (:0, )
Warning: libpng warning: iCCP: known incorrect sRGB profile (:0, )
INF 2024-06-28 16:58:15.514+10:00 history request completed                  topics="mailservers-service" tid=2386076 file=service.nim:175
DBG 2024-06-28 16:58:16.187+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=2386076 file=core.nim:27 rpc_method=wakuext_slowdownArchivesImport
ERR 2024-06-28 16:58:16.277+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=2386076 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20, )
ERR 2024-06-28 16:58:16.277+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=2386076 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:52: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:52, )
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:53: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:53, )
ERR 2024-06-28 16:58:16.278+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=2386076 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-28 16:58:16.278+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=2386076 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-06-28 16:58:16.278+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=2386076 file=module.nim:551 chatId= methodName=getChatContentModule

Thread 1 "nim_status_clie" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ??? ()
#1  0x00007ffff6c34d08 in QQuickItemLayer::~QQuickItemLayer (this=0xc90fc90, __in_chrg=<optimized out>) at items/qquickitem.cpp:8338
#2  0x00007ffff6c34d79 in QQuickItemLayer::~QQuickItemLayer (this=0xc90fc90, __in_chrg=<optimized out>) at items/qquickitem.cpp:8340
#3  0x00007ffff6d9fb72 in QAccessibleQuickItem::role (this=0x4e103c0) at accessible/qaccessiblequickitem.cpp:215
#4  0x00007fff308cf971 in AtSpiAdaptor::pathForInterface (this=this@entry=0x3a8cf20, interface=0x4e103c0) at atspiadaptor.cpp:1538
#5  0x00007fff308d207f in AtSpiAdaptor::notifyStateChange (this=this@entry=0x3a8cf20, interface=<optimized out>, state=..., value=1)
    at atspiadaptor.cpp:873
#6  0x00007fff308d34aa in AtSpiAdaptor::notify (this=0x3a8cf20, event=<optimized out>) at atspiadaptor.cpp:898
#7  0x00007ffff6c41fbf in QQuickItemPrivate::setEffectiveVisibleRecur
    (this=this@entry=0xcaa2040, newEffectiveVisible=<optimized out>) at items/qquickitem.cpp:6054
#8  0x00007ffff6c480ff in QQuickItem::setParentItem (this=this@entry=0xc90fc90, parentItem=parentItem@entry=0x0)
    at items/qquickitem.cpp:2710
#9  0x00007ffff6c49b28 in QQuickItem::~QQuickItem (this=0xc90fc90, __in_chrg=<optimized out>) at items/qquickitem.cpp:2311
#10 0x00007ffec8a31236 in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xc90fc90, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#11 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xc90fc90, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#12 0x00007ffff3ac97c3 in QObjectPrivate::deleteChildren (this=0x6e79010) at kernel/qobject.cpp:2104
#13 0x00007ffff3ad3e9e in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#14 0x00007ffff6c49c4d in QQuickItem::~QQuickItem (this=0xc9d8750, __in_chrg=<optimized out>) at items/qquickitem.cpp:2304
#15 0x00007ffec8a33146 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xc9d8750, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#16 QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xc9d8750, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#17 0x00007ffff3accdcd in QObject::event (this=this@entry=0xc9d8750, e=e@entry=0x525f920) at kernel/qobject.cpp:1301
#18 0x00007ffff6c4a26b in QQuickItem::event (this=0xc9d8750, ev=0x525f920) at items/qquickitem.cpp:8202
#19 0x00007ffff3a9d808 in QCoreApplication::notifyInternal2 (receiver=0xc9d8750, event=0x525f920) at kernel/qcoreapplication.cpp:1063
#20 0x00007ffff3a9d9be in QCoreApplication::sendEvent (receiver=receiver@entry=0xc9d8750, event=event@entry=0x525f920)
    at kernel/qcoreapplication.cpp:1458
#21 0x00007ffff3aa0882 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x24a9a80) at kernel/qcoreapplication.cpp:1817
#22 0x00007ffff3aa0e38 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1676
#23 0x00007ffff3af9b33 in postEventSourceDispatch (s=0x2549560) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007ffff76ade8c in g_main_dispatch (context=0x7ffe80000ed0) at ../glib/gmain.c:3344
#25 g_main_context_dispatch_unlocked (context=0x7ffe80000ed0) at ../glib/gmain.c:4152
#26 0x00007ffff770fc98 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7ffe80000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
#27 0x00007ffff76af383 in g_main_context_iteration (context=0x7ffe80000ed0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#28 0x00007ffff3af91cc in QEventDispatcherGlib::processEvents (this=0x2890c70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007ffff3a9c21a in QEventLoop::exec (this=this@entry=0x7fffffffc9d0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#30 0x00007ffff3aa51d3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1371
#31 0x0000000000622508 in exec__OOZvendorZnimqmlZsrcZnimqml_2025 (self=self@entry=0x7ffff468c1f0)
    at /home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim:29
#32 0x0000000001dac279 in mainProc__nim95status95client_152 ()
    at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:214
#33 0x0000000001dadbc8 in NimMainModule () at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:217
#34 NimMainInner () at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:900
#35 0x0000000001e69503 in NimMain ()
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:908
#36 0x0000000000431e1d in main (argc=<optimized out>, args=<optimized out>, env=<optimized out>)
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:915

I don't see the Debug: QQ line in the log files though, so I tried to attached my console output.

app_20240628_165616.log app_20240628_165440.log geth.log console-output.log

igor-sirotin commented 5 months ago

@fryorcraken, thank you for all the logs!

Still looking at the QML import trace logs. Meanwhile:

Found something in the stack trace

TLDR:

@fryorcraken can you please give it a try:

I also added some debug logs to QML. Please post the console output again 🙏

Details just for myself

We can see that the crash happens during destructing of on of DIRECT children (type QQuickControl) of QQuickSplitView. There's a

#11 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xc90fc90, __in_chrg=<optimized out>)
#12 0x00007ffff3ac97c3 in QObjectPrivate::deleteChildren (this=0x6e79010) at kernel/qobject.cpp:2104
#13 0x00007ffff3ad3e9e in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#14 0x00007ffff6c49c4d in QQuickItem::~QQuickItem (this=0xc9d8750, __in_chrg=<optimized out>) at items/qquickitem.cpp:2304
#15 0x00007ffec8a33146 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xc9d8750, __in_chrg=<optimized out>)

We have just 2 SplitView in the code:

image

ProfileLayout doesn't have any direct Control (or any derived) children StatusSectionLayout has 3 direct Control children:

https://github.com/status-im/status-desktop/blob/f78eced9e74956134de99983eca2fa570dca0d04/ui/StatusQ/src/StatusQ/Layout/StatusSectionLayout.qml#L165 https://github.com/status-im/status-desktop/blob/f78eced9e74956134de99983eca2fa570dca0d04/ui/StatusQ/src/StatusQ/Layout/StatusSectionLayout.qml#L175 https://github.com/status-im/status-desktop/blob/f78eced9e74956134de99983eca2fa570dca0d04/ui/StatusQ/src/StatusQ/Layout/StatusSectionLayout.qml#L221

I've tried to apply the workaround: https://github.com/status-im/status-desktop/pull/15386

Of course, there're lots of other Control (and derived) components in out code. But at least we can try to check if this is actually the issue, and if the workaround helps.

igor-sirotin commented 4 months ago

New logs from @fryorcraken based on https://github.com/status-im/status-desktop/pull/15386

Debug: <<< AppMain: current index changed:  0 (qrc:/app/mainui/AppMain.qml:1170, onCurrentIndexChanged)
Debug: <<< ProfileLayout component destruction (qrc:/app/mainui/AppMain.qml:1349, onDestruction)
Debug: <<< ProfileLayout Loader status changed:  0 (qrc:/app/mainui/AppMain.qml:1331, onStatusChanged)
Debug: <<< ProfileLayout Loader active changed:  false (qrc:/app/mainui/AppMain.qml:1328, onActiveChanged)
ERR 2024-07-02 21:19:41.830+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=111779 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20: TypeError: Cannot read property 'chatDetails' of undefined (qrc:/app/AppLayouts/Chat/stores/RootStore.qml:20, )
ERR 2024-07-02 21:19:41.831+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=111779 file=module.nim:551 chatId= methodName=getChatContentModule
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:52: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:52, )
Warning: qrc:/app/AppLayouts/Chat/views/ChatView.qml:53: TypeError: Cannot read property 'chatDetails' of null (qrc:/app/AppLayouts/Chat/views/ChatView.qml:53, )
ERR 2024-07-02 21:19:41.833+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=111779 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-07-02 21:19:41.833+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=111779 file=module.nim:551 chatId= methodName=getChatContentModule
ERR 2024-07-02 21:19:41.834+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=111779 file=module.nim:551 chatId= methodName=getChatContentModule

Thread 1 "nim_status_clie" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ??? ()
#1  0x00007ffff6c34d08 in QQuickItemLayer::~QQuickItemLayer (this=0xca9b690, __in_chrg=<optimized out>) at items/qquickitem.cpp:8338
#2  0x00007ffff6c34d79 in QQuickItemLayer::~QQuickItemLayer (this=0xca9b690, __in_chrg=<optimized out>) at items/qquickitem.cpp:8340
#3  0x00007ffff6d9fb72 in QAccessibleQuickItem::role (this=0x548e800) at accessible/qaccessiblequickitem.cpp:215
#4  0x00007fff316cf971 in AtSpiAdaptor::pathForInterface (this=this@entry=0x3a733d0, interface=0x548e800) at atspiadaptor.cpp:1538
#5  0x00007fff316d207f in AtSpiAdaptor::notifyStateChange (this=this@entry=0x3a733d0, interface=<optimized out>, state=..., value=1)
    at atspiadaptor.cpp:873
#6  0x00007fff316d34aa in AtSpiAdaptor::notify (this=0x3a733d0, event=<optimized out>) at atspiadaptor.cpp:898
#7  0x00007ffff6c41fbf in QQuickItemPrivate::setEffectiveVisibleRecur
    (this=this@entry=0x4ca83c0, newEffectiveVisible=<optimized out>) at items/qquickitem.cpp:6054
#8  0x00007ffff6c480ff in QQuickItem::setParentItem (this=this@entry=0xca9b690, parentItem=parentItem@entry=0x0)
    at items/qquickitem.cpp:2710
#9  0x00007ffff6c49b28 in QQuickItem::~QQuickItem (this=0xca9b690, __in_chrg=<optimized out>) at items/qquickitem.cpp:2311
#10 0x00007ffec5631236 in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xca9b690, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#11 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xca9b690, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#12 0x00007ffff3ac97c3 in QObjectPrivate::deleteChildren (this=0x6e71820) at kernel/qobject.cpp:2104
#13 0x00007ffff3ad3e9e in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#14 0x00007ffff6c49c4d in QQuickItem::~QQuickItem (this=0x4ca9780, __in_chrg=<optimized out>) at items/qquickitem.cpp:2304
#15 0x00007ffec5633146 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0x4ca9780, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#16 QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0x4ca9780, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#17 0x00007ffff3accdcd in QObject::event (this=this@entry=0x4ca9780, e=e@entry=0xc2f5c90) at kernel/qobject.cpp:1301
#18 0x00007ffff6c4a26b in QQuickItem::event (this=0x4ca9780, ev=0xc2f5c90) at items/qquickitem.cpp:8202
#19 0x00007ffff3a9d808 in QCoreApplication::notifyInternal2 (receiver=0x4ca9780, event=0xc2f5c90) at kernel/qcoreapplication.cpp:1063
#20 0x00007ffff3a9d9be in QCoreApplication::sendEvent (receiver=receiver@entry=0x4ca9780, event=event@entry=0xc2f5c90)
    at kernel/qcoreapplication.cpp:1458
#21 0x00007ffff3aa0882 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x2485a80) at kernel/qcoreapplication.cpp:1817
#22 0x00007ffff3aa0e38 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1676
#23 0x00007ffff3af9b33 in postEventSourceDispatch (s=0x2525fe0) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007ffff76ade8c in g_main_dispatch (context=0x7ffe88000ed0) at ../glib/gmain.c:3344
#25 g_main_context_dispatch_unlocked (context=0x7ffe88000ed0) at ../glib/gmain.c:4152
#26 0x00007ffff770fc98 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7ffe88000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
#27 0x00007ffff76af383 in g_main_context_iteration (context=0x7ffe88000ed0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#28 0x00007ffff3af91cc in QEventDispatcherGlib::processEvents (this=0x288b1b0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007ffff3a9c21a in QEventLoop::exec (this=this@entry=0x7fffffffc210, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#30 0x00007ffff3aa51d3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1371
#31 0x0000000000621908 in exec__OOZvendorZnimqmlZsrcZnimqml_2025 (self=self@entry=0x7ffff402d1f0)
    at /home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim:29
#32 0x0000000001d91df9 in mainProc__nim95status95client_152 ()
    at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:214
#33 0x0000000001d93748 in NimMainModule () at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:217
#34 NimMainInner () at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:900
#35 0x0000000001e4f083 in NimMain ()
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:908
#36 0x0000000000431e1d in main (argc=<optimized out>, args=<optimized out>, env=<optimized out>)
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:915

app_20240702_211843.log console.txt

igor-sirotin commented 4 months ago

1. ProfileLayout

Bacause of this part:

Debug: <<< AppMain: current index changed:  1 (qrc:/app/mainui/AppMain.qml:1170, onCurrentIndexChanged)
Debug: <<< ProfileLayout component destruction (qrc:/app/mainui/AppMain.qml:1349, onDestruction)
Debug: <<< ProfileLayout Loader status changed:  0 (qrc:/app/mainui/AppMain.qml:1331, onStatusChanged)
Debug: <<< ProfileLayout Loader active changed:  false (qrc:/app/mainui/AppMain.qml:1328, onActiveChanged)
Traceback (most recent call last)
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(217) nim_status_client
/home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim(214) mainProc
/home/fryorcraken/src/status-im/status-desktop/vendor/nimqml/src/nimqml/private/qguiapplication.nim(29) exec
SIGSEGV: Illegal storage access. (Attempt to read from nil?)

2. I can still only see a single one deleteChildren in the stack trace.

The order looks like this: -~QQuickSplitView with `this=0x4ca9780

So it's still some direct child of SplitView.

Not sure what would be the next step. Maybe add logs to these 3 Controls in the StatusSectionLayout on create/destroy and get their pointers. To ensure that it's them crashing, and figure out which one.

Again, this is not the way to fix the issue, but investigate potential ways.

igor-sirotin commented 4 months ago

@osmaczko was able to reproduce the issue.

He's also on Fedora, but the issue appeared only when using Orca screen reader, which is an accessibility tool mentioned in the Qt bug report.

The plan is:

  1. Seems that the issue is only reproducible when you use some accessibility tools. @fryorcraken, can you please try to disable them, if you have any?
  2. We'll try to tackle it with @osmaczko and see if it's possible to apply some workaround.
  3. Otherwise we'll need to build Qt 5.15.14 with a hotfix applied. And use that to distribute Linux builds.
jrainville commented 4 months ago

It seems like there isn't much we can do on our end. The only real solution would be to build QT ourselves on Linux and apply the patch to it.

Is it something someone on your team @jakubgs could do?

jakubgs commented 4 months ago

@jrainville yes, since we are building Qt using Nix now we can apply patches to it: https://github.com/status-im/status-desktop/tree/master/nix/pkgs/qt-5

As for Linux built using Docker image, it's unlikely we can patch that easily.

@yakimant could add such a patch quite easily. @siddarthkay probably could do it too.

yakimant commented 4 months ago

Is there a patch already?

jrainville commented 4 months ago

Is there a patch already?

@igor-sirotin can you point to Anton the QT patch

igor-sirotin commented 4 months ago

Is there a patch already?

@yakimant this one: https://codereview.qt-project.org/c/qt/qtdeclarative/+/472997 Probably we want to make it on top of latest available Qt to prevent any conflicts.

siddarthkay commented 4 months ago

this one: https://codereview.qt-project.org/c/qt/qtdeclarative/+/472997

Thanks I'll make a PR patching QT

fryorcraken commented 4 months ago

I uninstalled orca: sudo dnf remove orca and restarted my laptop, yet the crash happened again:

INF 2024-07-16 15:42:44.036+10:00 history request completed                  topics="mailservers-service" tid=8749 file=service.nim:175
DBG 2024-07-16 15:42:45.956+10:00 NewBE_callPrivateRPC                       topics="rpc" tid=8749 file=core.nim:27 rpc_method=settings_saveSetting
ERR 2024-07-16 15:42:50.262+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=8749 file=module.nim:552 chatId= methodName=getChatContentModule
WRN 2024-07-16 15:42:50.262+10:00 qt warning                                 topics="qt" tid=8749 text="TypeError: Cannot read property 'chatDetails' of undefined" file=qrc:/app/AppLayouts/Chat/stores/RootStore.qml:24 category=default
ERR 2024-07-16 15:42:50.262+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=8749 file=module.nim:552 chatId= methodName=getChatContentModule
WRN 2024-07-16 15:42:50.262+10:00 qt warning                                 topics="qt" tid=8749 text="TypeError: Cannot read property 'chatDetails' of null" file=qrc:/app/AppLayouts/Chat/views/ChatView.qml:52 category=default
WRN 2024-07-16 15:42:50.262+10:00 qt warning                                 topics="qt" tid=8749 text="TypeError: Cannot read property 'chatDetails' of null" file=qrc:/app/AppLayouts/Chat/views/ChatView.qml:53 category=default
WRN 2024-07-16 15:42:50.262+10:00 qt warning                                 topics="qt" tid=8749 text="TypeError: Cannot read property 'chatDetails' of null" file=qrc:/app/AppLayouts/Chat/views/ChatView.qml:54 category=default
ERR 2024-07-16 15:42:50.263+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=8749 file=module.nim:552 chatId= methodName=getChatContentModule
ERR 2024-07-16 15:42:50.263+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=8749 file=module.nim:552 chatId= methodName=getChatContentModule
ERR 2024-07-16 15:42:50.263+10:00 getChatContentModule: unexisting chat key  topics="chat-section-module" tid=8749 file=module.nim:552 chatId= methodName=getChatContentModule

Thread 1 "nim_status_clie" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0  0x0000000000000000 in ??? ()
#1  0x00007ffff6c34d08 in QQuickItemLayer::~QQuickItemLayer (this=0xb6f8450, __in_chrg=<optimized out>) at items/qquickitem.cpp:8338
#2  0x00007ffff6c34d79 in QQuickItemLayer::~QQuickItemLayer (this=0xb6f8450, __in_chrg=<optimized out>) at items/qquickitem.cpp:8340
#3  0x00007ffff6d9fb72 in QAccessibleQuickItem::role (this=0xb70aa30) at accessible/qaccessiblequickitem.cpp:215
#4  0x00007fff2d6cf971 in AtSpiAdaptor::pathForInterface (this=this@entry=0x27fcdb0, interface=0xb70aa30) at atspiadaptor.cpp:1538
#5  0x00007fff2d6d207f in AtSpiAdaptor::notifyStateChange (this=this@entry=0x27fcdb0, interface=<optimized out>, state=..., value=1)
    at atspiadaptor.cpp:873
#6  0x00007fff2d6d34aa in AtSpiAdaptor::notify (this=0x27fcdb0, event=<optimized out>) at atspiadaptor.cpp:898
#7  0x00007ffff6c41fbf in QQuickItemPrivate::setEffectiveVisibleRecur
    (this=this@entry=0xaf58980, newEffectiveVisible=<optimized out>) at items/qquickitem.cpp:6054
#8  0x00007ffff6c480ff in QQuickItem::setParentItem (this=this@entry=0xb6f8450, parentItem=parentItem@entry=0x0)
    at items/qquickitem.cpp:2710
#9  0x00007ffff6c49b28 in QQuickItem::~QQuickItem (this=0xb6f8450, __in_chrg=<optimized out>) at items/qquickitem.cpp:2311
#10 0x00007ffebc231236 in QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xb6f8450, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#11 QQmlPrivate::QQmlElement<QQuickControl>::~QQmlElement (this=0xb6f8450, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#12 0x00007ffff44c97c3 in QObjectPrivate::deleteChildren (this=0x45ad060) at kernel/qobject.cpp:2104
#13 0x00007ffff44d3e9e in QObject::~QObject (this=<optimized out>, __in_chrg=<optimized out>) at kernel/qobject.cpp:1082
#14 0x00007ffff6c49c4d in QQuickItem::~QQuickItem (this=0xb6f9900, __in_chrg=<optimized out>) at items/qquickitem.cpp:2304
#15 0x00007ffebc233146 in QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xb6f9900, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#16 QQmlPrivate::QQmlElement<QQuickSplitView>::~QQmlElement (this=0xb6f9900, __in_chrg=<optimized out>)
    at /home/qt/work/install/include/QtQml/qqmlprivate.h:144
#17 0x00007ffff44ccdcd in QObject::event (this=this@entry=0xb6f9900, e=e@entry=0x14c7c40) at kernel/qobject.cpp:1301
#18 0x00007ffff6c4a26b in QQuickItem::event (this=0xb6f9900, ev=0x14c7c40) at items/qquickitem.cpp:8202
#19 0x00007ffff449d808 in QCoreApplication::notifyInternal2 (receiver=0xb6f9900, event=0x14c7c40) at kernel/qcoreapplication.cpp:1063
#20 0x00007ffff449d9be in QCoreApplication::sendEvent (receiver=receiver@entry=0xb6f9900, event=event@entry=0x14c7c40)
    at kernel/qcoreapplication.cpp:1458
#21 0x00007ffff44a0882 in QCoreApplicationPrivate::sendPostedEvents
    (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x122ea80) at kernel/qcoreapplication.cpp:1817
#22 0x00007ffff44a0e38 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0)
    at kernel/qcoreapplication.cpp:1676
#23 0x00007ffff44f9b33 in postEventSourceDispatch (s=0x12d0010) at kernel/qeventdispatcher_glib.cpp:277
#24 0x00007ffff76a9e8c in g_main_dispatch (context=0x7ffe8c000ed0) at ../glib/gmain.c:3344
#25 g_main_context_dispatch_unlocked (context=0x7ffe8c000ed0) at ../glib/gmain.c:4152
#26 0x00007ffff770bc98 in g_main_context_iterate_unlocked.isra.0
    (context=context@entry=0x7ffe8c000ed0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at ../glib/gmain.c:4217
#27 0x00007ffff76ab383 in g_main_context_iteration (context=0x7ffe8c000ed0, may_block=may_block@entry=1) at ../glib/gmain.c:4282
#28 0x00007ffff44f91cc in QEventDispatcherGlib::processEvents (this=0x16355f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#29 0x00007ffff449c21a in QEventLoop::exec (this=this@entry=0x7fffffffcda0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:232
#30 0x00007ffff44a51d3 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1371
#31 0x0000000000bfe4e8 in mainProc__nim95status95client_1513 ()
    at /home/fryorcraken/src/status-im/status-desktop/src/nim_status_client.nim:251
#32 0x0000000000c72cb3 in NimMain ()
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:906
#33 0x0000000000431ded in main (argc=<optimized out>, args=<optimized out>, env=<optimized out>)
    at /home/fryorcraken/src/status-im/status-desktop/src/app/modules/main/shared_urls/io_interface.nim:913
fryorcraken commented 4 months ago

Fun fact: my app is now stuck at the "node managemnet" tab because I try to click on any other tab, the app crashes and when I restart it, I still have the same tab open.

fryorcraken commented 4 months ago

Fun fact: my app is now stuck at the "node managemnet" tab because I try to click on any other tab, the app crashes and when I restart it, I still have the same tab open.

Solved it by deleting the 0x..... file in my ~/.Status/...qt/ folder