Error Exception while invoking plugin service 32: Bad file format

Hello,
I’m getting the following errors(in bold) in my log files when opening studies in any external viewer.Any idea whats causing this?

W0604 14:28:21.180579 main.cpp:1436] Orthanc version: 1.5.6
W0604 14:28:21.187580 OrthancConfiguration.cpp:113] Scanning folder “Configuration” for configuration files
W0604 14:28:21.191580 OrthancConfiguration.cpp:61] Reading the configuration from: “Configuration\dicomweb.json”
W0604 14:28:21.390591 OrthancConfiguration.cpp:61] Reading the configuration from: “Configuration\orthanc.json”
W0604 14:28:21.886620 main.cpp:700] Loading plugin(s) from: C:/PACS/Plugins/
W0604 14:28:22.810673 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 0.6)
W0604 14:28:22.812673 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/
W0604 14:28:22.813673 PluginsManager.cpp:168] URI to the WADO-URI API: /wado
W0604 14:28:23.024685 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2)
W0604 14:28:23.223696 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2)
W0604 14:28:23.224696 PluginsManager.cpp:168] The PostgreSQL storage area is currently disabled, set “EnableStorage” to “true” in the “PostgreSQL” section of the configuration file of Orthanc
W0604 14:28:23.473711 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.6)
W0604 14:28:23.473711 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 12 threads to transcode the tiles
W0604 14:28:23.474711 main.cpp:1224] Using a custom database from plugins
W0604 14:28:23.474711 OrthancInitialization.cpp:376] Storage directory: “D:\PACSIMAGEDATA”
W0604 14:28:23.995740 HttpClient.cpp:744] HTTPS will use the CA certificates from this file: Configuration
W0604 14:28:24.001741 LuaContext.cpp:103] Lua says: Lua toolbox installed
W0604 14:28:24.009741 LuaContext.cpp:103] Lua says: Lua toolbox installed
W0604 14:28:24.011741 ServerContext.cpp:316] Disk compression is disabled
W0604 14:28:24.011741 ServerIndex.cpp:1613] No limit on the number of stored patients
W0604 14:28:24.012741 ServerIndex.cpp:1630] No limit on the size of the storage area
W0604 14:28:24.021742 ServerContext.cpp:168] Reloading the jobs from the last execution of Orthanc
W0604 14:28:24.028742 JobsEngine.cpp:283] The jobs engine has started with 2 threads
W0604 14:28:24.047743 main.cpp:932] DICOM server listening with AET MED-PACS on port: 4242
W0604 14:28:24.047743 HttpServer.cpp:1155] HTTP compression is enabled
W0604 14:28:24.262756 HttpServer.cpp:1062] HTTP server listening on port: 8042 (HTTPS encryption is disabled, remote access is allowed)
W0604 14:28:24.262756 main.cpp:712] Orthanc has started
E0604 14:29:31.598607 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format
E0604 14:29:31.599607 PluginsErrorDictionary.cpp:111] Exception inside the plugin engine: Internal error

Hello Rana,

At first glance, this indeed looks like a bug in the Dicomweb 0.6 plugin.

Could you please supply us with the smallest (possibly anonymized) study that exhibits this issue and the exact steps taken, so that we may try to reproduce ?

Thanks in advance

Benjamin

Thank you for the reply.Please find anonmized study at following link >>> https://www.filehosting.org/file/details/804526/855351eb-d50603ea-1c55cf5f-4370ffd2-ba208563.rar

Rana

You study displays fine in the Osimis viewer.

Could you tell me exactly which viewer you are using, and if you are connecting with Dicom or DicomWeb

TIA

Can you tell me of a pric

Sorry. Previous message suffered an early send :slight_smile:

Your study is OK in Radiant, too (in DICOM) so I assume your problem must be in DicomWeb (which seems logical from the location of the crash)

Please also paste the Orthanc logs when running it with the --verbose flag.

TIA

logs attached as per instructions

Orthanc.log (50.3 KB)

Hello,

Thanks for reporting this issue and for providing associated instructions and sample files.

The following changeset (part of the Orthanc mainline) fixes your problem:
https://bitbucket.org/sjodogne/orthanc/commits/eb57b7cd5f2108375fc6f2895eeacf558c77c98e

Regards,
Sébastien-

Thanks. This fix will be Incorporated into the next release?

Yes, in Orthanc 1.5.7, for which we have no release date yet.

Ok. Thanks

Im testing the just released version 1.5.7 of Orthanc and the bug does not seem to be fixed. Can anyone confirm this?

Just checked, and the file you provided on 2019-06-05 works properly. Here is how I launch Orthanc:

$ sudo docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.5.7

