Thread: Buildfarm: Test errors - StackOverFlowError

Buildfarm: Test errors - StackOverFlowError

From
"Mike Fowler"
Date:
Hi,

The buildfarm started failing Friday night/Saturday morning with test
failures. The tests are breaking when running the JDK 1.4 build, but this
does not mean it's only a 1.4 problem (though it could be!) as the build
aborts before running 1.5 and 1.6. The failures are against all 4 PG
branches I build against - 8.4, 9.0, 9.1 and HEAD.

From the logs there appears to be an infinite loop ulimately dying in a
StackOverflowError. The logs are the basically the same for all PG
branches so see
http://www.pgbuildfarm.org/cgi-bin/show_stage_log.pl?nm=piapiac&dt=2011-10-03%2005%3A00%3A01&stg=jdbc-test
for the full trace.

[junit] java.lang.StackOverflowError
[junit]     at
org.postgresql.jdbc2.TypeInfoCache.getPGType(TypeInfoCache.java:270)
[junit]     at
org.postgresql.jdbc2.TypeInfoCache.getSQLType(TypeInfoCache.java:176)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getSQLType(AbstractJdbc2ResultSet.java:2776)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1920)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getFixedString(AbstractJdbc2ResultSet.java:2736)
[junit]     at
org.postgresql.jdbc3g.Jdbc3gResultSet.createArray(Jdbc3gResultSet.java:59)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getArray(AbstractJdbc2ResultSet.java:325)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.internalGetObject(AbstractJdbc2ResultSet.java:156)
[junit]     at
org.postgresql.jdbc3.AbstractJdbc3ResultSet.internalGetObject(AbstractJdbc3ResultSet.java:38)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1921)
[junit]     at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getFixedString(AbstractJdbc2ResultSet.java:2736)
<snip>

Unfortunately I was away for the weekend and didn't notice the breakage
until this morning. I don't have time to investigate and create a fix
right now but I'll look into it later today if no one else has had time to
resolve it in the meantime.

Regards,

--
Mike Fowler
Registered Linux user: 379787

The Call for Papers for is open for FLOSS UK, contact postgresql2012 AT
flossuk DOT org for details.


Re: Buildfarm: Test errors - StackOverFlowError

From
Mike Fowler
Date:
On 03/10/11 16:01, I wrote:

>
> [junit] java.lang.StackOverflowError
> [junit]     at
> org.postgresql.jdbc2.TypeInfoCache.getPGType(TypeInfoCache.java:270)
> [junit]     at
> org.postgresql.jdbc2.TypeInfoCache.getSQLType(TypeInfoCache.java:176)
> [junit]     at
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getSQLType(AbstractJdbc2ResultSet.java:2776)
> [junit]     at
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getString(AbstractJdbc2ResultSet.java:1920)
> [junit]     at
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getFixedString(AbstractJdbc2ResultSet.java:2736)
> [junit]     at
> org.postgresql.jdbc3g.Jdbc3gResultSet.createArray(Jdbc3gResultSet.java:59)
> [junit]     at

The tests run for 1.6 but not 1.5 or 1.4. Turns out some code has been
added for the binary handling in Jdbc4Array and Jdbc4ResultSet that also
needed to be added to Jdbc3Array, Jdbc3ResultSet, Jdbc3gArray and
Jdbc3gReultSet. If you take out the different code in the 4 code you get
the same StackOverflowError. The attached patch resolves this.

Regards,
--
Mike Fowler
Registered Linux user: 379787

The Call for Papers for is open for FLOSS UK, contact postgresql2012 AT
flossuk DOT org for details.

Attachment