db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-3746) java.sql.SQLException: The exception 'java.lang.NullPointerException' was thrown while evaluating an expression.
Date Thu, 16 Sep 2010 09:35:35 GMT

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

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

Judging by the line numbers in David's stack trace (from Derby 10.4.1.3), the NullPointerException
is thrown on this line in BaseDataFileFactory.openContainer():

		// see if the container exists	
		FileContainer container = (FileContainer) containerCache.find(identity);

So it must be containerCache that's null. The only code I find that sets containerCache to
null is the method markCorrupt(), which is typically called when Derby's store module encounters
an IOException, or some other error that Derby doesn't know how to recover from except by
rebooting the database. The exception that causes markCorrupt() to be called should be re-thrown,
so I would have expected that to be present in derby.log too.

Lily, it wasn't quite clear to me from your comments whether you saw a NullPointerException
in addition to the ClosedChannelException, or if you only saw the ClosedChannelException.
Do you remember? It looks like a ClosedChannelException at that point in the code will cause
a call to markCorrupt(), which again could make other threads accessing the same database
fail with a NullPointerException.

> java.sql.SQLException: The exception 'java.lang.NullPointerException' was thrown while
evaluating an expression.
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-3746
>                 URL: https://issues.apache.org/jira/browse/DERBY-3746
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.3.1.4
>         Environment: SUSE LINUX 10, Embedded Derby
>            Reporter: vibhuti gupta
>         Attachments: derby_mailsdb_XSDG9.log, mailjdbc_patch.diff, mailjdbc_patch022410.diff,
mailsdb_derby.log
>
>
> Hi
>  
> Following exception occurs while running our application with embedded derby database.
The application uses multithreading. This exception occurs while insert query is executed.
The insert query is run using JDBC:
>  
> insert into sign (sign, month, day, offset, digest) values (?,?,?,?,?). 
>  
> The table for which insert query is fired is:
>  
> create table sign(ID  INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, sign
varchar(32), month char(6) not null, day char(2) not null, offset bigint not null, digest
varchar(32) for bit data not null)
>  
> There are multiple threads inserting data in database. I tried to search a lot on net
but could not find any solution. We're using derby 10.3.1.4. Not sure about the root cause.
It will be great if anybody provides some solution because it is creating lot of problems
in our application.
>  
> -------------------------------------------------------------------------------------------------------------
>  
> Caused by: java.sql.SQLException: The exception
> 'java.lang.NullPointerException' was thrown while evaluating an expression.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(Unknown Source)
>         at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>         at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
>         at src.app.database.derby.Derby.insertData(Derby.java:132)
>         ... 17 more
> Caused by: java.sql.SQLException: The exception
> 'java.lang.NullPointerException' was thrown while evaluating an expression.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
>         ... 30 more
> Caused by: java.sql.SQLException: Java exception: ':
> java.lang.NullPointerException'.
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown
> Source)
>         at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
> Source)
>         at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
>         at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
>         at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
>         ... 27 more
> Caused by: java.lang.NullPointerException
>         at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
> Source)
>         at
> org.apache.derby.impl.store.raw.data.BaseDataFileFactory.openContainer(Unknown
> Source)
>         at org.apache.derby.impl.store.raw.xact.Xact.openContainer(Unknown
> Source)
>         at
> org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.init(Unknown
> Source)
>         at org.apache.derby.impl.store.access.heap.Heap.open(Unknown Source)
>         at
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
> Source)
>         at
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(Unknown
> Source)
>         at
> org.apache.derby.exe.acd89d8024x0119xf710x52e1x000002ea2ea00.e0(Unknown Source)
>         at org.apache.derby.impl.services.reflect.DirectCall.invoke(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(Unknown Source)
>         at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(Unknown
> Source)
>         at
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(Unknown
> Source)
>         at org.apache.derby.impl.sql.execute.InsertResultSet.open(Unknown
> Source)
>         at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
>         ... 23 more
> ----------------------------------------------------------------------------------
>  
>  Also please find the output of sysinfo:
>  
> ------------------ Java Information ------------------
> Java Version:    1.6.0_01
> Java Vendor:     Sun Microsystems Inc.
> Java home:       C:\Java\jdk1.6.0_01\jre
> Java classpath:  .\config;.\lib\activation.jar;.\lib\aperture-1.0.1-beta.jar;
> .\lib\bcmail-jdk14-132.jar;.\lib\bcprov-jdk14-132.jar;.\lib\castor-0.9.3.21-xml.jar;
> .\lib\checkstyle-all-4.2.jar;.\lib\cjkanalyzer.jar;.\lib\commons-beanutils.jar;
> .\lib\commons-collections-3.0.jar;.\lib\commons-dbcp-1.2.1.jar;
> .\lib\commons-digester.jar;.\lib\commons-fileupload.jar;.\lib\commons-lang-2.0.jar;
> .\lib\commons-logging.jar;.\lib\commons-net-1.4.1.jar;.\lib\commons-pool-1.2.jar;
> .\lib\commons-validator.jar;.\lib\app.jar;.\lib\app_13.jar;.\lib\appsync.jar;
> .\lib\derby.jar;.\lib\derbyclient.jar;.\lib\derbynet.jar;.\lib\derbytools.jar;
> .\lib\displaytag-1.0-rc1.jar;.\lib\FontBox-0.1.0-dev.jar;
> .\lib\jakarta-regexp-1.2.jar;.\lib\javaee.jar;.\lib\jcharset.jar;
> .\lib\jcifs-1.2.17.jar;.\lib\jcommon-0.9.6.jar;.\lib\jfreechart-0.9.21.jar;
> .\lib\jtnef.jar;.\lib\junit.jar;.\lib\ldap.jar;.\lib\log4j-1.2.8.jar;
> .\lib\lucene-core-2.2.0.jar;.\lib\lucene-highlighter.jar;.\lib\mail.jar;
> .\lib\mysql-connector-java-3.0.9-stable-bin.jar;
> .\lib\openrdf-rdf2go-2.0.0-beta6.jar;.\lib\openrdf-sesame-2.0-beta6-onejar.jar;
> .\lib\org.semweb4j.rdf2go.api_4.4.7.jar;
> .\lib\org.semweb4j.rdf2go.impl.base_4.4.6.jar;.\lib\pd4ml.jar;
> .\lib\PDFBox-0.7.3.jar;.\lib\poi-3.0.1-FINAL-20070705.jar;.\lib\quartz-1.5.2.jar;
> .\lib\slf4j-api-1.3.0.jar;.\lib\slf4j-simple-1.3.0.jar;.\lib\SNMP4J.jar;
> .\lib\ss_css2.jar;.\lib\struts.jar;.\lib\textmining_v1.jar;
> .\lib\tm-extractors-0.4.jar;.\lib\truezip-6.jar;.\lib\xerces-2_6_2.jar;
> .\lib\windows\FPLibrary.jar
> OS name:         Windows XP
> OS architecture: x86
> OS version:      5.1
> Java user name:  vibhuti
> Java user home:  C:\Documents and Settings\vibhuti
> Java user dir:   D:\projects\src\app\dist\app
> java.specification.name: Java Platform API Specification
> java.specification.version: 1.6
> --------- Derby Information --------
> JRE - JDBC: Java SE 6 - JDBC 4.0
> [D:\projects\src\app\dist\app\lib\derby.jar] 10.3.1.4 - (561794)
> [D:\projects\src\app\dist\app\lib\derbytools.jar] 10.3.1.4 - (5617
> 94)
> [D:\projects\src\app\dist\app\lib\derbynet.jar] 10.3.1.4 - (561794
> )
> [D:\projects\src\app\dist\app\lib\derbyclient.jar] 10.3.1.4 - (561
> 794)
> ------------------------------------------------------
> ----------------- Locale Information -----------------
> ------------------------------------------------------

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


Mime
View raw message