db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-5624) System can run out of stack space while processing DropOnCommit requests.
Date Mon, 20 Feb 2012 21:35:34 GMT

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

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

I have repro'd what I think is the problem using a very un-real world test case (table with
1000 columns and an index
on every column).  It would be nice to get a more real world test case that just uses a big
table and whatever the ddl on that table that is causing the issue.  

The 2 users running into this seem to be both using relatively big tables, but I have not
seen ddl yet.  I am wondering if the problem they are seeing is related to either on-disk
sort files or blobs. 
                
> 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
>         Attachments: DERBY-5624.patch
>
>
> 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

        

Mime
View raw message