gothic_moth, codlin_moth failures on REL8_2_STABLE

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Cc: postgresbuildfarm(at)sun(dot)com
Subject: gothic_moth, codlin_moth failures on REL8_2_STABLE
Date: 2010-03-10 23:37:03
Message-ID: 22415.1268264223@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Since the buildfarm is mostly green these days, I took some time to look
into the few remaining consistent failures. One is that gothic_moth and
codlin_moth fail on contrib/tsearch2 in the 8.2 branch, with a
regression diff like this:

*** 2453,2459 ****
<body>
<b>Sea</b> view wow <u><b>foo</b> bar</u> <i>qq</i>
<a href="http://www.google.com/foo.bar.html" target="_blank">YES &nbsp;</a>
! ff-bg
<script>
document.write(15);
</script>
--- 2453,2459 ----
<body>
<b>Sea</b> view wow <u><b>foo</b> bar</u> <i>qq</i>
<a href="http://www.google.com/foo.bar.html" target="_blank">YES &nbsp;</a>
! ff-bgff-bg
<script>
document.write(15);
</script>

These animals are not testing any branches older than 8.2. The same
test appears in newer branches and passes, but the code involved got
migrated to core and probably changed around a bit.

I traced through this test on my own machine and determined that the
way it's supposed to work is like this: the tsearch parser breaks the
string into a series of tokens that include these:

ff-bg compound word
ff compound word element
- punctuation
bg compound word element

The highlight function is then supposed to set skip = 1 on the compound
word, causing it to be skipped when genhl() reconstructs the text.
The failure looks to me like the compound word is not getting skipped.
Both the setting and the testing of the flag seem to be absolutely
straightforward portable code; although the "skip" struct field is a
bitfield, which is a C feature we don't use very heavily.

My conclusion is that this is probably a compiler bug. Both buildfarm
animals appear to be using Sun Studio, although on different
architectures which weakens the compiler-bug theory a bit. Even though
we are not seeing the failure in later PG branches, it would probably be
worth looking into more closely, because if it's biting 8.2 it could
start biting newer code as well. But without access to a machine
showing the problem it is difficult to do much.

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message KaiGai Kohei 2010-03-10 23:58:35 Re: renameatt() can rename attribute of index, sequence, ...
Previous Message Simon Riggs 2010-03-10 23:26:06 Re: PD_ALL_VISIBLE flag error on 9.0 alpha 4