-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize persistent data #2112
Optimize persistent data #2112
Conversation
5fd727f
to
d208f7e
Compare
-I haven't forgotten this- |
qbittorrent constantly crashes at startup. Possibly related to this pull request: $ ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolizer-3.4 ASAN_OPTIONS=symbolize=1 ./qbittorrent ASAN:SIGSEGV==9117== ERROR: AddressSanitizer: SEGV on unknown address 0x000000000008 (pc 0x00000070c82b sp 0x7fff5e903060 bp 0x7fff5e903160 T0) |
Does the crash happen with this request or not? -sorry I didn't understand what you mean- |
I worked for weeks, but now I got this crash (100% reproducible). It looks like TorrentPersistentData is not initialized. But it should be initialized by the time we call QBtSession::instance() in mainwindow.cpp:164. |
I just had a look. I don't understand how the singleton is actually initialized with |
Probably miscompilation. After rebuild everything works ok. |
The problem with singletons arises when one singleton accesses other in its constructor/destructor. In case with PersistentData I want to assert that nobody writes it after it is saved to disk. |
Also I think you don't want to leave ticking timers after QApplication is terminated. |
And I managed to break the mergability of this. @sorokin can you rebase? |
Conflicts: src/mainwindow.cpp src/mainwindow.h
Conflicts: src/mainwindow.cpp src/mainwindow.h src/qtlibtorrent/qbtsession.cpp src/qtlibtorrent/qtorrenthandle.cpp src/transferlistwidget.cpp src/webui/btjson.cpp
d208f7e
to
e334909
Compare
@sledgehammer999 done |
@sorokin This is still unmergable. I was just going to fire up qtcreator and work out the merge conflicts. Thankfully I saw your notification first but as I said github says it has merge conflicts. |
Thanks for the code. (I manually fixed the conflicts). |
No description provided.