db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3316) Leak in client if ResultSet not closed
Date Tue, 15 Jan 2008 09:31:35 GMT

    [ https://issues.apache.org/jira/browse/DERBY-3316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12558991#action_12558991

Knut Anders Hatlen commented on DERBY-3316:

Doesn't the Hashtable still leak with the patch? It allows the ResultSet objects to be freed,
but the Hashtable doesn't remove the empty WeakReference objects, so it will still grow, I

It seems like you planned to add a comment to mapCursorNameToResultSet() but forgot to finish

> Leak in client if ResultSet not closed
> --------------------------------------
>                 Key: DERBY-3316
>                 URL: https://issues.apache.org/jira/browse/DERBY-3316
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions:,,
>            Reporter: Kathey Marsden
>            Assignee: Kathey Marsden
>         Attachments: derby-3316_diff.txt, RepeatStatement.java
> If I run the attached program RepeatStatement.java with 32M of heap,
> I will get an OutOfMemory error in the client.
> java -Xmx32M RepeatStatement
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
>        at org.apache.derby.client.am.Cursor.allocateCharBuffer(Cursor.java:1260)
>        at org.apache.derby.client.net.NetStatementReply.parseSQLDTARDarray(NetStatementReply.java:1356)
>        at org.apache.derby.client.net.NetStatementReply.parseQRYDSC(NetStatementReply.java:1207)
>        at org.apache.derby.client.net.NetStatementReply.parseOpenQuery(NetStatementReply.java:479)
>        at org.apache.derby.client.net.NetStatementReply.parseOPNQRYreply(NetStatementReply.java:223)
>        at org.apache.derby.client.net.NetStatementReply.readOpenQuery(NetStatementReply.java:64)
>        at org.apache.derby.client.net.StatementReply.readOpenQuery(StatementReply.java:50)
>        at org.apache.derby.client.net.NetStatement.readOpenQuery_(NetStatement.java:153)
>        at org.apache.derby.client.am.Statement.readOpenQuery(Statement.java:1396)
>        at org.apache.derby.client.am.Statement.flowExecute(Statement.java:2001)
>        at org.apache.derby.client.am.Statement.executeQueryX(Statement.java:421)
>        at org.apache.derby.client.am.Statement.executeQuery(Statement.java:406)
>        at RepeatStatement.testInsertAndSelect(RepeatStatement.java:31)
>        at RepeatStatement.main(RepeatStatement.java:10)
> If I close the ResultSet or Statement it does not leak. 
> This occurs on trunk and It does however not run out of memory on,
so appears to be a regression.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message