db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: StackOverflowError for large Scrollable result sets
Date Fri, 18 Sep 2009 13:29:49 GMT
Jason Ward wrote:
> Thanks Bryan, I should have included the info from the derby.log. 
> Here's a small snippet of the ~1K lines from the log:
>
> 2009-09-17 14:58:48.873 GMT Thread[DRDAConnThread_19,5,derby.daemons] 
> (XID = 5212534), (SESSIONID = 21), (DATABASE = C:/temp/testDB), 
> (DRDAID = NF000001.H0EE-4195946224626394775{15}), Cleanup action starting
> 2009-09-17 14:58:48.873 GMT Thread[DRDAConnThread_19,5,derby.daemons] 
> (XID = 5212534), (SESSIONID = 21), (DATABASE = C:/temp/testDB), 
> (DRDAID = NF000001.H0EE-4195946224626394775{15}), Failed Statement is: 
> <clipped for proprietary reasons... I can modify and disclose of 
> required, but the SQL select looks as expected>:end parameter
> java.lang.StackOverflowError
>    at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at org.apache.derby.iapi.services.io.LimitInputStream.read(Unknown 
> Source)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
> ...
>    at java.io.PushbackInputStream.read(PushbackInputStream.java:169)
>    at java.io.FilterInputStream.read(FilterInputStream.java:116)
> Cleanup action completed
>
> Additionally.. unchaining the exception is a little more complicated 
> with Hibernate in the way, but I've gone about doing so... seems it's 
> the end of the chain tho. (Interrogating the exception with debugger 
> confirms that there's no next exception, but I'm not sure if that's 
> only because someone's swallowing it along the line.)
>
> Thanks,
> JW
>
> ----- SQLException -----
>  SQLState:   XJ001
>  Error Code: -1
>  Message:    DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ001, 
> SQLERRMC: java.lang.StackOverflowErrorXJ001.U
>
> Any thoughts on where I should focus my attention? I can't be the only 
> one using Derby and scrolling on large result-sets can I?

Hi Jason,

Just a few control questions, as Derby doesn't use PushbackInputStream 
much internally:
 1) Which Derby version are you using?
 2a) Does the failing result set contain any CLOB columns?
 2b) Are you accessing an upgraded database?


Regards,
-- 
Kristian
>
> Bryan Pendleton wrote:
>>> Caused by: org.apache.derby.client.am.SqlException: DERBY SQL error: 
>>> SQLCODE: -1, SQLSTATE: XJ001, SQLERRMC: 
>>> java.lang.StackOverflowErrorXJ001.U
>>>    at org.apache.derby.client.am.ResultSet.completeSqlca(Unknown 
>>> Source)
>>
>> Is there a more detailed exception trace in your derby.log file?
>>
>> I'd expect to see a stack trace with hundreds, perhaps thousands, of
>> stack frames in it, which is what I usually see in the cases where I've
>> had stack overflow errors. Usually such a stack trace makes it pretty
>> easy to see where there is code that is re-entering itself (possibly
>> indirectly), and causing the stack overflow.
>>
>> If you can't find a more detailed exception trace in the derby.log
>> file, here's another thing you can try to do to get more information:
>> http://wiki.apache.org/db-derby/UnwindExceptionChain
>>
>> thanks,
>>
>> bryan
>>
>>


Mime
View raw message