Orthanc Server

Hello.

I hereby request help from you, I have an Orthanc server, when trying to install on another machine, with Windows Server 2016, it has instability.

Symptom: After a while without receiving any “Query” or “Retrieve” or “Verify” or “Store”, it simply stops responding. I am using Horos to use the protocols informed above. I remember that the WEB module works perfectly without problems to carry out the aforementioned commands.

For more information, the old version that i use and don’t have any problems and, it is installed with Windows 7.

Hello,

Please provide a minimal working example so that other people can reproduce your issue, please provide your configuration and logs in “–verbose” mode, and please specify the exact versions of Orthanc that work and the ones that don’t work:
https://book.orthanc-server.com/users/support.html

Regards,
Sébastien-

W0831 10:30:14.876577 main.cpp:1625] Orthanc version: 1.7.2
I0831 10:30:14.877582 main.cpp:1657] Architecture: 32-bit, little endian
W0831 10:30:14.878585 OrthancConfiguration.cpp:61] Reading the configuration from: “Configuration.json”
I0831 10:30:14.888120 Toolbox.cpp:1461] Setting up the ICU common data
I0831 10:30:15.562077 Toolbox.cpp:1440] Using locale: “” for case-insensitive comparison of strings
I0831 10:30:15.571566 FromDcmtkBridge.cpp:247] Using DCTMK version: 365
I0831 10:30:15.572071 FromDcmtkBridge.cpp:255] Loading the embedded dictionaries
I0831 10:30:15.761656 FromDcmtkBridge.cpp:267] Loading the embedded dictionary of private tags
I0831 10:30:15.848903 FromDcmtkBridge.cpp:2065] Registering JPEG Lossless codecs in DCMTK
I0831 10:30:15.848903 FromDcmtkBridge.cpp:2073] Registering JPEG codecs in DCMTK
I0831 10:30:15.848903 FromDcmtkBridge.cpp:2080] Registering RLE codecs in DCMTK
I0831 10:30:15.848903 Enumerations.cpp:2279] Default encoding for DICOM was changed to: Utf8
W0831 10:30:15.888012 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\ConnectivityChecks.dll
W0831 10:30:15.890014 PluginsManager.cpp:269] Registering plugin ‘connectivity-checks’ (version 1.7.2)
I0831 10:30:15.891016 OrthancPlugins.cpp:2009] Plugin has registered a REST callback with mutual exclusion on: /connectivity-checks/libs/(.)
I0831 10:30:15.891016 OrthancPlugins.cpp:2009] Plugin has registered a REST callback with mutual exclusion on: /connectivity-checks/app/(.
)
W0831 10:30:15.891016 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\ModalityWorklists.dll
W0831 10:30:15.893022 PluginsManager.cpp:269] Registering plugin ‘worklists’ (version 1.7.2)
W0831 10:30:15.893022 PluginsManager.cpp:168] Sample worklist plugin is initializing
W0831 10:30:15.899566 PluginsManager.cpp:168] The database of worklists will be read from folder: D:\Temp\CidDB\20\WorkLists
I0831 10:30:15.933029 OrthancPlugins.cpp:2064] Plugin has registered a callback to handle modality worklists
W0831 10:30:15.934013 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\OrthancPostgreSQLIndex.dll
W0831 10:30:15.942055 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2)
I0831 10:30:15.949053 OrthancPlugins.cpp:4578] Plugin has registered a custom database back-end
I0831 10:30:15.949053 OrthancPluginDatabase.cpp:288] The performance of the database index plugin is optimal for this version of Orthanc
W0831 10:30:15.949053 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\OrthancPostgreSQLStorage.dll
W0831 10:30:15.951054 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2)
I0831 10:30:16.075474 OrthancPlugins.cpp:4505] Plugin has registered a custom storage area
W0831 10:30:16.076477 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\OrthancGdcm.dll
W0831 10:30:16.133673 PluginsManager.cpp:269] Registering plugin ‘gdcm’ (version 1.0)
I0831 10:30:16.133673 PluginsManager.cpp:172] Initializing the decoder/transcoder of medical images using GDCM
W0831 10:30:16.136688 PluginsManager.cpp:168] Version of GDCM: 3.0.6
W0831 10:30:16.136688 PluginsManager.cpp:168] GDCM throttling is disabled
I0831 10:30:16.136688 OrthancPlugins.cpp:2118] Plugin has registered a callback to decode DICOM images (1 decoder(s) now active)
I0831 10:30:16.136688 OrthancPlugins.cpp:2131] Plugin has registered a callback to transcode DICOM images (1 transcoder(s) now active)
W0831 10:30:16.136688 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\OrthancAuthorization.dll
W0831 10:30:16.138694 PluginsManager.cpp:269] Registering plugin ‘authorization’ (version 0.2.3)
W0831 10:30:16.138694 PluginsManager.cpp:168] Initializing the authorization plugin
W0831 10:30:16.141691 PluginsManager.cpp:168] No section “Authorization” in the configuration file, the authorization plugin is disabled
W0831 10:30:16.141691 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\OrthancWSI.dll
W0831 10:30:16.143707 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.7)
W0831 10:30:16.143707 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 8 threads to transcode the tiles
I0831 10:30:16.144709 OrthancPlugins.cpp:2045] Plugin has registered an OnChange callback
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.css)
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.js)
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.html)
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.js)
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/pyramids/([0-9a-f-]+)
I0831 10:30:16.144709 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /wsi/tiles/([0-9a-f-]+)/([0-9-]+)/([0-9-]+)/([0-9-]+)
W0831 10:30:16.144709 main.cpp:802] Loading plugin(s) from: D:\Temp\Plugins\ServeFolders.dll
W0831 10:30:16.146681 PluginsManager.cpp:269] Registering plugin ‘serve-folders’ (version 1.7.2)
I0831 10:30:16.147684 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /app/plugin-serve-folders.html
I0831 10:30:16.152721 OrthancPlugins.cpp:2009] Plugin has registered a REST callback without mutual exclusion on: /(doc)/(.*)
W0831 10:30:16.152721 main.cpp:1405] Using a custom database from plugins
W0831 10:30:16.152721 main.cpp:1416] Using a custom storage area from plugins
W0831 10:30:16.273034 PluginsManager.cpp:168] Trying to enable trigram matching on the PostgreSQL database to speed up wildcard searches. This may take several minutes
W0831 10:30:26.109957 PluginsManager.cpp:168] Trigram index has been created
W0831 10:30:26.175163 HttpClient.cpp:1055] HTTPS will use the CA certificates from this file: C:\Certificates\Orthanc\Server\ca.crt
I0831 10:30:26.175163 HttpClient.cpp:499] Setting the default timeout for HTTP client connections: 60 seconds
I0831 10:30:26.175163 HttpClient.cpp:483] Setting the default proxy for HTTP client connections:
I0831 10:30:26.175163 DicomAssociationParameters.cpp:141] Default timeout for DICOM connections if Orthanc acts as SCU (client): 120 seconds (0 = no timeout)
I0831 10:30:26.177168 LuaJobManager.cpp:79] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0831 10:30:26.177168 ServerIndex.cpp:2086] Starting the monitor for stable resources (stable age = 60)
I0831 10:30:26.177168 LuaScripting.cpp:733] Initializing Lua for the event handler
W0831 10:30:26.177168 LuaContext.cpp:93] Lua says: Lua toolbox installed
I0831 10:30:26.177168 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\ihrf.lua
I0831 10:30:26.178171 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind1.lua
I0831 10:30:26.178171 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind2.lua
I0831 10:30:26.178171 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind3.lua
I0831 10:30:26.179174 LuaJobManager.cpp:79] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0831 10:30:26.179174 LuaScripting.cpp:733] Initializing Lua for the event handler
W0831 10:30:26.179174 LuaContext.cpp:93] Lua says: Lua toolbox installed
I0831 10:30:26.179174 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\ihrf.lua
I0831 10:30:26.179174 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind1.lua
I0831 10:30:26.180176 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind2.lua
I0831 10:30:26.180176 LuaScripting.cpp:925] Installing the Lua scripts from: D:\Temp\LuaScripts\fixbugfind3.lua
I0831 10:30:26.180176 ServerContext.cpp:319] Automated transcoding of incoming DICOM instances is disabled
I0831 10:30:26.180176 DcmtkTranscoder.cpp:66] Quality for lossy transcoding using DCMTK is set to: 100
W0831 10:30:26.181180 ServerContext.cpp:390] Disk compression is disabled
I0831 10:30:26.181180 ServerContext.cpp:824] Storing MD5 for attachments: yes
W0831 10:30:26.181180 ServerIndex.cpp:1636] No limit on the number of stored patients
W0831 10:30:26.181180 ServerIndex.cpp:1653] No limit on the size of the storage area
W0831 10:30:26.189203 ServerContext.cpp:191] Reloading the jobs from the last execution of Orthanc
I0831 10:30:26.207272 JobsRegistry.cpp:701] New job submitted with priority 0: 0de1d0a8-6777-4e80-8cad-da49a343a2a8
I0831 10:30:26.209276 JobsRegistry.cpp:701] New job submitted with priority 0: 3010c776-08cd-40b8-bc32-eb5078df3e65
I0831 10:30:26.213313 JobsRegistry.cpp:701] New job submitted with priority 0: 35c9f022-07ae-4b02-8703-3852a10d333c
I0831 10:30:26.214794 JobsRegistry.cpp:701] New job submitted with priority 0: 40d7cb85-64c7-47ca-901e-13b155349502
I0831 10:30:26.215295 JobsRegistry.cpp:701] New job submitted with priority 0: 449bda49-d03d-4ba1-ad46-ef635be40049
I0831 10:30:26.215820 JobsRegistry.cpp:701] New job submitted with priority 0: 552ef908-1135-4775-aeb7-3a7c4a7cb91d
I0831 10:30:26.217826 JobsRegistry.cpp:701] New job submitted with priority 0: 5b322769-bea6-46ba-878f-f9b95137fe15
I0831 10:30:26.218327 JobsRegistry.cpp:701] New job submitted with priority 0: 93fa4b54-3b8e-4e41-8964-48279efa4f79
I0831 10:30:26.218804 JobsRegistry.cpp:701] New job submitted with priority 0: 9d021f17-4959-4b72-8d4e-756a9aa40d81
I0831 10:30:26.219309 JobsRegistry.cpp:701] New job submitted with priority 0: bad872ac-05cd-495b-84af-af5645c4263b
I0831 10:30:26.219810 JobsRegistry.cpp:701] New job submitted with priority 0: bd10a8bc-d25b-4269-890e-7987d7add312
I0831 10:30:26.220833 JobsRegistry.cpp:701] New job submitted with priority 0: ebbc5309-6f65-4803-bf25-abc32a775119
I0831 10:30:26.237401 JobsRegistry.cpp:701] New job submitted with priority 0: ece3b534-a1c0-42f8-9e7d-d9333b695316
W0831 10:30:26.239386 JobsEngine.cpp:272] The jobs engine has started with 8 threads
I0831 10:30:26.239386 JobsEngine.cpp:125] Worker thread 4 has started
I0831 10:30:26.239386 DicomServer.cpp:116] Setting timeout for DICOM connections if Orthanc acts as SCP (server): 120 seconds (0 = no timeout)
I0831 10:30:26.239386 JobsEngine.cpp:125] Worker thread 1 has started
I0831 10:30:26.240389 JobsEngine.cpp:125] Worker thread 2 has started
I0831 10:30:26.240389 JobsEngine.cpp:125] Worker thread 3 has started
I0831 10:30:26.240389 JobsEngine.cpp:125] Worker thread 0 has started
W0831 10:30:26.240389 main.cpp:1109] DICOM server listening with AET CIDODS on port: 9790
I0831 10:30:26.240389 HttpServer.cpp:1078] This Orthanc server uses CivetWeb as its embedded HTTP server
I0831 10:30:26.240389 JobsEngine.cpp:125] Worker thread 5 has started
I0831 10:30:26.240389 HttpServer.cpp:1349] The embedded HTTP server will use 50 threads
I0831 10:30:26.241389 HttpServer.cpp:1265] HTTP keep alive is enabled
W0831 10:30:26.241389 HttpServer.cpp:1298] HTTP compression is enabled
I0831 10:30:26.241389 HttpServer.cpp:1357] TCP_NODELAY for the HTTP sockets is set to true
I0831 10:30:26.241389 JobsEngine.cpp:125] Worker thread 6 has started
I0831 10:30:26.241389 HttpServer.cpp:1372] Request timeout in the HTTP server is set to 60 seconds
W0831 10:30:26.241389 main.cpp:948] Remote access is allowed but “AuthenticationEnabled” is not in the configuration, automatically enabling HTTP authentication for security
W0831 10:30:26.241389 main.cpp:1011] Remote LUA script execution is disabled
I0831 10:30:26.241389 JobsEngine.cpp:125] Worker thread 7 has started
I0831 10:30:26.241389 HttpServer.cpp:1110] Starting embedded Web server using Civetweb
I0831 10:30:26.243395 DicomServer.cpp:51] DICOM server started
W0831 10:30:26.245405 HttpServer.cpp:1205] HTTP server listening on port: 9791 (HTTPS encryption is disabled, remote access is allowed)
W0831 10:30:26.246408 main.cpp:814] Orthanc has started
I0831 10:30:26.246408 LuaScripting.cpp:792] Starting the Lua engine

