Maintenance tool error: "Cannot open file "" for writing: No error"
-
So a little explanation of what the h.. was happening
After my last post, I realised that the Qt Installer wasn't generating a new temporary file resulting in name conflicts as I reported in one earlier post.
This leads me to take a look into
QTemporaryFile
implementation since I was pretty sure that the installer was using this class to generate new temporary files.Looking into the source code for
QTemporaryFile
I found the loop where the random string was being generated.QTemporaryFile
can generate unique file names based on a name template defined with X's in a string.I adapted that piece of code to print the generated name:
int main(int argc, char *argv[]) { // qsrand(uint(std::time(0))); QString s(6); s.resize(6); for(int i = 0; i < 6; ++i) { char ch = char((rand() & 0xffff) % (26 + 26)); if (ch < 26) s[i] = Latin1Char(ch + 'A'); else s[i] = Latin1Char(ch - 26 + 'a'); } qDebug() << s; return 0; }
Note that the call to
srand()
is commented out. Running this program will produce the exact same result each time since the seed wasn't initialised properly. But that is expected. What is not expected was the following message being printed when running my simple program:WARNING: CPU random generator seem to be failing, disable hardware random number generation
WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffffIt turns out that I have an AMD Ryzen CPU, and this warning was being emitted because of a faulty BIOS, as reported in this forum.
So I updated my BIOS to the latest version and voila, the warning is gone and the installer works again.
The reason I couldn't get it working on my second machine was because I was using a virtual machine in the same CPU. The laptop is an Intel Core CPU.
I never thought I would see a BIOS update fix some apparently unrelated program. It was a fun investigation. I would like to say thanks to @hskoglund for the patience and all the tips.
Solution:
If you have an AMD Ryzen CPU, update the BIOS.
-
I am trying to install Qt on my machine but the installer keeps showing this message. What can I do to check if there is something wrong with my system?
-
What is the OS?
When does the error occur? Immediately at startup or later?
Is that a fresh install or are you updating an existing install? -
@koahnig I am running Windows 10. The error occur with when I was trying to update my Qt installation. I then tried to run the installer again but it also fails with the same error after downloading the repositories.
Possibly your installation with the book-keeping is messed up.
A radical measure would be a complete reinstall. At least that is all popping up in my mind.Typically I am bit reluctant to throw away my installs since there is a chain of things to do to get back to work. So maybe you wait if you can afford. Possibly someone else has a better idea.
-
Hi, check your TEMP and TMP environment variables, if they point to non-existing directories on your PC, then Maintenance Tool gives this error.
If that's the case also for you: one quick solution:
set temp= set tmp= c:\qt\maintenancetool.exe
@hskoglund I'll try again this evening and report back. Thanks for the tip
-
Hi, check your TEMP and TMP environment variables, if they point to non-existing directories on your PC, then Maintenance Tool gives this error.
If that's the case also for you: one quick solution:
set temp= set tmp= c:\qt\maintenancetool.exe
@hskoglund No luck with this solution. Same error. I even tried the offline installer but I get the following message.
Any tips?
-
Hi, just guessing, but if you copy the offline installer .exe file to somewhere on your C: drive (instead of E:) and invoke it from there (and using the same incantations, set temp= and set tmp=
@hskoglund Unfortunately same error. When running "Writing maintenance tool." it gives me the same error dialog.
Unfortunately I have no clues on what could be wrong with my system.
-
@hskoglund Unfortunately same error. When running "Writing maintenance tool." it gives me the same error dialog.
Unfortunately I have no clues on what could be wrong with my system.
Hi@mcleary,
did you run the tool as normal user or as administrator?
If you have run it as admin before, you will probably need to do so again.
Also, ave you checked there is enough free space on your drives?
Regards.
-
I tried running as admin but the same message keeps popping.
I do have plenty of space (more than 100GB free) and I don't have any antivirus software installed.
I am trying to run some debug tools like process monitor to see if I can figure it out without reinstalling everything.
-
Yeah, as a last ditch, you could try one more setting:
set path= qt-opensource-windows-x86-5.14.1.exe
(if there's some bad stuff in your path setting)
@hskoglund Does this hangs any bells?
-
Yeah, as a last ditch, you could try one more setting:
set path= qt-opensource-windows-x86-5.14.1.exe
(if there's some bad stuff in your path setting)
@hskoglund No luck clearing the path.
-
Right, so now I can say for sure that there is something wrong with the installer.
I just tried the installer in a brand new machine and I get the same message:
Right after it finishes downloading the repositories.
Now I am pretty sure it is not just my machine anymore.