[ https://issues.apache.org/jira/browse/DERBY-5624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13219356#comment-13219356 ]
Myrna van Lunteren commented on DERBY-5624: ------------------------------------------- I reran the largedata._Suite in windows with ibm 1.6 (sr9 fp1), build sync-ed to revision 1294957, and this time, I did not see the 'table/view already exist' failure - all pass. So, that really was unrelated. Also, my run on linux with ibm 1.6 sr9fp1(skipping Derby5624Test) passed cleanly again. So the only remaining concern is the running out of file descriptors on a default configured linux system (with max no. of open files set to 1024). > 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