-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
4.2.0: Minimal versions and breaking stuff #10047
Comments
@glassez I don't think it is that simple. Ubuntu xenial (16.04) which is used in travis-ci uses Qt 5.5.1 A bit offtopic: On Windows, qbt with Qt 5.12 crashes sometimes during exit. |
I suppose I should add to the list:
right? |
Qt 5.5 is 3.5 years old. It's not supported now! Will Travis-CI tell us how to live?..
Personally, I feel uncomfortable without some of the improvements available in the new versions. I'm not calling to blindly jump to the latest Qt, but we should have reasonable progress here.
👍
👍 |
So you wanna drop Continuous Integration?
Yes. We should require the latest release. IIRC 1.1.11 |
I can't insist on that... |
You switched to Ubuntu Bionic (18.04) for Travis-CI two weeks ago. 18.04 comes with Qt 5.9 -> https://packages.ubuntu.com/bionic/libs/qt5-default / https://launchpad.net/ubuntu/bionic/+package/qt5-default Isn't that available then on Travis too? |
@X-Coder264 nope. Travis-ci recently(less than a month) switched to xenial. I doubt it will also make available bionic. Question is, is there anything from >5.5.1 that we need to make use of? |
Oops, sorry, I must've seen something wrong :( |
If we actually need something from the newer Qt versions, then probably we can find a 3rd party PPA that provides new Qt5 for xenial/travis |
@sledgehammer999 Yes, that would definitely be the best solution so that the old Qt version on Travis doesn't hold the project back. Here is for example the PPA for Qt 5.11.2 for Xenial -> https://launchpad.net/~beineri/+archive/ubuntu/opt-qt-5.11.2-xenial |
Why don't build new Qt on Ubuntu xenial yourself? It is pretty easy, and you will get very minimal Qt (which contains only your required stuff). .tar.xz with such "hand-made" Qt will be ~20 MB and ~100MB unpacked, so this is not problem to download it on each build run + it is possible to configure travis to cache it. I can help with it, I did this on my own projects few times. and I pretty good know what qBittorrent uses from Qt, so it will not take a lot of time. |
Yes, especially Qt 5.6 is LTS, we should at least try moving to it.
Agree.
I think we want as less burden on our shoulder as possible (the script is a bit messy already), I suppose if you create a separate PPA we can use it, or just packages in rpm format so we can fetch & install easily. Another way of freeing ourselves from TravisCI OS limits is using docker images, but that would require rewriting the script & potentially slower build times, something I would not consider in near future unless necessary. |
I mean don't build Qt each time on ci service, build it just once on local dev machine and just download it during build (like any other dependency, but manually, using well-known curl or wget, not through apt-get install). I don't think that these 2-3 lines in build script will make it so much complex and unreadable.
I'll try, I never did it, but I built deb packages. it will be interesting experience, but can't promise anything. |
Yes, that is what I meant about the rpm format (or deb), this is totally fine for me. |
Why into all this since there is already a 3rd party PPA for xenial with newer Qt? PS: This will mean that we also drop ubuntu versions... |
Is there one with Qt 5.6? We should have at least one linux CI build matching minimum requirements.
I'm having second thoughts... According to https://wiki.ubuntu.com/Releases , Ubuntu 16.04.5 LTS EOL is April 2021, damn long. |
I did see the URL warning but not the other, can you file an issue so we can track it? |
That may be related to #10056 (and many other duplicates). I remember in that PR there was some talk about threads. But that can't be related to 5.12 because there are reports for it from a while back, since WebUI disk space was introduced in #8217. |
IMO, users of distributives that provide outdated and unsupported versions of libraries should be prepared to use outdated applications sooner or later... |
@sledgehammer999, what is your final decision on minimal supported Qt version? |
qBittorrent/src/app/application.cpp Lines 653 to 677 in 78ab0e4
Is this stuff still needed after removing WinXP support? |
Probably not. To all: FYI, Qt version is proposed to be raised to 5.9.0 via PR #10338 |
I would like to be clear with libtorrent-1.2 support. Personally, I'm not suggesting having it as a v4.2.0 release goal, but to stretch its implementation and testing over the entire lifecycle of 4.2 branch (having libtorrent-1.1 as the main one). |
Did any of you guys test your regular qbittorrent profile with libtorrent 1.2.x?
I don't know if this is a fault of new torrent handling in qbt code or breaking changes in libtorrent. |
One thing in common of those files: All of them were finished/compled but in the "Queued" status (aka not explicitly paused). I have set my max active uploads to zero so I don't upload anything. All finished torrents are Queued (to be seeded). |
@sledgehammer999 I used the 4.2.0 build daily since it's release/last compiled version in #9120 |
@sledgehammer999 at least |
👍 libtorrent 1.2, "hand-made" build for macOS, also no issues detected. but my seed box still running 4.1.7 with libtorrent 1.1 |
This should help performance wise if added & turned "ON" |
I just released an alpha1 build. It is based on libtorrent 1.1.x just to make sure that at least qbt code is stable. Then later releases will switch libtorrent 1.2.x series. |
👍 |
@sledgehammer999
|
Qt 5.13.0 requires OpenSSL 1.1.1 version on Linux and Windows crash in 4.2.0 alpha1 issue experienced & logged NOTE:
|
👍 |
Maybe on next release, I'll rebuild Qt using the 5.12.x series. @Chocobo1 I too do get sometimes the crashes. I now have setup WinDbg as just-in-time debugger (or post-mortem debugger) to be used by Windows when it tells me that some program has crashed. Hopefully in the next crash, I'll be able to catch something relevant. On a possibly related note: With master I always observe this console warning after I quit qbittorrent:
Do you guys know of a way to pinpoint from where this warning is coming? Or possibly how to a breakpoint on that? |
You could try setting |
@sledgehammer999 mentioned this in above post...you may have overlooked it...#11123 |
Looks similar with xavier2k6 dump. Unfortunately I couldn't make anything useful from it. |
This crash (and the timer warning I mentioned earlier) seems to happen only in master. So maybe just maybe this is related on how we refactored the exit code in master after the drop of the Windows XP-specific code? This is just a hypothesis. About the timer warning: QObject classes have an internal timer associated with them. And this warning seems to be coming from the destructor of a QObject. So probably we are destroying a QObject (maybe one of our own custom subclass?) from the wrong thread. Related forum answer: https://forum.qt.io/post/271255 |
I did a small discovery: The crashes and the timer warning seem to start with Qt 5.12.0+. The warning and the crash doesn't happen if I use Qt 5.11.3. |
@sledgehammer999 Use of SIGNALS & SLOT/Converting QTimer to pointer may help resolve issue/debug more. Or you have to run the GUI stuff in the main thread/try disabling the WITH_QT option in the make file. |
Latest libraries currently released/available. |
@xavier2k6 as long as msvc compilers still support targeting Windows 7, as long as Qt supports Windows 7, as long as there is significant user base using Windows 7 we won't drop it. Look at Windows XP, we haven't drop it yet. The drop will be with v4.2.0 final. |
Shouldn't minimal supported versions be documented somewhere in project files? |
@qbittorrent/demigods
This thread will be used to discuss various things about 4.2.0 and list resolutions.
I think 2 agreed upon changes are going to c++14 and dropping Windows Vista and below support.
(can be edited by other team members)
List of resolutions:
The text was updated successfully, but these errors were encountered: