On Wed, Oct 30, 2019 at 12:13 AM Thomas Munro <thomas.munro@xxxxxxxxx> wrote: > On Tue, Oct 29, 2019 at 9:23 PM ZhenHua Cai <zhhua.cai@xxxxxxxxx> wrote: > > No, it doesn't call any in-core code. > > I wondered if this could be coming from the new code in > src/port/pg_p{read,write}.c. ERROR_HANDLE_EOF is a documented > GetLastError() return value after ReadFile() fails[1], but only for > asynchronous files. We are using that interface ("overlapped" IO, > their name for asynchronous IO, but the same interface can also do > synchronous IO and happens to support an offset like Unix's pread()), > but we're not opening file handles with FILE_FLAG_OVERLAPPED so we > have a plain old synchronous handle here. > [1] https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-readfile Hi, With a little help we got to the bottom of this: https://www.postgresql.org/message-id/flat/CAC%2BAXB0_zNFUH1BrRGKUkFxvq3SxsojroJN70iTUA1gUNn_gag%40mail.gmail.com#cb324760c6a142ec4ed6abefa8e68f18 It should be fixed in the next release. Thanks for the report!