Qt Installer Framework 7zip exception not enough memory
-
This post is deleted!
-
This post is deleted!
-
Hi,
I'm facing just same problem.
After some investigation, I found thant this is caused by multithread build of 7zip codes.
Though I have not solved this bug(must be a bug) yet, I found we can use Single Threaded IFW by specifing _7ZIP_ST preprocessor macro on building IFW.
(If you can make effort to build IFW by yourself)
anyway, I'll make bug report to IFW team. -
I searched bug tracker site for this issue, then found this:
https://bugreports.qt.io/browse/QTIFW-1157
This issue is already closed because this is duplication of this:
https://bugreports.qt.io/browse/QTIFW-957Regards.
-
@kuro said in Qt Installer Framework 7zip exception not enough memory:
I searched bug tracker site for this issue, then found this:
https://bugreports.qt.io/browse/QTIFW-1157
This issue is already closed because this is duplication of this:
https://bugreports.qt.io/browse/QTIFW-957Regards.
Thanks for following up and reporting links
-
Hi! This topic is pretty old; but the problem remains...
I am currently using IFW 4.2 with a Core i9 processor with10 cores => 20 logical processors.
I have 32GB RAM but I guess that the 32-bit official version 4.2 can only handle 2GB...
I bet the high number of threads combined with limited 32-bit memory is a bad combination.
Building the IFW in 64-bit (or, as kuro suggests: limiting the number of threads) would help.
However, many Qt users (like me) just want to use the official build installed by the MaintenanceTool.
Can we expect the forthcoming official release version 4.3 to fix this? I see a recent git commit about using libarchive for 7zip. The comment seems to tell that using libarchive will not be official but will require a special build option... -
@KMKT said in Qt Installer Framework 7zip exception not enough memory:
Can we expect the forthcoming official release version 4.3 to fix this?
Wrong place to ask such things, this is a user-driven forum -> bugreports.qt.io
-
@Christian-Ehrlicher Oh! I'm sorry.
My first search on bugreports.qt.io only found closed topics that did not fix the problem, and I was too shy to open a new one while so many others were closed. Then I found this open topic on this forum.
Anyway, after a second search on bugreports.qt.io, I found this: https://bugreports.qt.io/browse/QTIFW-2375
This will probably fix the problem. I guess, we'll have to wait for v4.3.0...
In the meantime, I can use my old 4-core computer to build installers; or use zip compression instead of 7zip, which results in a 10% larger file size (+50MB in my case). -
@KMKT writes:
In the meantime, I can use my old 4-core computer to build installers; or use zip compression instead of 7zip, which results in a 10% larger file size (+50MB in my case).
I have been having this issue for 3 years now, but, your sentence gave me a new perspective on this issue. For me, the computer that always fails has 12 cores, whereas the computer that always works has 4 cores.
I decided to do an experiment on my failing 12 core machine: I run MSCONFIG, go to Boot options go into Advanced Options I tried changing my cores to either 4 or 8. And, oh my gosh, to my surprise, in both tests, the problem went away?!?! So, there must be some fault in the 7zip library not handling a large number of cores?!
-
@Stephen-Quan Thank you for detailing how to limit the number of processors. I did not know it was possible.
Remark: my Intel Core i9 CPU has 10 cores, which makes 20 logical processors. So if I set the number of processors to 8, it iactually limits my CPU to 4 cores. -
@KMKT Hi, and sorry for the late reply.
libarchive support is enabled in the official Qt IFW binaries, and for the upcoming 4.3 release it does the handling of all archive formats including 7zip. The reason it's behind a separate config feature is that libarchive requires linking against additional libraries in comparison to the LZMA SDK distributed with the Installer Framework, so we didn't want to force the changes to the users' build environments.
However, even after migrating the 7z format to libarchive, there have still been some findings about occasional memory allocation failures when extracting large archives. Moving the IFW binaries to 64-bit on Windows should hopefully finally fix these issues. The user story is tracked here QTIFW-2544, and is something targeted for Qt IFW 4.4.