robert7 / nixnote2

Nixnote - Evernote desktop client for Linux
GNU General Public License v3.0
297 stars 32 forks source link

Nixnote2 exits when network gets disconnected #189

Closed andruska closed 1 year ago

andruska commented 2 years ago

I have configured Nixnote2 so that when you minimize the Nixnote2 window, it stays visible only in the system tray. So, when network get disconnected and no Nixnote2 window opened but only icon visible on System Tray and Nixnote2 attempts to sync, it just crashes.

Can anyone reproduce this ?

BTW: Nixnote2 is far better to work with, than with original Android app or web interface.

andruska commented 2 years ago

I reproduced problem now this with log information.

$ nixnote2
INFO  2022-07-31 15:06:20.123 src/utilities/crossmemorymapper.cpp:62 Shared memory segment allocated, instance key: "72e37e05-2a75-45cd-89ea-8bc15cd368622"
INFO  2022-07-31 15:06:20.126 src/main.cpp:304 NixNote 2.1.6-460aec81, build at Dec 28 2021 at 19:52:53, with Qt 5.15.2 running on 5.15.3
INFO  2022-07-31 15:06:20.127 src/main.cpp:307 To get more detailed startup logging use --logLevel=1

Nixnote2 minimized to System Tray icon. Nixnote2 window button is not present on xfce4 panel. Disconnected network. Waiting for timeout.

WARN 2022-07-31 15:11:04.540 src/qevercloud/QEverCloud/src/http.cpp:176 QEverCloud.http.simpleDownload: reply for url="https://www.evernote.com/edam/note/s307" is error: "Request timeout." => EverCloudException "Request timeout."

Nixnote2 prompts "Sync error. See message log for details". Pressed "OK".

ERROR 2022-07-31 15:11:04.562 src/communication/communicationmanager.cpp:537 Exception stacktrace:
nixnote2(_ZN20CommunicationManager11reportErrorEN18CommunicationError22CommunicationErrorTypeEiRK7QStringS4_+0x6b)[0x5b1ddb]
nixnote2(+0xb29a8)[0x4d59a8]
nixnote2(_ZN10SyncRunner12evernoteSyncEv+0x106)[0x841f56]
nixnote2(_ZN10SyncRunner11synchronizeEv+0x467)[0x842cc7]
/usr/lib/libQt5Core.so.5(_ZN14QMetaCallEvent13placeMetaCallEP7QObject+0x96)[0xb371f646]
/usr/lib/libQt5Core.so.5(_ZN7QObject5eventEP6QEvent+0x258)[0xb37200f8]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0xb75ded06]
nixnote2(_ZN11Application6notifyEP7QObjectP6QEvent+0x32)[0x556712]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x12c)[0xb36f7dfc]
/usr/lib/libQt5Core.so.5(_ZN23QCoreApplicationPrivate16sendPostedEventsEP7QObjectiP11QThreadData+0x1a6)[0xb36fd036]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication16sendPostedEventsEP7QObjecti+0x2b)[0xb36fd43b]
/usr/lib/libQt5Core.so.5(+0x29d4c4)[0xb37484c4]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1c4)[0xb0cbaa14]
/usr/lib/libglib-2.0.so.0(+0xa5c42)[0xb0d10c42]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x39)[0xb0cb7da9]
/usr/lib/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x73)[0xb37453a3]
/usr/lib/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12e)[0xb36f6b0e]
/usr/lib/libQt5Core.so.5(_ZN7QThread4execEv+0x68)[0xb356b858]
/usr/lib/libQt5Core.so.5(+0xbe3f4)[0xb35693f4]
/usr/lib/libc.so.6(+0x8bdfe)[0xb3028dfe]
/usr/lib/libc.so.6(clone+0x6a)[0xb30af21a]
ERROR 2022-07-31 15:11:04.575 src/communication/communicationerror.cpp:88 "StdException[code=16]: Request timeout."
INFO  2022-07-31 15:11:22.206 src/main.cpp:375 main: Exit: retcode=0

Nixnote2 crashed. And that way it behaves every time. Behaves exactly same on other tested computer.

When leaving window open and not minimizing to system tray, or if window minimized to xfce4 panel window button, the crash is not present.

boo-yee commented 2 years ago

It looks like a normal exit, because the retcode is 0.

andruska commented 2 years ago

Behaviour definitely is not normal. It doesnt let to work offline.

boo-yee commented 2 years ago

The reason of issue is: when the last window is closed, the Qt application will exit automatically. This is a feature of Qt. I have created a pr to fix it. You could disable the auto sync in the preference dialog temporarily.

robert7 commented 2 years ago

thx I'll check the pull request