monero-project / monero-gui

Monero: the secure, private, untraceable cryptocurrency
Other
1.71k stars 766 forks source link

Monero-wallet-gui won't quit on Mac-ARM-Sonoma #4286

Open kirk-kerekes opened 6 months ago

kirk-kerekes commented 6 months ago

Monero-wallet-gui won't quit on Mac-ARM (specifically MacOS 14.4 on M2 Pro)

After stopping Mining,

When Quit is invoked, the GUI just goes unresponsive.

Ultimately force-quit is required.

selsta commented 6 months ago

This doesn't happen when you don't mine? I wasn't able to reproduce, also on macOS 14.4 (M1 Pro).

kirk-kerekes commented 6 months ago

Good question. So I --

Since it appears to be the GUI itself that is locking up, I assume that the problem is in whatever UI framework(s) manage that. When it is hung, nothing in the Monero gui works -- menu bar, cursor updating, nothing. And it is (in human terms) instantaneous. No delay between selecting Quit and the lockup. Because this is rather hard to miss, I assume that the issue is a conflict, but other than the VPN, I have nothing installed that is supposed to be breaking the rules of app isolation. No UI modifiers, no jailbreaking. The VPN uses Apple's VPN scheme.

Variances from the norm:

selsta commented 6 months ago

v0.18.3.2 has updated Qt from 5.15.9 to 5.15.12, can you test with it once it is out later today?

kirk-kerekes commented 6 months ago

I tried v0.18.3.2, no change in the hang-on-quit.

But the mining is 6X faster! (From approximately 500H/s to 3000+H/s)

I preserved the crash-dump generated by the force quit. If you can use it, let me know how best to send it.

selsta commented 6 months ago

I think you can drag and drop it in a GitHub comment.

kirk-kerekes commented 6 months ago

Monero Gui Hang Dump.txt

Done!

selsta commented 6 months ago

Can you also open Console.app, and select monero-wallet-gui under Crash Reports and share that? It's easier for me to read.

kirk-kerekes commented 6 months ago

Monero.wallet.gui.log.txt

No crash reports, presumably because it isn't crashing. But no spin report either. But there was a log, so I have attached that.

selsta commented 6 months ago

I find it difficult to read these spin dumps (not familiar with them), but as far as I can tell it gets stuck somewhere during Qt's destructor. Anything else that is out of the ordinary with your setup?

Also we will release v0.18.3.3 soon, I upgraded Qt again (5.15.13), but I'm doubtful it will help.

keybits commented 6 months ago

Confirming that I get the same behaviour macOS 14.2.1, M1 Pro, latest monero-gui and I'm not doing any mining.

Force quit is required every time.

selsta commented 6 months ago

Does this issue also happen when you close monero-gui from the wizard without opening a wallet in the first place?

keybits commented 6 months ago

Good question. Just tested and no it doesn't happen when a wallet has not been opened. I am able to quit normally from the wizard.

selsta commented 6 months ago

When you close the GUI and it gets stuck, is the wallet still synchronizing? Or is it fully synchronizing?

keybits commented 6 months ago

Fully synchronized.

keybits commented 6 months ago

Another thing to note is that the monerod process doesn't shutdown after force quitting monero-gui. So monerod also needs to be quit manually. Perhaps that's part of the issue as monerod doesn't start until a wallet is opened.

selsta commented 6 months ago

monerod not shutting down when force quitting monero-gui is expected. They are separate programs.

One last question, does it get stuck when you click on both "force quit" and "keep it running" during exit screen?

I don't understand why I can't reproduce this on my Mac..

keybits commented 6 months ago

I'm don't know where I would see "keep it running"? I'm force quitting from macOS Activity Monitor.

Thanks for your help looking into this!

selsta commented 6 months ago
monero-gui-exit-screen

This screen should show when closing monero-gui, does it freeze before that?

keybits commented 6 months ago

I've never seen that screen!

By troubleshooting in this thread, I now have an acceptable workaround - exit wallet, then exit monero-gui and it quits successfully.

kirk-kerekes commented 6 months ago

I concur with keybits, logging out of the wallet allows the app to quit gracefully.

kirk-kerekes commented 6 months ago

in case you are not familiar with symbolication, I suggest doing a web search on symbolication xcode. Symbolication can turn a pile of incomprehensible dump gibberish into something with a lot of clues in it.

If you are already working with symbolicated dumps, then "good on ya".

selsta commented 6 months ago

I will try to compare the code differences between exiting directly and exiting to wizard.

selsta commented 6 months ago

Nothing obvious... Both use closeWallet() with a callback.