And here is the call in your logs that was failing with “jodogne/orthanc-plugins:1.5.6”, but that now succeeds:

$ curl -u orthanc:orthanc http://localhost:8042/dicom-web/studies/1.2.840.113619.2.417.3.2831160577.500.1556879516.404/metadata

So your issue has been fixed. Make sure you upgraded Orthanc to 1.5.7, and DICOMweb plugin to 1.0.

Im using Orthanc 1.5.7 and DICOMweb plugin 1.0 for sure. Please see log file below:
`

W0630 14:11:15.597451 main.cpp:1442] Orthanc version: 1.5.7

W0630 14:11:15.599404 OrthancConfiguration.cpp:113] Scanning folder “Configuration” for configuration files

W0630 14:11:15.599404 OrthancConfiguration.cpp:61] Reading the configuration from: “Configuration\dicomweb.json”

W0630 14:11:15.599404 OrthancConfiguration.cpp:61] Reading the configuration from: “Configuration\orthanc.json”

W0630 14:11:15.827928 main.cpp:702] Loading plugin(s) from: C:/PACS/Plugins/

W0630 14:11:15.842577 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 1.0)

W0630 14:11:15.842577 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/

W0630 14:11:15.843554 PluginsManager.cpp:168] URI to the WADO-URI API: /wado

W0630 14:11:15.844530 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2)

W0630 14:11:15.845507 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2)

W0630 14:11:15.846484 PluginsManager.cpp:168] The PostgreSQL storage area is currently disabled, set “EnableStorage” to “true” in the “PostgreSQL” section of the configuration file of Orthanc

W0630 14:11:15.860156 PluginsManager.cpp:269] Registering plugin ‘osimis-web-viewer’ (version 1.2.0.0-0d4bfbd5)

W0630 14:11:15.860156 PluginsManager.cpp:168] Initializing the Web viewer

W0630 14:11:15.860156 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc

W0630 14:11:15.861133 main.cpp:1230] Using a custom database from plugins

W0630 14:11:15.861133 OrthancInitialization.cpp:376] Storage directory: “C:\PACSIMAGEDATA”

W0630 14:11:15.881641 HttpClient.cpp:1040] HTTPS will use the CA certificates from this file: Configuration

W0630 14:11:15.882618 LuaContext.cpp:104] Lua says: Lua toolbox installed

W0630 14:11:15.882618 LuaContext.cpp:104] Lua says: Lua toolbox installed

W0630 14:11:15.882618 ServerContext.cpp:316] Disk compression is disabled

W0630 14:11:15.882618 ServerIndex.cpp:1613] No limit on the number of stored patients

W0630 14:11:15.883594 ServerIndex.cpp:1630] No limit on the size of the storage area

W0630 14:11:15.883594 ServerContext.cpp:168] Reloading the jobs from the last execution of Orthanc

W0630 14:11:15.883594 JobsEngine.cpp:283] The jobs engine has started with 4 threads

W0630 14:11:15.884571 main.cpp:934] DICOM server listening with AET A-PACS on port: 4242

W0630 14:11:15.884571 HttpServer.cpp:1271] HTTP compression is enabled

W0630 14:11:15.887501 HttpServer.cpp:1178] HTTP server listening on port: 8042 (HTTPS encryption is disabled, remote access is allowed)

W0630 14:11:15.887501 main.cpp:714] Orthanc has started

E0630 14:11:32.761196 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.764125 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.766079 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.768032 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.769985 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.770962 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.772915 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.774868 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format

E0630 14:11:32.776821 PluginsManager.cpp:197] Exception while invoking plugin service 32: Bad file format
`

So, this is another issue.

As usual, share a minimal working example (sample DICOM data + logs in “–verbose” mode + call to the REST API to trigger the issue).

Please see attachments.

7ff3fca2-967e-4095-9617-cc39d401ea54.dcm (528 KB)

verbose log.txt (12.2 KB)

Hi Sébastien,
             Any update? Is any further info required from my end?

Do you allow me to have some holidays with my family?

If your company expects SLA (service-level agreement), buy service packs from Osimis.

Your DICOM file is invalid, as can be seen by using dciodvfy from dicom3tools (https://www.dclunie.com/dicom3tools/dciodvfy.html):

$ dciodvfy /tmp/7ff3fca2-967e-4095-9617-cc39d401ea54.dcm
[…]
Error - Value invalid for this VR - (0x0018,0x1149) IS Field of View Dimension(s) IS [0] = <271.659> - Character invalid for this VR = ‘.’ (0x2e)

Osimis viewer open the file and the study its from just fine. Doesn’t Osimis viewer use Dicomweb ?

No, it uses Orthanc’s REST API.

Future versions of the Web viewers will be compatible with DICOMweb.