From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Andrew Dunstan <andrew(at)dunslane(dot)net>, Robert Haas <robertmhaas(at)gmail(dot)com>, David Rowley <dgrowleyml(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: currawong is not a happy animal |
Date: | 2014-01-17 19:54:37 |
Message-ID: | 20140117195437.GC4807@eldon.alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane escribió:
> Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> > Not quite out of the woods yet. We're getting this regression failure on
> > Windows/MSVC (see
> > <http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=bowerbird&dt=2014-01-17%2018%3A20%3A35>):
>
> > SELECT test_shm_mq(32768, (select string_agg(chr(32+(random()*96)::int), '') from generate_series(1,400)), 10000, 1);
> > ! ERROR: queue size must be at least 472262143 bytes
>
> It looks like this is computing a bogus value:
>
> const Size shm_mq_minimum_size =
> MAXALIGN(offsetof(shm_mq, mq_ring)) + MAXIMUM_ALIGNOF;
>
> I seem to recall that we've previously found that you have to write
>
> MAXALIGN(offsetof(shm_mq, mq_ring[0])) + MAXIMUM_ALIGNOF;
>
> to keep MSVC happy with a reference to an array member in offsetof.
Hmm, this seems to contradict what's documented at the definition of
FLEXIBLE_ARRAY_MEMBER:
/* Define to nothing if C supports flexible array members, and to 1 if it does
not. That way, with a declaration like `struct s { int n; double
d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
compilers. When computing the size of such an object, don't use 'sizeof
(struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
MSVC and with C++ compilers. */
#define FLEXIBLE_ARRAY_MEMBER /**/
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2014-01-17 20:11:38 | Re: currawong is not a happy animal |
Previous Message | Robert Haas | 2014-01-17 19:43:41 | Re: Turning off HOT/Cleanup sometimes |