pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: Jesper Pedersen <jesper.pedersen@redhat.com>
Cc: Michael Paquier <michael.paquier@gmail.com>
Cc: Ashutosh Sharma <ashu.coek88@gmail.com>
Cc: Jeff Janes <jeff.janes@gmail.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Subject: Re: pageinspect: Hash index support
Date: Wed, 02 Nov 2016 13:54:47 -0400
Message-ID: <8921.1478109287@sss.pgh.pa.us> (raw)
In-Reply-To: <02dc6cef-a80c-c976-8ac0-518ff9b22dd8@2ndquadrant.com>
References: <e2ac6c58-b93f-9dd9-f4e6-d6d30add7fdf@redhat.com>
	<CAE9k0Pk4dC9VrzV7Vm6em7JFzRMGfzx2=eYu0Yb_Psga-W47Ww@mail.gmail.com>
	<e1bda3f7-dc99-c610-4d48-58815f5b7515@redhat.com>
	<CAE9k0P=OQSEj0x9z91tvE9P1f-Ht7x7z8X+eDWQGTJNSFbn9yg@mail.gmail.com>
	<5d64a536-cc90-ce96-b68f-5b6bd3206476@redhat.com>
	<CAB7nPqTT3ZEm8QKsYYxfUnWL+P3p2mAbud7AFiZpK_JKx3eADA@mail.gmail.com>
	<d235dcd6-146a-1269-73a0-da9a55bfeddc@redhat.com>
	<80a00b5c-56d3-dffb-8dba-edf5d2167b12@2ndquadrant.com>
	<16d89e7e-cb1a-cb5d-e944-6f10c324a312@redhat.com>
	<c982b01c-06bc-485b-5dde-057ee244261a@2ndquadrant.com>
	<836487ee-8d4e-cd49-54ac-f4793ddba5ae@redhat.com>
	<8a751498-6ee9-b943-abf3-b5641851d7de@2ndquadrant.com>
	<62ee2eba-3a5b-06d3-e224-cfe00b395be7@redhat.com>
	<f52f2117-627b-baa3-1e83-59394e881bf5@2ndquadrant.com>
	<f8a19652-c5e4-4b8f-a461-62d886ff2400@2ndquadrant.com>
	<66afc31d-e97a-41c3-da4c-bfa02fa2d54e@redhat.com>
	<eb68fb02-5a85-e643-11cf-9319dd7edf2b@2ndquadrant.com>
	<02dc6cef-a80c-c976-8ac0-518ff9b22dd8@2n! dquadrant.com>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-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


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers



view thread (110+ messages)  latest in thread

Message-ID: <8921.1478109287@sss.pgh.pa.us>
Permalink:  ../8921.1478109287@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/8921.1478109287@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: tgl@sss.pgh.pa.us, peter.eisentraut@2ndquadrant.com, jesper.pedersen@redhat.com, michael.paquier@gmail.com, ashu.coek88@gmail.com, jeff.janes@gmail.com, alvherre@2ndquadrant.com
  Subject: Re: pageinspect: Hash index support
  In-Reply-To: <8921.1478109287@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox