[ 
http://issues.apache.org/jira/browse/DERBY-1497?page=comments#action_12420324 ] 

Bryan Pendleton commented on DERBY-1497:
----------------------------------------

It seems like it would be nice if we printed the original exception's stack 
trace
somewhere prior to discarding it.

Otherwise, when this happens, all we'll know is that we ran out of memory, but 
we
will lose some potentially useful information about exactly which line of code 
we
were on when we ran out of memory.


> assert failure in MessageUtil, because exception thrown with too many 
> parameters when handling OutOfMemoryError
> ---------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1497
>          URL: http://issues.apache.org/jira/browse/DERBY-1497
>      Project: Derby
>         Type: Sub-task

>   Components: Network Client
>     Versions: 10.2.0.0
>     Reporter: Andreas Korneliussen
>     Assignee: Andreas Korneliussen
>     Priority: Trivial
>      Fix For: 10.2.0.0
>  Attachments: DERBY-1497.diff
>
> If the VM throws a OutOfMemoryException, which is caught in:
> NetStatementReply.copyEXTDTA:
>     protected void copyEXTDTA(NetCursor netCursor) throws DisconnectException 
> {
>         try {
>             parseLengthAndMatchCodePoint(CodePoint.EXTDTA);
>             byte[] data = null;
>             if (longValueForDecryption_ == null) {
>                 data = (getData(null)).toByteArray();
>             } else {
>                 data = longValueForDecryption_;
>                 dssLength_ = 0;
>                 longValueForDecryption_ = null;
>             }
>             netCursor.extdtaData_.add(data);
>         } catch (java.lang.OutOfMemoryError e) {     <--- outofmemory
>             agent_.accumulateChainBreakingReadExceptionAndThrow(new 
> DisconnectException(agent_,
>                 new ClientMessageId(SQLState.NET_LOB_DATA_TOO_LARGE_FOR_JVM),
>                 e));  <----- message does not take parameters, causing assert 
> failure
>         }
>     } 
> Instead of getting the message: java.sql.SQLException: Attempt to fully 
> materialize lob data that is too large for the JVM.  The connection has been 
> terminated.
> I am getting an assert: 
> Exception in thread "main" 
> org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Number of 
> parameters expected for message id 58009.C.6 (0) does not match number of 
> arguments received (1)
>         at 
> org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:119)
>  

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to