Re: Complier warnings on mingw gcc 4.5.0

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Itagaki Takahiro <itagaki.takahiro@gmail.com>, Hiroshi Inoue <inoue@tpf.co.jp>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-12-13T23:45:29Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Make the win32 putenv() override update *all* present versions of the

  2. Remove the use of the pg_auth flat file for client authentication.


On 12/13/2010 04:34 PM, Tom Lane wrote:
> Andrew Dunstan<andrew@dunslane.net>  writes:
>> Further digging shows some weirdness. This doesn't appear to be
>> compiler-related. I've rolled back all the way to gcc 3.5. It is
>> triggered by the following line in pg_regress.c, commenting out of which
>> causes the problem to go away (although of course it causes the
>> regression tests to fail):
>>       putenv(new_pgoptions);
> Oh really ... are we using src/port/unsetenv.c on that platform?
> I wonder if that little hack is incompatible with latest mingw
> libraries ...


It is using pgwin32_putenv() and pgwin32_unsetenv(). It appears not to 
be related to how the environment is set at all, but to how the backend 
is handling PGOPTIONS.

Here's a TCP level dump of traffic showing the problem. The client is on 
Linux.

18:34:03.106882 IP aurelia.34700 > 192.168.10.109.postgres: Flags [P.], 
seq 9:86, ack 2, win 46, options [nop,nop,TS val 1504831233 ecr 
1085898], length 77
     0x0000:  4500 0081 f95d 4000 4006 aaf3 c0a8 0a68  E....]@.@......h
     0x0010:  c0a8 0a6d 878c 1538 a55b 18ce c920 b723  ...m...8.[.....#
     0x0020:  8018 002e 07ae 0000 0101 080a 59b1 e701  ............Y...
     0x0030:  0010 91ca 0000 004d 0003 0000 7573 6572  .......M....user
     0x0040:  0070 6772 756e 6e65 7200 6461 7461 6261  .pgrunner.databa
     0x0050:  7365 0070 6f73 7467 7265 7300 6f70 7469  se.postgres.opti
     0x0060:  6f6e 7300 2d63 206c 6f67 5f6d 696e 5f6d  ons.-c.log_min_m
     0x0070:  6573 7361 6765 733d 7761 726e 696e 6700  essages=warning.
     0x0080:  00                                       .
18:34:03.209847 IP 192.168.10.109.postgres > aurelia.34700: Flags [P.], 
seq 2:129, ack 86, win 65450, options [nop,nop,TS val 1085900 ecr 
1504831233], length 127
     0x0000:  4500 00b3 9fd3 4000 8006 c44b c0a8 0a6d  E.....@....K...m
     0x0010:  c0a8 0a68 1538 878c c920 b723 a55b 191b  ...h.8.....#.[..
     0x0020:  8018 ffaa df54 0000 0101 080a 0010 91cc  .....T..........
     0x0030:  59b1 e701 5200 0000 0800 0000 0045 0000  Y...R........E..
     0x0040:  0075 5346 4154 414c 0043 3535 5030 3200  .uSFATAL.C55P02.
     0x0050:  4d70 6172 616d 6574 6572 2022 706f 7274  Mparameter."port
     0x0060:  2220 6361 6e6e 6f74 2062 6520 6368 616e  ".cannot.be.chan
     0x0070:  6765 6420 7769 7468 6f75 7420 7265 7374  ged.without.rest
     0x0080:  6172 7469 6e67 2074 6865 2073 6572 7665  arting.the.serve
     0x0090:  7200 4667 7563 2e63 004c 3437 3934 0052  r.Fguc.c.L4794.R
     0x00a0:  7365 745f 636f 6e66 6967 5f6f 7074 696f  set_config_optio
     0x00b0:  6e00 00                                  n..

cheers

andrew