Can one of you open monero-wallet-gui from the command line, set log level to 4 in Settings -> Log, and then close the GUI so that it gets stuck and share the last 20 lines from the command line output?

hansosanchez commented 6 months ago

just to inform you that i have the same issue as https://github.com/kirk-kerekes (Mac OS Sonoma 14.4 (23E214)) since 18.3.1.

AntlerDM commented 5 months ago

This has been happening to me for a few versions now including v0.18.3.2. The GUI seems to function correctly while running, but when I quit, the application locks up and requires a force quit.

Workaround has been to lock the wallet first and then click the "X" button. Locking and then selecting Quit menu causes lockup.

I have tried connecting to a remote daemon and local daemon. And it is the same if I click the X button or select Quit from the menu.

The issue has been happening with macOS versions 13 & 14. Hardware is Mac Studio M1 Ultra.

Lockup Log: 2024-03-25 16:45:06.674 0x1f721bac0 INFO logging contrib/epee/src/mlog.cpp:273 New log categories: *:WARNING,net:FATAL,net.http:FATAL,net.ssl:FATAL,net.p2p:FATAL,net.cn:FATAL,daemon.rpc:FATAL,global:INFO,verify:FATAL,serialization:FATAL,daemon.rpc.payment:ERROR,stacktrace:INFO,logging:INFO,msgwriter:INFO 2024-03-25 16:45:06.674 0x1f721bac0 WARNING frontend src/wallet/api/wallet.cpp:411 Logging to "/Users/<USER>/Library/Logs/monero-wallet-gui.log" 2024-03-25 16:45:06.675 0x1f721bac0 WARNING frontend src/wallet/api/wallet.cpp:411 file:///Users/<USER>/Applications/Monero GUI/monero-wallet-gui.app/Contents/Resources/qml/QtQuick/Controls/ApplicationWindow.qml:259:9: QML ContentItem: Binding loop detected for property "implicitWidth" 2024-03-25 16:45:21.253 0x1f721bac0 INFO logging contrib/epee/src/mlog.cpp:273 New log categories: *:INFO,global:INFO,stacktrace:INFO,logging:INFO,msgwriter:INFO,perf.*:DEBUG 2024-03-25 16:45:21.254 0x16dbff000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]*?)://)?(\[(.*)\](:(\d+))?)(.*)? 2024-03-25 16:45:21.255 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:8279 ringdb path set to /Users/<USER>/.shared-ringdb 2024-03-25 16:45:21.260 0x16dbff000 INFO net.ssl contrib/epee/src/net_ssl.cpp:137 Generating SSL certificate 2024-03-25 16:45:21.328 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:8303 caching ringdb key 2024-03-25 16:45:21.349 0x16dda3000 WARNING wallet.wallet2 src/wallet/wallet2.cpp:6118 Loaded wallet keys file, with public address: <WALLET ADDRESS> 2024-03-25 16:45:21.377 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:6150 Trying to decrypt cache data 2024-03-25 16:45:21.451 0x16dda3000 INFO wallet.mms src/wallet/message_store.cpp:778 No message store file found: /Users/<USER>/Monero/wallets/<USER>/<USER>.mms 2024-03-25 16:45:21.453 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:1390 setting daemon to <LOCAL DAEMON> 2024-03-25 16:45:21.453 0x16dda3000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]*?)://)?(\[(.*)\](:(\d+))?)(.*)? 2024-03-25 16:45:21.457 0x16dda3000 INFO net.ssl contrib/epee/src/net_ssl.cpp:137 Generating SSL certificate 2024-03-25 16:45:21.665 0x16dda3000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]*?)://)?(\[(.*)\](:(\d+))?)(.*)? 2024-03-25 16:45:21.807 0x16dda3000 WARNING net.ssl contrib/epee/src/net_ssl.cpp:539 SSL peer has not been verified 2024-03-25 16:45:21.807 0x16dda3000 WARNING net.ssl contrib/epee/src/net_ssl.cpp:539 SSL peer has not been verified

Lock Wallet successful quit log: 2024-03-25 16:50:02.898 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:452 ~WalletImpl 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:769 closing wallet... 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:780 Calling wallet::stop... 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:782 wallet::stop done 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:465 ~WalletImpl finished

kirk-kerekes commented 5 months ago

