[
https://issues.apache.org/jira/browse/DERBY-5624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Myrna van Lunteren reopened DERBY-5624:
---------------------------------------
I'm reopening, because I saw a failure in my nightly test of largeDataTests
suite, looks like this test is now pushing past the # of open files supported
for my account:
(emb)largedata.Derby5624Test.testDERBY_5624 java.io.FileNotFoundException:
/local1/cloudtst/dev/src/NightlyBuildResults.2012-02-21/largeDataTests/fail/Embedded_40/Derby5624Test/testDERBY_5624/derby.log
(Too many open files)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:190)
at java.io.FileOutputStream.<init>(FileOutputStream.java:142)
at
org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copySingleFile(PrivilegedFileOpsForTests.java:305)
at
org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.recursiveCopy(PrivilegedFileOpsForTests.java:261)
at
org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.access$000(PrivilegedFileOpsForTests.java:49)
at
org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests$8.run(PrivilegedFileOpsForTests.java:235)
at
java.security.AccessController.doPrivileged(AccessController.java:251)
at
org.apache.derbyTesting.functionTests.util.PrivilegedFileOpsForTests.copy(PrivilegedFileOpsForTests.java:233)
at
org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:132)
I'll attach the full error stack trace, and the console output of the suite run.
> System can run out of stack space while processing DropOnCommit requests.
> -------------------------------------------------------------------------
>
> Key: DERBY-5624
> URL: https://issues.apache.org/jira/browse/DERBY-5624
> Project: Derby
> Issue Type: Bug
> Components: Store
> Affects Versions: 10.8.2.2
> Reporter: Mike Matrigali
> Assignee: Mike Matrigali
> Labels: derby_triage10_9
> Fix For: 10.9.0.0
>
> Attachments: DERBY-5624.patch, error-stacktrace_mod.out,
> largedatasuite_mod.out
>
>
> The system currently recursively calls xact.notifyObservers() from
> DropOnCommit.update(). It does this because in some cases
> new observers can be added while processing the list of notifyObservers and
> those were being missed before the change, causing
> Assertions in the tests and possibly files not properly dropped on commit.
> Multiple users on the Derby user list have had failures running
> SYSCS_UTIL.SYSCS_COMPRESS_TABLE(), running out of stack track
> with a heavily recursive stack trace of the form (see more detail from these
> reports in subsequent comments):
> Caused by: java.lang.StackOverflowError
> at java.lang.ThreadLocal.get(ThreadLocal.java:125)
> at java.lang.StringCoding.deref(StringCoding.java:46)
> at java.lang.StringCoding.encode(StringCoding.java:258)
> at java.lang.String.getBytes(String.java:946)
> at java.io.UnixFileSystem.getBooleanAttributes0(Native Method)
> at java.io.UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:228)
> at java.io.File.exists(File.java:733)
> at org.apache.derby.impl.store.raw.data.StreamFileContainer.run(Unknown
> Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> org.apache.derby.impl.store.raw.data.StreamFileContainer.privExists(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.StreamFileContainer.open(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openStreamContainer(Unknown
> Source)
> at org.apache.derby.impl.store.raw.xact.Xact.openStreamContainer(Unknown
> Source)
> at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.dropStreamContainer(Unknown
> Source)
> at org.apache.derby.impl.store.raw.xact.Xact.dropStreamContainer(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.DropOnCommit.update(Unknown Source)
> at java.util.Observable.notifyObservers(Observable.java:142)
> at
> org.apache.derby.iapi.store.raw.xact.RawTransaction.notifyObservers(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.DropOnCommit.update(Unknown Source)
> at java.util.Observable.notifyObservers(Observable.java:142)
> at
> org.apache.derby.iapi.store.raw.xact.RawTransaction.notifyObservers(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.DropOnCommit.update(Unknown Source)
> at java.util.Observable.notifyObservers(Observable.java:142)
> at
> org.apache.derby.iapi.store.raw.xact.RawTransaction.notifyObservers(Unknown
> Source)
> at org.apache.derby.impl.store.raw.data.DropOnCommit.update(Unknown Source)
> at java.util.Observable.notifyObservers(Observable.java:142)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira