You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2008/12/07 23:57:44 UTC

[jira] Updated: (DERBY-3976) Running out of file descriptors on recovery can give NullPointerException. Should give clearer message

     [ https://issues.apache.org/jira/browse/DERBY-3976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-3976:
----------------------------------

    Attachment: ReproNPEOnLowFD.java

> Running out of file descriptors on recovery can give NullPointerException. Should give clearer message
> ------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3976
>                 URL: https://issues.apache.org/jira/browse/DERBY-3976
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.0.0
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: ReproNPEOnLowFD.java
>
>
> Running out of file descriptors on recovery can cause a NullPointerException. It should give a clearer message.  To reproduce
> 1) Run attached program with create argument
>    java ReproNPEOnLowFD create
> 2) Set ulimit low
>     ulimit -n 100
> 3) Run the program again with no argements
>    java ReproNPEOnLowFD
> # java ReproNPEOnLowFD create
> Creating database
> # ulimit -n 100
> # java ReproNPEOnLowFD
> java.lang.NullPointerException
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(BaseDataFileFactory.java:558)
>         at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openDroppedContainer(BaseDataFileFactory.java:514)
>         at org.apache.derby.impl.store.raw.xact.Xact.openDroppedContainer(Xact.java:1298)
>         at org.apache.derby.impl.store.raw.data.ContainerBasicOperation.findContainer(ContainerBasicOperation.java:144)
>         at org.apache.derby.impl.store.raw.data.ContainerBasicOperation.needsRedo(ContainerBasicOperation.java:201)
>         at org.apache.derby.impl.store.raw.log.FileLogger.redo(FileLogger.java:1394)
>         at org.apache.derby.impl.store.raw.log.LogToFile.recover(LogToFile.java:802)
>         at org.apache.derby.impl.store.raw.RawStore.boot(RawStore.java:327)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.store.access.RAMAccessManager.boot(RAMAccessManager.java:994)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startModule(BaseMonitor.java:539)
>         at org.apache.derby.iapi.services.monitor.Monitor.bootServiceModule(Monitor.java:418)
>         at org.apache.derby.impl.db.BasicDatabase.bootStore(BasicDatabase.java:758)
>         at org.apache.derby.impl.db.BasicDatabase.boot(BasicDatabase.java:179)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.boot(BaseMonitor.java:1999)
>         at org.apache.derby.impl.services.monitor.TopService.bootModule(TopService.java:290)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.bootService(BaseMonitor.java:1846)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startProviderService(BaseMonitor.java:1712)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.findProviderAndStartService(BaseMonitor.java:1591)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:996)
>         at org.apache.derby.impl.services.monitor.BaseMonitor.startPersistentService(BaseMonitor.java:988)
>         at org.apache.derby.iapi.services.monitor.Monitor.startPersistentService(Monitor.java:533)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1555)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:200)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:187)
>         at java.sql.DriverManager.getConnection(DriverManager.java:562)
>         at java.sql.DriverManager.getConnection(DriverManager.java:208)
>         at ReproNPEOnLowFD.main(ReproNPEOnLowFD.java:11)
> Exception in thread "main" SQL Exception: Failed to start database 'wombat', see the next exception for details.
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:80)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
>         at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:166)
>         at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(EmbedConnection.java:1912)
>         at org.apache.derby.impl.jdbc.EmbedConnection.bootDatabase(EmbedConnection.java:1572)
>         at org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:200)
>         at org.apache.derby.jdbc.Driver30.getNewEmbedConnection(Driver30.java:73)
>         at org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:187)
>         at java.sql.DriverManager.getConnection(DriverManager.java:562)
>         at java.sql.DriverManager.getConnection(DriverManager.java:208)
>         at ReproNPEOnLowFD.main(ReproNPEOnLowFD.java:11)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.