db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Ward <jward....@gmail.com>
Subject Re: StackOverflowError for large Scrollable result sets
Date Thu, 17 Sep 2009 15:34:17 GMT
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?

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