Re: [BUGS] BUG #14634: On Windows pg_basebackup should write tar to stdout in binary mode

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>, henry_boehlert(at)agilent(dot)com
Cc: "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [BUGS] BUG #14634: On Windows pg_basebackup should write tar to stdout in binary mode
Date: 2017-07-13 16:54:10
Message-ID: 931e755b-02df-d504-e5ad-eaeaa6ab9cd3@iki.fi
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On 05/03/2017 07:32 AM, Haribabu Kommi wrote:
> [Adding -hackers mailing list]
>
> On Fri, Apr 28, 2017 at 6:28 PM, <henry_boehlert(at)agilent(dot)com> wrote:
>
>> The following bug has been logged on the website:
>>
>> Bug reference: 14634
>> Logged by: Henry Boehlert
>> Email address: henry_boehlert(at)agilent(dot)com
>> PostgreSQL version: 9.6.2
>> Operating system: Windows Server 2012 R2 6.3.9600
>> Description:
>>
>> Executing command pg_basebackup -D -F t writes its output to stdout, which
>> is open in text mode, causing LF to be converted to CR LF thus corrupting
>> the resulting archive.
>>
>> To write the tar to stdout, on Windows stdout's mode should be temporarily
>> switched to binary.
>>
>> https://msdn.microsoft.com/en-us/library/tw4k6df8.aspx
>>
>
> Thanks for reporting the issue.
> With the attached patch, I was able to extract the tar file that gets
> generated when the tar file is written into stdout. I tested the
> the compressed tar also.
>
> This bug needs to be fixed in back branches also.

Seems reasonable. One question:

In the patch, you used "_setmode" function, while the calls in
src/bin/pg_dump/pg_backup_archiver.c use "setmode". There are a few
places in the backend that also use "_setmode". What's the difference?
Should we change some of them to be consistent?

- Heikki

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Haribabu Kommi 2017-07-14 02:27:04 Re: [BUGS] BUG #14634: On Windows pg_basebackup should write tar to stdout in binary mode
Previous Message Greg Stark 2017-07-13 12:16:11 Re: BUG #14736: Crash on postgresql server by autovacuum worker process

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-07-13 17:00:18 Re: pl/perl extension fails on Windows
Previous Message Michael Paquier 2017-07-13 16:43:53 Re: PostgreSQL - Weak DH group