Opened 2 years ago

Closed 2 years ago

#1421 closed defect (fixed)

NullPointerException in extraction registration wizard

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: blocker Milestone: Reggie v4.40.2
Component: net.sf.basedb.reggie Keywords:
Cc:

Description

This happened in the second step:

Error: Cannot invoke "net.sf.basedb.reggie.dao.Lysate.loadAnnotations(
net.sf.basedb.core.DbControl, String, 
net.sf.basedb.reggie.dao.Annotationtype, net.sf.basedb.reggie.converter.ValueConverter)"
because "lysate" is null

The log file contains a full stracktrace:

java.lang.NullPointerException: Cannot invoke "net.sf.basedb.reggie.dao.Lysate.loadAnnotations(net.sf.basedb.core.DbControl, String, net.sf.basedb.reggie.dao.Annotationtype, net.sf.basedb.reggie.converter.ValueConverter)" because "lysate" is null
        at net.sf.basedb.reggie.servlet.ExtractionServlet.doGet(ExtractionServlet.java:287)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
...

The error happens in the GetLatestReagentLotNumbers command and is caused by an RNA item that doesn't have a Lysate parent item. In this case it was an external RNA that had been registered with an extraction date that was the "latest" date. Normally, external RNA doesn't have any extraction date at all or their extraction date or longer back to not interfere with the latest local extraction date. The external RNA should of course not be considered at all for this functionality.

Change History (1)

comment:1 by Nicklas Nordborg, 2 years ago

Resolution: fixed
Status: newclosed

In 6889:

Fixes #1421: NullPointerException in extraction registration wizard

We now use the QiacubeDate annotation instead of the creation date since the annotation should only be set when processing items locally. As an extra safeguard we check for null before trying to use the lysate.

Note: See TracTickets for help on using tickets.