Issue #2129: Null pointer exception being thrown from within ObjectDB.

Type: Bug ReoprtVersion: 2.7.1Priority: NormalStatus: ActiveReplies: 1
#1

EXCEPTION/DESCRIPTION:
------------------------------

[ObjectDB 2.7.1] Unexpected exception (Error 990)

  Generated by Java HotSpot(TM) 64-Bit Server VM 1.8.0_92 (on Windows 10 10.0).
Please report this error on http://www.objectdb.com/database/issue/new
com.objectdb.o.InternalException: java.lang.NullPointerException: null
java.lang.NullPointerException
at com.objectdb.o.VAR.S(VAR.java:297)
at com.objectdb.o.VAR.R(VAR.java:259)
at com.objectdb.o.VAR.aq(VAR.java:637)
at com.objectdb.o.QNF.C(QNF.java:1102)
at com.objectdb.o.QNF.C(QNF.java:996)
at com.objectdb.o.QNF.z(QNF.java:788)
at com.objectdb.o.QNF.k(QNF.java:257)
at com.objectdb.o.QNF.j(QNF.java:134)
at com.objectdb.o.QRC.I(QRC.java:582)
at com.objectdb.o.QRC.z(QRC.java:239)
at com.objectdb.o.QRC.y(QRC.java:188)
at com.objectdb.o.QRM.U9(QRM.java:272)
at com.objectdb.o.MST.U9(MST.java:988)
at com.objectdb.o.WRA.U9(WRA.java:311)
at com.objectdb.o.WSM.U9(WSM.java:115)
at com.objectdb.o.QRR.g(QRR.java:247)
at com.objectdb.o.QRR.f(QRR.java:153)
at com.objectdb.jpa.JpaQuery.getResultList(JpaQuery.java:719)
at za.co.synthesis.regulatory.report.persist.highavailability.ObjectDBTablePersist.readFromSyncpoint(ObjectDBTablePersist.java:95)
at za.co.synthesis.regulatory.report.persist.highavailability.HATable.synchronise(HATable.java:63)
at za.co.synthesis.regulatory.report.persist.highavailability.service.HASync.runHASynchronise(HASync.java:266)
at za.co.synthesis.regulatory.report.support.HousekeepingProcess.runDataSync(HousekeepingProcess.java:67)
at za.co.synthesis.regulatory.report.support.HousekeepingProcess.run(HousekeepingProcess.java:84)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

 

SOURCE CODE:
-----------------

...
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
    CriteriaQuery<ReportDownloadObject> q = cb.createQuery(ReportDownloadObject.class);
    Root<ReportDownloadObject> r = q.from(ReportDownloadObject.class);
    q.select(r).
            where(
              cb.and(
                cb.equal(r.get("reportSpace"), reportSpace),
                cb.gt(r.get("objectDbId"), DataLogic.parseLongDef(fromSyncPoint, 0L))
              )
            ).
            orderBy(cb.desc(r.get("objectDbId")));
    TypedQuery<ReportDownloadObject> query = entityManager.createQuery(q);
    List<ReportDownloadObject> reportDownloadObjects = null;
    try {

  *****POINT OF FAILURE***** */
      reportDownloadObjects = query.setMaxResults(maxRecords).getResultList();
...

 

Screenshots attached for database explorer.  Please note that the "ReportObject" object doesn't seem to write to the database and when trying to view the ReportObject list, the explorer "hangs".

#2

More information is needed regarding ReportDownloadObject and related types.

If possible, please provide a simple test case (preferred format is specified here) or a sample database with a query that can demonstrate the exception (e.g. by running the query in the Explorer).

ObjectDB Support

Reply