I am using a 64 bits version. The Postgree user is super user. I don’t have another Orthanc Servers using this database. It’s only one server in one machine. Ignore the scrips and firewall. The bug is present before i create this four lua scripts, and the firewall is “disabled”.

Sometimes, when i try to Echo to the node, it’s fail, but if i try again, it work.

“1CIDRM” :

{
“AET” : “SIEMESRM”,
“Port” : 104,
“Host” : “172.27.50.1”,
“AllowEcho” : true,
“AllowFind” : false,
“AllowGet” : false,
“AllowMove” : false,
“AllowStore” : true,
“AllowStorageCommitment” : false,
“AllowTranscoding” : true
},

The machine is OK in configuration to allow Query and Retrieve and Store.
The same problem happen while i try to query and retrieve, after the second try, it work normally, and i can get all studys that is present in machine. Only C-Store protocol is bugged with this machine and this host.
The AET check, and Host is true.

More logs:

I0831 10:33:58.425349 DicomAssociation.cpp:249] Opening a DICOM SCU connection from AET “CIDODS” to AET " SIEMESRM " on host 172.27.50.1:104 (manufacturer: Generic)
E0831 10:34:17.363687 OrthancException.h:76] Error in the network protocol: DicomAssociation - connecting to AET " SIEMESRM ": Peer aborted Association (or never connected)
I0831 10:34:57.365576 HttpServer.cpp:813] POST /modalities/1CIDRM/echo
I0831 10:34:57.365576 DicomAssociation.cpp:249] Opening a DICOM SCU connection from AET “CIDODS” to AET " SIEMESRM " on host 172.27.50.1:104 (manufacturer: Generic)
I0831 10:44:05.927412 HttpServer.cpp:813] POST /modalities/1CIDRM/echo
I0831 10:44:05.928419 DicomAssociation.cpp:249] Opening a DICOM SCU connection from AET “CIDODS” to AET " SIEMESRM " on host 172.27.50.1:104 (manufacturer: Generic)
E0831 10:44:24.832193 OrthancException.h:76] Error in the network protocol: DicomAssociation - connecting to AET " SIEMESRM ": Peer aborted Association (or never connected)
I0831 10:44:28.315148 HttpServer.cpp:813] POST /modalities/1CIDRM/echo
I0831 10:44:28.316156 DicomAssociation.cpp:249] Opening a DICOM SCU connection from AET “CIDODS” to AET " SIEMESRM " on host 172.27.50.1:104 (manufacturer: Generic)

Hello,

The following lines indicate that it is the remote Siemens modality that has aborted the connection:

I0831 10:44:05.928419 DicomAssociation.cpp:249] Opening a DICOM SCU connection from AET “CIDODS” to AET " SIEMESRM " on host 172.27.50.1:104 (manufacturer: Generic)
E0831 10:44:24.832193 OrthancException.h:76] Error in the network protocol: DicomAssociation - connecting to AET " SIEMESRM ": Peer aborted Association (or never connected)

Have a look at the logs of your remote Siemens modality. This might also indicate a problem with your Intranet: Get in touch with your network administrator.

Finally, if the problem is really between Orthanc and Siemens, have a look at the following FAQ:
https://book.orthanc-server.com/faq/proprietary.html

Summarizing, get in touch with your Siemens support team, as they can investigate Orthanc because it’s free and open-source software, which we can’t do with proprietary Siemens ecosystems.

Regards,
Sébastien-