Andres Freund <andres@2ndquadrant.com> writes:
> FWIW its also triggerable if two other function calls are places inside
> the above if() (I tried fprintf(stderr, "argh") and kill(0, 0)).
[ confused... ] You mean replacing the abort() in the elog macro with
one of these functions? Or something else?
> It seems the change just made an existing issue visible.
> No idea what to do about it.
Pretty clearly a compiler bug at this point. Since there doesn't seem
to be a clean workaround (no, I don't want to expand the struct
assignment manually), and anyway we can't be sure that the bug doesn't
also manifest in other places, recommending Sergey update his compiler
seems like the thing to do.
At this point I'm more interested in his report in
<alpine.LRH.2.03.1301152012220.773@ast.cam.ac.uk> about
the Assert at spgdoinsert.c:1222 failing. That's pretty new code, so
more likely to have a genuine bug, and I wonder if it's related to
the spgist issue in <50EBF992.2000704@qunar.com> ...
regards, tom lane