That “binding loop detected” note sounds interesting … Kirk Kerekes On Mar 25, 2024, at 11:58 AM, Robin Horn @.***> wrote: This has been happening to me for a few versions now including v0.18.3.2. The GUI seems to function correctly while running, but when I quit, the application locks up and requires a force quit. Workaround has been to lock the wallet first and then click the "X" button. Locking and then selecting Quit menu causes lockup. I have tried connecting to a remote daemon and local daemon. And it is the same if I click the X button or select Quit from the menu. The issue has been happening with macOS versions 13 & 14. Hardware is Mac Studio M1 Ultra. Lockup Log: '2024-03-25 16:45:06.674 0x1f721bac0 INFO logging contrib/epee/src/mlog.cpp:273 New log categories: :WARNING,net:FATAL,net.http:FATAL,net.ssl:FATAL,net.p2p:FATAL,net.cn:FATAL,daemon.rpc:FATAL,global:INFO,verify:FATAL,serialization:FATAL,daemon.rpc.payment:ERROR,stacktrace:INFO,logging:INFO,msgwriter:INFO 2024-03-25 16:45:06.674 0x1f721bac0 WARNING frontend src/wallet/api/wallet.cpp:411 Logging to "/Users//Library/Logs/monero-wallet-gui.log" 2024-03-25 16:45:06.675 0x1f721bac0 WARNING frontend src/wallet/api/wallet.cpp:411 file:///Users//Applications/Monero GUI/monero-wallet-gui.app/Contents/Resources/qml/QtQuick/Controls/ApplicationWindow.qml:259:9: QML ContentItem: Binding loop detected for property "implicitWidth" 2024-03-25 16:45:21.253 0x1f721bac0 INFO logging contrib/epee/src/mlog.cpp:273 New log categories: :INFO,global:INFO,stacktrace:INFO,logging:INFO,msgwriter:INFO,perf.:DEBUG 2024-03-25 16:45:21.254 0x16dbff000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]?)://)?((.)?)(.)? 2024-03-25 16:45:21.255 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:8279 ringdb path set to /Users//.shared-ringdb 2024-03-25 16:45:21.260 0x16dbff000 INFO net.ssl contrib/epee/src/net_ssl.cpp:137 Generating SSL certificate 2024-03-25 16:45:21.328 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:8303 caching ringdb key 2024-03-25 16:45:21.349 0x16dda3000 WARNING wallet.wallet2 src/wallet/wallet2.cpp:6118 Loaded wallet keys file, with public address: 2024-03-25 16:45:21.377 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:6150 Trying to decrypt cache data 2024-03-25 16:45:21.451 0x16dda3000 INFO wallet.mms src/wallet/message_store.cpp:778 No message store file found: /Users//Monero/wallets//.mms 2024-03-25 16:45:21.453 0x16dda3000 INFO wallet.wallet2 src/wallet/wallet2.cpp:1390 setting daemon to 2024-03-25 16:45:21.453 0x16dda3000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]?)://)?((.)?)(.)? 2024-03-25 16:45:21.457 0x16dda3000 INFO net.ssl contrib/epee/src/net_ssl.cpp:137 Generating SSL certificate 2024-03-25 16:45:21.665 0x16dda3000 INFO net contrib/epee/src/net_parse_helpers.cpp:138 [PARSE URI] regex not matched for uri: ^(([^:]?)://)?((.)?)(.)? 2024-03-25 16:45:21.807 0x16dda3000 WARNING net.ssl contrib/epee/src/net_ssl.cpp:539 SSL peer has not been verified 2024-03-25 16:45:21.807 0x16dda3000 WARNING net.ssl contrib/epee/src/net_ssl.cpp:539 SSL peer has not been verified' Lock Wallet successful quit log: '2024-03-25 16:50:02.898 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:452 ~WalletImpl 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:769 closing wallet... 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:780 Calling wallet::stop... 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:782 wallet::stop done 2024-03-25 16:50:02.899 0x16e927000 INFO WalletAPI src/wallet/api/wallet.cpp:465 ~WalletImpl finished'

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

selsta commented 5 months ago

That “binding loop detected” note sounds interesting

it's unrelated

kirk-kerekes commented 5 months ago

I appreciate that you are keeping on top of this — debugging without being able to reproduce the failure is very frustrating.Kirk Kerekes (iPad)On Mar 25, 2024, at 12:16 PM, selsta @.***> wrote:

That “binding loop detected” note sounds interesting

it's unrelated

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

pipetka12 commented 4 months ago
Снимок экрана 2024-05-08 в 00 16 54

помогите победить, уже 2 месяца мучаюсь на мак бук м2

ninja-python commented 2 weeks ago

That also happens to me (M2 Mac with Sonoma) if I try quitting it from the applications bar it freezes but if I press the built in X in the Monero GUI it works fine when shutting down.