On Thu, Jun 2, 2016 at 3:50 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> The man page for epoll_wait suggests that that implies a bad pointer
> value for the events array. You're showing
> epoll_ret_events = 0x9c0ad4
> which is not obviously bad, but it's also only 4-byte aligned.
> I notice that CreateWaitEventSet() is being remarkably cavalier
> about alignment requirements; maybe it ought to make some effort
> to ensure that epoll_ret_events is maxaligned.
That makes a certain amount of sense as This is Debian Sparc64 which
as I understand it has the kernel compiled in 64-bit mode but not most
of userland. I bet if I compile Postgres in 64-bit mode it'll turn up
as an alignment issue in userland before it even reaches the kernel.
Or maybe not, maybe it's just that __put_user is stricter about
alignment than really necessary.
--
greg