Re: pageinspect: Hash index support
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Jesper Pedersen <jesper.pedersen@redhat.com>,
Michael Paquier <michael.paquier@gmail.com>,
Ashutosh Sharma <ashu.coek88@gmail.com>,
Jeff Janes <jeff.janes@gmail.com>,
Alvaro Herrera <alvherre@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2016-11-02T17:54:47Z
Lists: pgsql-hackers
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes: > So, we're down to crashes in gin_metapage_info() on ia64 and sparc64. > My guess is that the raw page data that is passed into the function > needs to be 8-byte aligned before being accessed as GinMetaPageData. That's what it looks like to me, too. The "bytea" page image is guaranteed to be improperly aligned for 64-bit access, since it will have an int32 length word before the actual page data, breaking the alignment that would exist for a page sitting in a page buffer. This is likely to be a problem for more things than just gin_metapage_info(); sooner or later it could affect just about everything in pageinspect. > (Maybe GinPageGetMeta() should do it?) I think the right thing is likely to be to copy the presented bytea into a palloc'd (and therefore properly aligned) buffer. And not just in this one function. regards, tom lane
Commits
-
Fix incorrect typecast.
- b4316928d57b 10.0 landed
-
In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines.
- 14e9b18fed28 10.0 landed
-
pageinspect: Support hash indexes.
- 08bf6e529587 10.0 landed
-
Add uuid to the set of types supported by contrib/btree_gist.
- 11da83a0e70d 10.0 cited
-
Allow CREATE EXTENSION to follow extension update paths.
- 40b449ae84dc 10.0 cited