Re: pgsql: Remove "fmgr.h" include in cube contrib --- caused crash on a Ge

Bruce Momjian <bruce@momjian.us>

From: Bruce Momjian <bruce@momjian.us>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-committers@postgresql.org
Date: 2011-09-01T14:49:36Z
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. Remove unnecessary #include references, per pgrminclude script.

  2. Remove "fmgr.h" include in cube contrib --- caused crash on a Gentoo

  3. Allow more include files to be compiled in their own by adding missing

  4. Add support for #elif to pgrminclude.

Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > Remove "fmgr.h" include in cube contrib --- caused crash on a Gentoo
> > builfarm member.
> 
> mongoose is still crashing, so it must have been some other aspect of
> commit 4bd7333 that caused this.

Agreed.  Let me look some more.  Odd this succeeds:

	okapi 	  	Gentoo 1.12.14 icc 11.1.072 x86_64

but this fails:

	mongoose 	Gentoo 1.6.14 icc 9.0.032 i686

The backtrace:

	http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=mongoose&dt=2011-09-01%2013%3A45%3A01

shows it failing on this line:

	size = offsetof(NDBOX, x[0]) +sizeof(double) * 2;

so I wonder if this is some compiler bug.  offsetof is:

	((long) &((type *)0)->field)

and the struct is:

	typedef struct NDBOX
	{
	    int32       vl_len_;        /* varlena header (do not touch directly!) */
	    unsigned int dim;
	    double      x[1];
	} NDBOX;

That "x" is quite a common symbol.  Is there any way to get access to
this machine?  Should I just revert it all and see what happens?

-- 
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + It's impossible for everything to be true. +