Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Chris Ruprecht <chris(at)cdrbill(dot)com>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
Date: 2016-03-12 22:58:11
Message-ID: 19034.1457823491@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

I wrote:
> That's confusing because it implies that -fno-common is the default,
> which it evidently is not. But anyway, my diagnosis is that you're
> breaking something about the linker's behavior with that switch.

Oh! Looking closer, the core dump happens here:

const printTextFormat pg_utf8format;

printTextFormat *popt = (printTextFormat *) &pg_utf8format;

--> popt->name = "unicode";

So apparently, the relevant property of "-fno-common" is that it
causes "const" variables to actually get placed in read-only data.

I think this code is new in 9.5, which'd explain why you didn't see
the failure with older PG versions. It's surely busted though.

I shall get rid of the const-ness, as well as the lame casting away
of it, and I think I will also go make buildfarm member longfin use
"-fno-common". It is truly sad that we apparently have no test
machine that enforces that const means const ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karsten Hilbert 2016-03-12 23:09:19 pg_restore fails
Previous Message Tom Lane 2016-03-12 22:34:48 Re: OS X 10.11.3, psql, bus error 10, 9.5.1

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2016-03-12 23:15:14 Re: Refectoring of receivelog.c
Previous Message Peter Geoghegan 2016-03-12 22:53:52 Re: Refactoring speculative insertion with unique indexes a little