Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8826AD3A4 for ; Tue, 9 Oct 2012 22:30:04 +0000 (UTC) Received: (qmail 62041 invoked by uid 500); 9 Oct 2012 22:30:04 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 62003 invoked by uid 500); 9 Oct 2012 22:30:04 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 61899 invoked by uid 99); 9 Oct 2012 22:30:04 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Oct 2012 22:30:04 +0000 Date: Tue, 9 Oct 2012 22:30:04 +0000 (UTC) From: "Myrna van Lunteren (JIRA)" To: derby-dev@db.apache.org Message-ID: <575834597.17016.1349821804103.JavaMail.jiratomcat@arcas> In-Reply-To: <1165142528.5814.1311116098165.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Updated] (DERBY-5344) updateClob2 test in LobLimitsTest gets OutOfMemoryError on updateRow with embedded MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/DERBY-5344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Myrna van Lunteren updated DERBY-5344: -------------------------------------- Attachment: DERBY-5344_dump.jar Attaching a jar file with the javacore and heapdump files of the test fixture when it hit the OOM. > updateClob2 test in LobLimitsTest gets OutOfMemoryError on updateRow with embedded > ---------------------------------------------------------------------------------- > > Key: DERBY-5344 > URL: https://issues.apache.org/jira/browse/DERBY-5344 > Project: Derby > Issue Type: Bug > Components: Store, Test > Affects Versions: 10.9.1.0 > Reporter: Kathey Marsden > Labels: derby_triage10_10 > Attachments: DERBY-5344_dump.jar > > > On converting LobLimits.java to LobLimitsTest I noticed this disabled test: > There is disabled test in largedata.LobLimitsTest.java which is a carryover from largedata.LobLimits.java > // Disabled for now, this will materialize, will open > // jira for it. > // updateClob2("ClobTest #8.1",conn,selectClob,BIG_LOB_SZ,0,0,10,1,CHARDATAFILE); > Enabling the test for embedded I noticed it still can get an out of memory. (I actually think I did run it once successfully) > but on my second full run of the suite I saw it fail. > > java.sql.SQLException: Java exception: ': java.lang.OutOfMemoryError'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:98) > at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:142) > at org.apache.derby.impl.jdbc.Util.javaException(Util.java:299) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:412) > at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:348) > at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2290) > at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:82) > at org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4409) > at org.apache.derby.impl.jdbc.EmbedResultSet.updateRow(EmbedResultSet.java:3788) > at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.updateClob2(LobLimitsTest.java:1219) > at org.apache.derbyTesting.functionTests.tests.largedata.LobLimitsTest.testClob2(LobLimitsTest.java:304) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) > at java.lang.reflect.Method.invoke(Method.java:611) > at junit.framework.TestCase.runTest(TestCase.java:154) > at junit.framework.TestCase.runBare(TestCase.java:127) > at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:112) > at junit.framework.TestResult$1.protect(TestResult.java:106) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.framework.TestResult.run(TestResult.java:109) > at junit.framework.TestCase.run(TestCase.java:118) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22) > at junit.extensions.TestSetup$1.protect(TestSetup.java:19) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.extensions.TestSetup.run(TestSetup.java:23) > at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57) > at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22) > at junit.extensions.TestSetup$1.protect(TestSetup.java:19) > at junit.framework.TestResult.runProtected(TestResult.java:124) > at junit.extensions.TestSetup.run(TestSetup.java:23) > at junit.framework.TestSuite.runTest(TestSuite.java:208) > at junit.framework.TestSuite.run(TestSuite.java:203) > at junit.textui.TestRunner.doRun(TestRunner.java:116) > at junit.textui.TestRunner.start(TestRunner.java:172) > at junit.textui.TestRunner.main(TestRunner.java:138) > Caused by: java.sql.SQLException: Java exception: ': java.lang.OutOfMemoryError'. > at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45) > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:122) > at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:71) > ... 37 more > Caused by: java.lang.OutOfMemoryError > at org.apache.derby.iapi.services.io.DynamicByteArrayOutputStream.expandBuffer(DynamicByteArrayOutputStream.java:244) > at org.apache.derby.iapi.services.io.DynamicByteArrayOutputStream.write(DynamicByteArrayOutputStream.java:78) > at java.io.DataOutputStream.write(DataOutputStream.java) > at org.apache.derby.iapi.types.SQLChar.writeUTF(SQLChar.java:922) > at org.apache.derby.iapi.types.SQLChar.writeClobUTF(SQLChar.java:960) > at org.apache.derby.iapi.types.SQLClob.writeExternal(SQLClob.java:647) > at org.apache.derby.impl.store.raw.data.StoredPage.logColumn(StoredPage.java:6325) > at org.apache.derby.impl.store.raw.data.StoredPage.logRow(StoredPage.java:4006) > at org.apache.derby.impl.store.raw.data.UpdateOperation.writeOptionalDataToBuffer(UpdateOperation.java:255) > at org.apache.derby.impl.store.raw.data.UpdateOperation.(UpdateOperation.java:106) > at org.apache.derby.impl.store.raw.data.LoggableActions.actionUpdate(LoggableActions.java:80) > at org.apache.derby.impl.store.raw.data.StoredPage.doUpdateAtSlot(StoredPage.java:8602) > at org.apache.derby.impl.store.raw.data.BasePage.updateAtSlot(BasePage.java:1064) > at org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController.replace(GenericConglomerateController.java:486) > at org.apache.derby.impl.sql.execute.RowChangerImpl.updateRow(RowChangerImpl.java:523) > at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java:569) > at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:264) > at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436) > at org.apache.derby.impl.sql.GenericPreparedStatement.executeSubStatement(GenericPreparedStatement.java:306) > at org.apache.derby.impl.jdbc.EmbedResultSet.updateRow(EmbedResultSet.java:3772) > ... 29 more > The test passes on client and in LobLimitsLiteTest in embedded. To reproduce run largedata.LobLimitsTest, commenting out the below condition: > if (!(usingEmbedded() && BIGGEST_LOB_SZ == _2GB)) { > updateClob2("ClobTest #8.1",selectClob,BIG_LOB_SZ,0,0,10,CHARDATAFILE); > } > or likely you can get a smaller standalone test case by adjusting the sizes and adjusting down the heap with -Xmx -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira