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

Mike Matrigali commented on DERBY-5624:
---------------------------------------

i'd appreciate it if someone good with junit could review my new test.  Most 
critical would be if it has the appropriate decorators.  I could move the new 
test to the end if we think it is affecting the other tests, or alter the test 
to drop the table sooner (I was assuming the table would get
dropped automatically).  The new test really should not be that much of a drain 
on disk space, compared to the rest of the tests as it mostly
adds 1000 small files.   

I can also back out test on windows also if we think it is causing problems 
there.  
                
> 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

        

Reply via email to