[Interest] QFile::write(const QByteArray&) does not write all data?

alexander golks alex at golks.de
Fri May 18 09:42:02 CEST 2018


Am Thu, 17 May 2018 07:56:19 -0700
schrieb Thiago Macieira <thiago.macieira at intel.com>:

> On Thursday, 17 May 2018 07:02:17 PDT alexander golks wrote:
> > i have at least compiled 5.6.4 now, but i can not produce the error with my
> > qt5core. using 5.6.3 from qt, error exists. using mine, does not exist...
> > 
> > getting the error code directly after the f.write(data) gives me error code1
> > 183: ERROR_ALREADY_EXISTS
> >     183 (0xB7)
> >     Cannot create a file when that file already exists.
> > 
> > but i assume, that the error is not from the failing WriteFile call. or does
> > it?  
> 
> No, this sounds like the "Not a typewriter" error.
> https://en.wikipedia.org/wiki/Not_a_typewriter#Occurrence
> 
> > anyone with some more ideas?
> > e.g. on how to reproduce or test?  
> 
> Are you testing on the same machine, same FS? This can be a limitation of the 
> OS or hte FS. It could even be a limitation of a virus scanner you may have 
> installed.
> 

same hardware machine, same fs. i have a virus scanner, but deactivated (well, i hope so).
i can reproduce on another machine, a virtual machine, no virus scanner, but without this Fast IO things:

...
08:09:58.7549817	SuperCool.exe	8476	WriteFile	D:\temp\SuperCool.file	SUCCESS	Offset: 33,292,288, Length: 262,144, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
08:09:58.7565355	SuperCool.exe	8476	WriteFile	D:\temp\SuperCool.file	0xC00000E8	Offset: 33,554,432, Length: 33,554,432, Priority: Normal
08:09:58.7750148	SuperCool.exe	8476	WriteFile	D:\temp\SuperCool.file	SUCCESS	Offset: 50,331,648, Length: 262,144, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
...
08:09:58.7874229	SuperCool.exe	8476	WriteFile	D:\temp\SuperCool.file	SUCCESS	Offset: 51,118,080, Length: 262,144, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
08:09:58.7905225	SuperCool.exe	8476	CloseFile	D:\temp\SuperCool.file	SUCCESS	

the executable is as windows service. i tested with system account and under user account.
so far i did not find any restrictions related to WriteFile and windows services, which leads to my error,
neither a search for 0xC00000E8 errors.

alex

-- 
/*
 *  Lay on, MacDuff, and curs'd be him who first cries, "Hold, enough!".
 *      -- Shakespeare
 */



More information about the Interest mailing list