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

Поиск
Список
Период
Сортировка
От Chris Ruprecht
Тема Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
Дата
Msg-id C7E0A88A-13B6-496F-88C3-8893C77A0B55@cdrbill.com
обсуждение исходный текст
Ответ на Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
unfortunately, I have to admit to my disgrace, that I'm still no C programmer after all these decades of dabbling in
writingcode. I just used the flags because someone at some point told me that it was a good idea, turns out, it's not
[always].I shall rebuild 9.5.1 without the -fno-common flag and see if that fixes things. 

Thanks Tom for spending part of your weekend on this.

Chris.


> On Mar 12, 2016, at 17:58, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> 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




В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: Refectoring of receivelog.c
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Refactoring speculative insertion with unique indexes a little