Object reference not set to an instance of an object in the MassLynx LIMS Interface - WKB5488
SYMPTOMS
- On attempting to send a saved TargetLynx QLD to LIMS, the following error appears in the Activity Trace of the LIMS Interface: "Error in sending results for the file [File name and path]. Object reference not set to an instance of an object"
- The results are not uploaded to LIMS
ENVIRONMENT
- MassLynx LIMS Interface, all versions
CAUSE
There are seven possible causes of the 'Object reference not set to an instance of an object' error being displayed in the LIMS Interface.
The most commonly seen cause is (1).
1. The Assay ID for the samples (i.e. in the TargetLynx dataset) does not match one of the Assay IDs configured in the LIMS Interface at Tools > Assay List. This matching is case sensitive.
This may be because when the raw data were acquired on the instrument, an appropriate Assay ID was not specified in the Job field in the sample list. Or the Job field was left blank for some samples, perhaps because the user manually added some samples to the bottom of the sequence.
Or perhaps it's because the LIMS Interface has been re-installed and and has not yet been re-configured. The default Assay IDs are simply called Assay 1, Assay 2...Assay 30.
The log file at C:\MassLynx\Log will display the following errors: "Invalid Template definition : Either the Test Definition was not found or there were multiple Assay Identifiers for the selected qld file" and "Object reference not set to an instance of an object".
Note 1: Unfortunately the Job field cannot be displayed in the TargetLynx browser. However, there are two ways to view the Job field to check the Assay ID of different samples, as follows:
A. Open the Header.text file in the raw data files and view the Job Code field.
or
B. Add the Job field to the Header of the Samples Report, Sample Summary Report or Experiment Report and then do a Print Preview of the report and scroll through the samples, as described in the attached PDF.
Note 2: there is a software bug in some older releases of MassLynx that means that the Job field is blank in the Header of the Sample Summary Report and Samples Report. However this bug was fixed in MassLynx 4.2 SCN 997 and later releases.
2. There are no Analyte samples in the results, so there are no results to upload. If there are QC samples or Standard samples present in the dataset, the options "Include QC samples when uploading results" or "Include Standard samples when uploading results" are unchecked.
The log file at C:\MassLynx\Log will display the following errors: "Object reference not set to an instance of an object" and "QLD file does not contain any samples".
3. The TargetLynx .qld file being used for the upload was generated using a more recent release of MassLynx than the SCN installed on the LIMS Interface PC. For example, if the TargetLynx results file has been saved to disk on a processing PC with SCN 1035 and the LIMS Interface is installed on an instrument PC with SCN 1017, the results upload will fail because SCN 1035 contains a much improved and updated version of TargetLynx. A TargetLynx dataset or method created in SCN 1035 is not opened properly using TargetLynx in SCN 1017. This is expected behaviour because we do not guarantee the forwards compatibility of TargetLynx datasets and methods. Sometimes there happens to be forwards compatibility in TargetLynx between different SCNs, but that is by chance rather than design. There is no forwards compatibility in TargetLynx between any SCNs released before SCN 997 (such as SCN 1017) and SCN 997 or later SCNs.
The errors will be the same as in (2). The log file at C:\MassLynx\Log will contain the following errors: "Object reference not set to an instance of an object" and "QLD file does not contain any samples".
Note for the release dates of MassLynx SCNs, see WKB236959.
https://support.waters.com/KB_Inf/Ma...re_released_in
4. MassLynx is not open. In order to upload TargetLynx results using the LIMS Interface, MassLynx must be running *.
The log file at C:\MassLynx\Log will display the following errors: "Object reference not set to an instance of an object" and "Invalid Qld file or Unable to generate XML".
Either the LIMS Interface was opened via the Windows shortcut, or MassLynx was closed but the LIMS Interface was left open.
Customers are advised to open the LIMS Interface via the MassLynx 'LIMS' shortcut, not the Windows shortcut.
Checking that MassLynx is open before uploading results should be part of the customer's SOP.
* NB: It is possible to upload results whilst MassLynx is closed by manually running the TargetLynx.exe in C:\MassLynx.
5. QuanLynx is installed instead of TargetLynx. Targetlynx must be installed in order to upload results using the LIMS Interface.
The log file also contains the line: 'Unable to generate the XML'.
6. MassLynx security is installed but the .qld file does not have a valid checksum. In addition to the "Object reference not set to an instance of an object" being displayed on screen and logged in the LIMS Interface log, a tamper warning is displayed and logged in the security audit log.
Note that in order to upload results, the .qld file does not need to be located in a folder to which the user has access through the allowed directories policy.
7. (unlikely) The TestDefinition file was generated on a system which had been customised in some way, for example an extra TargetLynx field had been added, so that the field was present in the TestDefinitionFile but not in the list of TargetLynx fields xml file, leading to a mismatch in the configuration.
FIX or WORKAROUND
- For (1), if all the samples have the same (incorrect) Assay ID, the results can still be uploaded by temporarily changing one of the Assay IDs that is configured in the LIMS Interface to whatever is specified in the Job field in the dataset. This is often the name of the sample list file that was used when the data were acquired, because the Job field in the raw data is populated with the name of the sample list file if it is left bank in the sample list that was used to run the samples.
or
- For both (1) and (2), re-acquire the samples on the instrument, using the correct Assay ID in the Job field and ensuring that there is at least one Analyte sample present.
4. Either re-create the TestDefinition file, or obtain a copy of the correct TargetLynxFields.xml from the other system.
ADDITIONAL INFORMATION
If the Job field is blank when the samples are acquired, the Job field in the data will be populated with whatever the sample list filename was when the data were acquired.
If the samples in the TargetLynx dataset contain two or more different Assay IDs, it will not be possible to upload the results in this .qld file. In this case, one option is to manually modify the Assay ID in the Job Code field in the Header.txt file in the raw data files that have the wrong assay ID, and then reprocess the raw data to get a new .qld file. This is a reasonable workaround as long as there are not too many data files that need changing.
Customers should be advised to modify their SOP so that before they run any samples on the instrument, the Job field is checked for all samples, to ensure that the correct Assay ID is specified.
The Job field should be added to all of the customer's sample list format files, to ensure that the Assay ID is always displayed.
id5488, MLYNX, MLYNXV41, SCN1017, SCN1035, SCN997, SUPMM