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 "Knut Anders Hatlen (Commented) (JIRA)" <ji...@apache.org> on 2011/10/19 08:51:10 UTC

[jira] [Commented] (DERBY-5470) Intermittent NPE executing a prepared statement inserting a blob.

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

Knut Anders Hatlen commented on DERBY-5470:
-------------------------------------------

The NullPointerException is thrown by org.apache.commons.io.input.ProxyInputStream, which is not a Derby class. Assuming your version of the class looks something like this

http://svn.apache.org/viewvc/commons/proper/io/tags/commons-io-2.1/src/main/java/org/apache/commons/io/input/ProxyInputStream.java?view=markup

I think the NullPointerException happens because the underlying stream (the field "in") is null. I don't think there's any way Derby can set that field to null, so I would suspect that your application somehow passes null to ProxyInputStream's constructor.

If you modify the application class that overrides ProxyInputStream (assuming that's how you use it) and make its constructor throw a NullPointerException if the passed in stream is null, you might get a better indication of what's going wrong.
                
> Intermittent NPE executing a prepared statement inserting a blob.
> -----------------------------------------------------------------
>
>                 Key: DERBY-5470
>                 URL: https://issues.apache.org/jira/browse/DERBY-5470
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.8.1.2
>         Environment: Linux 64-bit, java 1.6 build 26.
>            Reporter: Benson Margulies
>
> We cannot reproduce this consistently, let alone minimize it for you. However, the backtrace may be suggestive enough to give you some traction.
> I have never been able to repro this on a Mac with the corresponding version of Java. 
> {noformat}
> Caused by: java.lang.NullPointerException
> 	at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:75)
> 	at java.io.FilterInputStream.read(FilterInputStream.java:116)
> 	at org.apache.derby.iapi.services.io.LimitInputStream.read(Unknown Source)
> 	at org.apache.derby.iapi.types.RawToBinaryFormatStream.read(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.MemByteHolder.write(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.RememberBytesInputStream.fillBuf(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.logColumn(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.logRow(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.InsertOperation.writeOptionalDataToBuffer(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.InsertOperation.<init>(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.LoggableActions.actionInsert(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BasePage.insertNoOverflow(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BasePage.insertAtSlot(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.StoredPage.insertAtSlot(Unknown Source)
> 	at org.apache.derby.impl.store.raw.data.BasePage.insert(Unknown Source)
> 	at org.apache.derby.impl.store.access.heap.HeapController.doInsert(Unknown Source)
> 	at org.apache.derby.impl.store.access.heap.HeapController.insertAndFetchLocation(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> {noformat}

--
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