db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rajesh Kartha <karth...@gmail.com>
Subject Re: StackOverflowError
Date Tue, 07 Nov 2006 04:03:34 GMT

Hello Jim,

Is it possible to try this query out with the latest GA release 10.2.1.6 ?

http://db.apache.org/derby/derby_downloads.html#Latest+Official+Release

There have been some fixes in the related code generation areas for 10.2:
DERBY-766, DERBY-1714 etc.

Also, can post the schema that can  reproduce this issue ?

Regards,
Rajesh





Jim Newsham wrote:

>Hi everyone,
>
>I thought the problem would go away if I gave Derby a better written query,
>so I fixed my query generator to be a bit smarter.  Unfortunately, I still
>get a stack overflow error.  Here's the new query:
>
>ij(SAMPLEBASE)> select count(*) from time where time.id in (select time.id
>from time, double_sample, band where band.id = double_sample.fk_band_id and
>double_sample.fk_time_id = time.id and (band.id = 39 or band.id = 55));
>1
>-----------
>ERROR 38000: The exception 'java.lang.StackOverflowError' was thrown while
>evaluating an expression. SQLSTATE: XJ001: Java exception: ':
>java.lang.StackOverflowError'.
>
>
>This looks like an ugly bug for such a simple query.  I didn't find any bug
>in jira which seemed to relate to this.  Is this a known bug?  
>
>Any advice on how to work around the problem is appreciated.
>
>I'm using Derby 10.1.3.1.
>
>Thanks,
>Jim
>
>P.S.  I just included the outer query ("select count(*) from..") to
>reproduce the problem in ij.  My program actually uses jdbc, executes the
>inner query, and calls ResultSet.last().  The result is the same, a
>StackOverflowError.  Here's the stack trace I get in my app:
>
>Caused by: org.apache.derby.client.am.SqlException: The exception
>'java.lang.StackOverflowError' was thrown while evaluating an expression.
>SQLSTATE: XJ001: Java exception: ': java.lang.StackOverflowError'.
>        at org.apache.derby.client.am.ResultSet.completeSqlca(Unknown
>Source)
>        at
>org.apache.derby.client.net.NetResultSetReply.parseFetchError(Unknown
> Source)
>        at
>org.apache.derby.client.net.NetResultSetReply.parseCNTQRYreply(Unknown
>Source)
>        at
>org.apache.derby.client.net.NetResultSetReply.readPositioningFetch(Unknown
>Source)
>        at
>org.apache.derby.client.net.ResultSetReply.readPositioningFetch(Unknown
>Source)
>        at
>org.apache.derby.client.net.NetResultSet.readPositioningFetch_(Unknown
>Source)
>        at org.apache.derby.client.am.ResultSet.getRowCount(Unknown Source)
>        at org.apache.derby.client.am.ResultSet.lastX(Unknown Source)
>        at org.apache.derby.client.am.ResultSet.last(Unknown Source)
>        at
>com.referentia.sdf.monitor.samplebase.derby.QueryDataSet.getSize(QueryDataSe
>t.java:139)
>
>
>  
>
>>-----Original Message-----
>>From: Jim Newsham [mailto:jnewsham@referentia.com]
>>Sent: Monday, November 06, 2006 11:21 AM
>>To: 'Derby Discussion'
>>Subject: StackOverflowError
>>
>>
>>Any reason why I should get a stack overflow error with the following
>>query?
>>
>>Yes, I know the query is a bit odd... it's not hand-written.  The query
>>generator could be optimized.  Nevertheless... is the stack overflow here
>>considered a bug or a limitation?  If limitation, what specifically is the
>>limitation?
>>
>>
>>ij(SAMPLEBASE)> select count(*) from time where time.id in (select time.id
>>from time, double_sample, band where band.id = double_sample.fk_band_id
>>and
>>double_sample.fk_time_id = time.id and band.id = 57 union select id from
>>time where 1 = 0);
>>1
>>-----------
>>ERROR 38000: The exception 'java.lang.StackOverflowError' was thrown while
>>evaluating an expression. SQLSTATE: XJ001: Java exception: ':
>>java.lang.StackOverflowError'.
>>
>>Thanks,
>>Jim
>>
>>
>>    
>>
>
>
>
>
>  
>


Mime
View raw message