On Sun, Apr 07, 2019 at 03:03:58AM +0300, Alexander Korotkov wrote:
On Sun, Apr 7, 2019 at 2:37 AM Tom Lane <t...@sss.pgh.pa.us> wrote:
Alexander Korotkov <a.korot...@postgrespro.ru> writes:
> Thus, contents of unused function makes test fail or pass. So far, it
> looks like a compiler bug. Any thoughts?
Yeah :-(. The fact that we've not seen a similar failure on any other
machines points in that direction, too. Maybe it's some other aspect
of the machine's toolchain, like flex or bison, but that's not that
much different from our standpoint.
There's a lot of stuff I don't especially like about jsonpath_scan,
for instance I think the "init" arguments to resizeString etc are
a pretty error-prone and unmaintainable way to do things. But
I don't see anything that looks like it'd be a portability hazard
that would explain this.
I still have a nagging feeling that there's a wild store somewhere
in here, but I don't know how to find it based on the limited
evidence we've got.
Yeah, it might be not because compiler error. It might depend on
memory layout. So existence of extra function changes memory layout
and, in turn, causes an error. I will try to disassemble
jsonpath_scan.o and see whether content of yyparse2 influences
assembly of other functions.
Have you tried other compiler version / different optimization level? Or
running it under valgrind. Not sure how difficult that is on Windows.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services