Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.4.2, 6.5.0 Beta2
-
-
f4d897f04 (dev), b0553d15a (6.5), c60e8ef68 (6.5.0), 1c8124cfe (tqtc/lts-6.2)
-
2023wk08FOQtforAndroid, 2023wk10FOQtforAndroid
Description
Adding Play Asset Delivery asset pack to application causes androiddeployqt to get stuck in infinite loop and eventually crash.
The problem isn't even the asset pack itself but deleteMissingFiles function in androideployqt which calls recursively itself in a specific situation which gets triggered when adding an asset pack which contains a subdirectory whose name is synonym to any android directory root level directory.
Test application attached. Reproducing the build requires two builds. Building the application first time succeeds. Second time, androiddeployqt tries to clean up android-build directory in the build dir and finds a match.
In my test application asset pack dir contains src dir, and android root level dir contains also src dir.
I later noticed that it is even possible to reproduce the issue with following changes:
Create any directory to android directory root and add res directory inside it:
hello/res
When you build the app second time androiddeployqt finds res directory in the root level of android and gets screwed.
Attachments
For Gerrit Dashboard: QTBUG-111027 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
466404,4 | androiddeployqt: remove infinity loop in deleteMissingFiles | dev | qt/qtbase | Status: MERGED | +2 | 0 |
466856,2 | androiddeployqt: remove infinity loop in deleteMissingFiles | 6.5 | qt/qtbase | Status: MERGED | +2 | 0 |
466857,3 | androiddeployqt: remove infinity loop in deleteMissingFiles | tqtc/lts-6.2 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |
467027,2 | androiddeployqt: remove infinity loop in deleteMissingFiles | 6.5.0 | qt/qtbase | Status: MERGED | +2 | 0 |