Segmentation Fault 11

Hi,

i am trying to start arthanc server with ssl enabled and i am getting segmentation fault.

cdps-iMac:~ cdp$ /Users/cdp/Desktop/orthancAndPluginsOSX.stable/startOrthanc.command ; exit;

W0830 16:01:50.014735 main.cpp:1297] Orthanc version: 1.3.1

W0830 16:01:50.035914 OrthancInitialization.cpp:114] Reading the configuration from: “configOSX.json”

I0830 16:01:50.038053 Toolbox.cpp:1271] Using locale: “en_US.UTF-8” for case-insensitive comparison of strings

I0830 16:01:50.038623 Enumerations.cpp:1707] Default encoding for DICOM was changed to: Latin1

I0830 16:01:50.041256 FromDcmtkBridge.cpp:191] Using DCTMK version: 362

W0830 16:01:50.042076 FromDcmtkBridge.cpp:199] Loading the embedded dictionaries

I0830 16:01:50.061609 FromDcmtkBridge.cpp:211] Loading the embedded dictionary of private tags

W0830 16:01:50.071800 FromDcmtkBridge.cpp:2075] Registering JPEG Lossless codecs in DCMTK

W0830 16:01:50.071822 FromDcmtkBridge.cpp:2080] Registering JPEG codecs in DCMTK

W0830 16:01:50.081483 main.cpp:670] Loading plugin(s) from: libOsimisWebViewer.dylib

W0830 16:01:50.186473 PluginsManager.cpp:269] Registering plugin ‘osimis-web-viewer’ (version 1.0.1.1-cafbfc1)

W0830 16:01:50.191463 PluginsManager.cpp:168] Initializing the Web viewer

T0830 16:01:50.191490 OrthancPlugins.cpp:2865] Calling service 7 from plugin libOsimisWebViewer.dylib

T0830 16:01:50.191567 OrthancPlugins.cpp:2865] Calling service 13 from plugin libOsimisWebViewer.dylib

W0830 16:01:50.191907 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc

T0830 16:01:50.191920 OrthancPlugins.cpp:2865] Calling service 1006 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.191963 OrthancPlugins.cpp:1111] Plugin has registered a callback to decode DICOM images (1 decoder(s) now active)

T0830 16:01:50.191977 OrthancPlugins.cpp:2865] Calling service 1004 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.192004 OrthancPlugins.cpp:1013] Plugin has registered a REST callback witout mutual exclusion on: /osimis-viewer/images/?(.*)

T0830 16:01:50.193761 OrthancPlugins.cpp:2865] Calling service 1004 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.193783 OrthancPlugins.cpp:1013] Plugin has registered a REST callback witout mutual exclusion on: /osimis-viewer/series/?(.*)

T0830 16:01:50.193800 OrthancPlugins.cpp:2865] Calling service 1004 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.193814 OrthancPlugins.cpp:1013] Plugin has registered a REST callback witout mutual exclusion on: /osimis-viewer/config.js?(.*)

T0830 16:01:50.193829 OrthancPlugins.cpp:2865] Calling service 1004 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.193842 OrthancPlugins.cpp:1013] Plugin has registered a REST callback witout mutual exclusion on: /osimis-viewer/studies/?(.*)

T0830 16:01:50.193871 OrthancPlugins.cpp:2865] Calling service 1004 from plugin libOsimisWebViewer.dylib

I0830 16:01:50.193884 OrthancPlugins.cpp:1013] Plugin has registered a REST callback witout mutual exclusion on: /osimis-viewer/app/(.*)

T0830 16:01:50.193915 OrthancPlugins.cpp:2865] Calling service 7 from plugin libOsimisWebViewer.dylib

W0830 16:01:50.193936 OrthancInitialization.cpp:998] SQLite index directory: “OrthancStorage”

T0830 16:01:50.211280 Connection.cpp:157] SQLite::Connection::Execute PRAGMA FOREIGN_KEYS=ON;

T0830 16:01:50.211321 Connection.cpp:157] SQLite::Connection::Execute PRAGMA RECURSIVE_TRIGGERS=ON;

W0830 16:01:50.211338 OrthancInitialization.cpp:1068] Storage directory: “OrthancStorage”

T0830 16:01:50.211387 Connection.cpp:157] SQLite::Connection::Execute PRAGMA ENCODING=“UTF-8”;

T0830 16:01:50.211424 Connection.cpp:157] SQLite::Connection::Execute PRAGMA SYNCHRONOUS=NORMAL;

T0830 16:01:50.226765 Connection.cpp:157] SQLite::Connection::Execute PRAGMA JOURNAL_MODE=WAL;

T0830 16:01:50.226916 Connection.cpp:157] SQLite::Connection::Execute PRAGMA LOCKING_MODE=EXCLUSIVE;

T0830 16:01:50.226938 Connection.cpp:157] SQLite::Connection::Execute PRAGMA WAL_AUTOCHECKPOINT=1000;

T0830 16:01:50.226984 Statement.cpp:144] SQLite::Statement::Step SELECT name FROM sqlite_master WHERE type=? AND name=?

T0830 16:01:50.227063 Statement.cpp:144] SQLite::Statement::Step SELECT value FROM GlobalProperties WHERE property=?

I0830 16:01:50.234004 DatabaseWrapper.cpp:307] Version of the Orthanc database: 6

W0830 16:01:50.234067 HttpClient.cpp:686] HTTPS will use the CA certificates from this file: /tmp/myca/cacert.pem

I0830 16:01:50.234080 HttpClient.cpp:152] Setting the default timeout for HTTP client connections: 10 seconds

I0830 16:01:50.234097 HttpClient.cpp:136] Setting the default proxy for HTTP client connections:

I0830 16:01:50.234106 DicomUserConnection.cpp:1216] Default timeout for DICOM connections if Orthanc acts as SCU (client): 10 seconds (0 = no timeout)

T0830 16:01:50.234154 Statement.cpp:135] SQLite::Statement::Run SELECT SUM(compressedSize) FROM AttachedFiles

T0830 16:01:50.234628 Statement.cpp:135] SQLite::Statement::Run BEGIN TRANSACTION

T0830 16:01:50.235300 Statement.cpp:135] SQLite::Statement::Run COMMIT

T0830 16:01:50.235476 Statement.cpp:144] SQLite::Statement::Step SELECT value FROM GlobalProperties WHERE property=?

I0830 16:01:50.235630 ServerIndex.cpp:1888] Starting the monitor for stable resources (stable age = 60)

I0830 16:01:50.235764 ServerIndex.cpp:365] Starting the database flushing thread (sleep = 10)

W0830 16:01:50.235968 ServerScheduler.cpp:135] The server scheduler has started

W0830 16:01:50.239597 LuaContext.cpp:103] Lua says: Lua toolbox installed

W0830 16:01:50.239667 ServerContext.cpp:182] Disk compression is disabled

I0830 16:01:50.239696 ServerContext.cpp:530] Storing MD5 for attachments: yes

W0830 16:01:50.239739 ServerIndex.cpp:1403] No limit on the number of stored patients

T0830 16:01:50.239754 Statement.cpp:135] SQLite::Statement::Run BEGIN TRANSACTION

T0830 16:01:50.239767 Statement.cpp:135] SQLite::Statement::Run COMMIT

W0830 16:01:50.239793 ServerIndex.cpp:1420] No limit on the size of the storage area

T0830 16:01:50.239816 Statement.cpp:135] SQLite::Statement::Run BEGIN TRANSACTION

T0830 16:01:50.239839 Statement.cpp:135] SQLite::Statement::Run COMMIT

I0830 16:01:50.241084 DicomServer.cpp:125] Setting timeout for DICOM connections if Orthanc acts as SCP (server): 30 seconds (0 = no timeout)

W0830 16:01:50.242208 main.cpp:862] DICOM server listening with AET ORTHANC on port: 4242

I0830 16:01:50.242287 DicomServer.cpp:62] DICOM server started

I0830 16:01:50.242336 MongooseServer.cpp:1049] HTTP keep alive is disabled

W0830 16:01:50.242353 MongooseServer.cpp:1075] HTTP compression is enabled

I0830 16:01:50.242367 MongooseServer.cpp:948] Starting embedded Web server using Mongoose

/Users/cdp/Desktop/orthancAndPluginsOSX.stable/startOrthanc.command: line 3: 523 Segmentation fault: 11 ./Orthanc configOSX.json --trace

logout

Saving session…

…copying shared history…

…saving history…truncating history files…

…completed.

here is my config file…

{

/**

  • General configuration of Orthanc

**/

// The logical name of this instance of Orthanc. This one is

// displayed in Orthanc Explorer and at the URI “/system”.

“Name” : “MyOrthanc”,

// Path to the directory that holds the heavyweight files

// (i.e. the raw DICOM instances)

“StorageDirectory” : “OrthancStorage”,

// Path to the directory that holds the SQLite index (if unset,

// the value of StorageDirectory is used). This index could be

// stored on a RAM-drive or a SSD device for performance reasons.

“IndexDirectory” : “OrthancStorage”,

// Enable the transparent compression of the DICOM instances

“StorageCompression” : false,

// Maximum size of the storage in MB (a value of “0” indicates no

// limit on the storage size)

“MaximumStorageSize” : 0,

// Maximum number of patients that can be stored at a given time

// in the storage (a value of “0” indicates no limit on the number

// of patients)

“MaximumPatientCount” : 0,

// List of paths to the custom Lua scripts that are to be loaded

// into this instance of Orthanc

“LuaScripts” : [

],

// List of paths to the plugins that are to be loaded into this

// instance of Orthanc (e.g. “./libPluginTest.so” for Linux, or

// “./PluginTest.dll” for Windows). These paths can refer to

// folders, in which case they will be scanned non-recursively to

// find shared libraries.

“Plugins” : [

“libOsimisWebViewer.dylib”

],

/**

  • Configuration of the HTTP server

**/

// Enable the HTTP server. If this parameter is set to “false”,

// Orthanc acts as a pure DICOM server. The REST API and Orthanc

// Explorer will not be available.

“HttpServerEnabled” : true,

// HTTP port for the REST services and for the GUI

“HttpPort” : 8042,

// When the following option is “true”, if an error is encountered

// while calling the REST API, a JSON message describing the error

// is put in the HTTP answer. This feature can be disabled if the

// HTTP client does not properly handles such answers.

“HttpDescribeErrors” : true,

// Enable HTTP compression to improve network bandwidth utilization,

// at the expense of more computations on the server. Orthanc

// supports the “gzip” and “deflate” HTTP encodings.

“HttpCompressionEnabled” : true,

/**

  • Configuration of the DICOM server

**/

// Enable the DICOM server. If this parameter is set to “false”,

// Orthanc acts as a pure REST server. It will not be possible to

// receive files or to do query/retrieve through the DICOM protocol.

“DicomServerEnabled” : true,

// The DICOM Application Entity Title

“DicomAet” : “ORTHANC”,

// Check whether the called AET corresponds during a DICOM request

“DicomCheckCalledAet” : false,

// The DICOM port

“DicomPort” : 4242,

// The default encoding that is assumed for DICOM files without

// “SpecificCharacterSet” DICOM tag. The allowed values are “Ascii”,

// “Utf8”, “Latin1”, “Latin2”, “Latin3”, “Latin4”, “Latin5”,

// “Cyrillic”, “Windows1251”, “Arabic”, “Greek”, “Hebrew”, “Thai”,

// “Japanese”, and “Chinese”.

“DefaultEncoding” : “Latin1”,

// The transfer syntaxes that are accepted by Orthanc C-Store SCP

“DeflatedTransferSyntaxAccepted” : true,

“JpegTransferSyntaxAccepted” : true,

“Jpeg2000TransferSyntaxAccepted” : true,

“JpegLosslessTransferSyntaxAccepted” : true,

“JpipTransferSyntaxAccepted” : true,

“Mpeg2TransferSyntaxAccepted” : true,

“RleTransferSyntaxAccepted” : true,

// Whether Orthanc accepts to act as C-Store SCP for unknown storage

// SOP classes (aka. “promiscuous mode”)

“UnknownSopClassAccepted” : false,

/**

  • Security-related options for the HTTP server

**/

// Whether remote hosts can connect to the HTTP server

“RemoteAccessAllowed” : true,

// Whether or not SSL is enabled

“SslEnabled” : true,

// Path to the SSL certificate (meaningful only if SSL is enabled)

“SslCertificate” : “/tmp/myca/cacert.pem”,

// Whether or not the password protection is enabled

“AuthenticationEnabled” : false,

// The list of the registered users. Because Orthanc uses HTTP

// Basic Authentication, the passwords are stored as plain text.

“RegisteredUsers” : {

// “alice” : “alicePassword”

},

/**

  • Network topology

**/

// The list of the known DICOM modalities

“DicomModalities” : {

/**

  • Uncommenting the following line would enable Orthanc to

  • connect to an instance of the “storescp” open-source DICOM

  • store (shipped in the DCMTK distribution) started by the

  • command line “storescp 2000”.

**/

// “sample” : [ “STORESCP”, “localhost”, 2000 ]

/**

  • A fourth parameter is available to enable patches for a

  • specific PACS manufacturer. The allowed values are currently

  • “Generic” (default value), “StoreScp” (storescp tool from

  • DCMTK), “ClearCanvas”, “MedInria”, “Dcm4Chee”, “SyngoVia”,

  • “AgfaImpax” (Agfa IMPAX), “EFilm2” (eFilm version 2), and

  • “Vitrea”. This parameter is case-sensitive.

**/

// “clearcanvas” : [ “CLEARCANVAS”, “192.168.1.1”, 104, “ClearCanvas” ]

},

// The list of the known Orthanc peers

“OrthancPeers” : {

/**

  • Each line gives the base URL of an Orthanc peer, possibly

  • followed by the username/password pair (if the password

  • protection is enabled on the peer).

**/

// “peer” : [ “http://localhost:8043/”, “alice”, “alicePassword” ]

// “peer2” : [ “http://localhost:8044/” ]

},

// Parameters of the HTTP proxy to be used by Orthanc. If set to the

// empty string, no HTTP proxy is used. For instance:

// “HttpProxy” : “192.168.0.1:3128”

// “HttpProxy” : “proxyUser:proxyPassword@192.168.0.1:3128”

“HttpProxy” : “”,

// Set the timeout for HTTP requests issued by Orthanc (in seconds).

“HttpTimeout” : 10,

// Enable the verification of the peers during HTTPS requests.

// Reference: http://curl.haxx.se/docs/sslcerts.html

“HttpsVerifyPeers” : true,

// Path to the CA (certification authority) certificates to validate

// peers in HTTPS requests. From curl documentation (“–cacert”

// option): "Tells curl to use the specified certificate file to

// verify the peers. The file may contain multiple CA

// certificates. The certificate(s) must be in PEM format."

“HttpsCACertificates” : “/tmp/myca/cacert.pem”,

/**

  • Advanced options

**/

// Dictionary of symbolic names for the user-defined metadata. Each

// entry must map an unique string to an unique number between 1024

// and 65535.

“UserMetadata” : {

// “Sample” : 1024

},

// Dictionary of symbolic names for the user-defined types of

// attached files. Each entry must map an unique string to an unique

// number between 1024 and 65535. Optionally, a second argument can

// provided to specify a MIME content type for the attachment.

“UserContentType” : {

// “sample” : 1024

// “sample2” : [ 1025, “application/pdf” ]

},

// Number of seconds without receiving any instance before a

// patient, a study or a series is considered as stable.

“StableAge” : 60,

// By default, Orthanc compares AET (Application Entity Titles) in a

// case-insensitive way. Setting this option to “true” will enable

// case-sensitive matching.

“StrictAetComparison” : false,

// When the following option is “true”, the MD5 of the DICOM files

// will be computed and stored in the Orthanc database. This

// information can be used to detect disk corruption, at the price

// of a small performance overhead.

“StoreMD5ForAttachments” : true,

// The maximum number of results for a single C-FIND request at the

// Patient, Study or Series level. Setting this option to “0” means

// no limit.

“LimitFindResults” : 0,

// The maximum number of results for a single C-FIND request at the

// Instance level. Setting this option to “0” means no limit.

“LimitFindInstances” : 0,

// The maximum number of active jobs in the Orthanc scheduler. When

// this limit is reached, the addition of new jobs is blocked until

// some job finishes.

“LimitJobs” : 10,

// If this option is set to “false”, Orthanc will not log the

// resources that are exported to other DICOM modalities of Orthanc

// peers in the URI “/exports”. This is useful to prevent the index

// to grow indefinitely in auto-routing tasks.

“LogExportedResources” : true,

// Enable or disable HTTP Keep-Alive (deprecated). Set this option

// to “true” only in the case of high HTTP loads.

“KeepAlive” : false,

// If this option is set to “false”, Orthanc will run in index-only

// mode. The DICOM files will not be stored on the drive. Note that

// this option might prevent the upgrade to newer versions of Orthanc.

“StoreDicom” : true,

// DICOM associations are kept open as long as new DICOM commands

// are issued. This option sets the number of seconds of inactivity

// to wait before automatically closing a DICOM association. If set

// to 0, the connection is closed immediately.

“DicomAssociationCloseDelay” : 5,

// Maximum number of query/retrieve DICOM requests that are

// maintained by Orthanc. The least recently used requests get

// deleted as new requests are issued.

“QueryRetrieveSize” : 10,

// When handling a C-Find SCP request, setting this flag to “true”

// will enable case-sensitive match for PN value representation

// (such as PatientName). By default, the search is

// case-insensitive, which does not follow the DICOM standard.

“CaseSensitivePN” : false,

// Register a new tag in the dictionary of DICOM tags that are known

// to Orthanc. Each line must contain the tag (formatted as 2

// hexadecimal numbers), the value representation (2 upcase

// characters), a nickname for the tag, possibly the minimum

// multiplicity (> 0 with defaults to 1), and possibly the maximum

// multiplicity (0 means arbitrary multiplicity, defaults to 1).

“Dictionary” : {

// “0014,1020” : [ “DA”, “ValidationExpiryDate”, 1, 1 ]

}

}

if i try without ssl enabled its working fine. Any idea what could be wrong?

Thanks,
Yogesh

I think I’ve already seen such a crash when the certificates was not in valid format (I know we should display a nice warning instead of crashing).

Can you give it a try with a certificate generated with these instructions: http://book.orthanc-server.com/faq/https.html

THIS!. spent a few hours going over everything, over every single config file in orthanc. if not for this old post i would never have found the answer. even to this day the only clue is the segmentation fault msg. yes making a new certificate will solve it, but without the warning the user has no clue how to fix it. a TRY…CATCH would be appreciated.

We could certainly add a “try…catch”, but this task would require you to provide us with a minimal working example (configuration file + certificates) in order for us to be able to independently reproduce your issue:
https://book.orthanc-server.com/users/support.html#discussing-a-minimal-working-example

Hi, new install in ubuntu 20.04.
It worked fine just installed, then I changed the conf file to enable ssl without providing a valid cert. BOOM, not fine. nothing complicated.
in fact this installation is in a brand new server, no users beyond a single developer, not even external network access. after the change to enable ssl in the conf files from false to true(““SslEnabled” : false,”), save the file in nano restart the service with systemctl, and the service certainly restarts, but it neither monitors port 8042, nor port 4242. so the service is up but it does nothing due to the segmentation fault occuring before the httpserver finishes loading. just change that back to false and it works fine.

example:

{W0302 11:15:27.779963 main.cpp:1524] Orthanc version: 1.5.8
W0302 11:15:27.783888 OrthancConfiguration.cpp:113] Scanning folder “/etc/orthanc/” for configuration files W0302 11:15:27.794110 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/serve-folders.json” W0302 11:15:27.823434 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/postgresql.json” W0302 11:15:27.834024 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/orthanc.json” W0302 11:15:27.839817 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/webviewer.json” W0302 11:15:27.847613 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/dicomweb.json” W0302 11:15:27.856836 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/worklists.json” W0302 11:15:27.958344 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/dicom.dic” W0302 11:15:27.964606 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/private.dic” W0302 11:15:27.999990 main.cpp:703] Loading plugin(s) from: /usr/share/orthanc/plugins/ W0302 11:15:28.009764 PluginsManager.cpp:269] Registering plugin ‘serve-folders’ (version 1.5.8) W0302 11:15:28.010223 PluginsManager.cpp:168] ServeFolders: Empty configuration file: No additional folder will be served! W0302 11:15:28.039076 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2) W0302 11:15:28.489584 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2) W0302 11:15:28.493936 PluginsManager.cpp:269] Registering plugin ‘worklists’ (version 1.5.8) W0302 11:15:28.494003 PluginsManager.cpp:168] Sample worklist plugin is initializing W0302 11:15:28.494712 PluginsManager.cpp:168] Worklist server is disabled by the configuration file W0302 11:15:28.656308 PluginsManager.cpp:269] Registering plugin ‘web-viewer’ (version 2.5) W0302 11:15:28.656342 PluginsManager.cpp:168] Initializing the Web viewer W0302 11:15:28.656581 PluginsManager.cpp:168] Web viewer using 2 threads for the decoding of the DICOM images W0302 11:15:28.660983 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: /var/lib/orthanc/db-v6/WebViewerCache W0302 11:15:28.727966 PluginsManager.cpp:168] Web viewer using a cache of 100 MB W0302 11:15:28.728038 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc W0302 11:15:28.757084 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.6) W0302 11:15:28.757186 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 4 threads to transcode the tiles W0302 11:15:28.788885 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 1.0) W0302 11:15:28.791664 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/ W0302 11:15:28.793338 PluginsManager.cpp:168] URI to the WADO-URI API: /wado W0302 11:15:28.793442 main.cpp:1304] Using a custom database from plugins W0302 11:15:28.793461 main.cpp:1315] Using a custom storage area from plugins W0302 11:15:28.861278 PluginsManager.cpp:168] Trying to enable trigram matching on the PostgreSQL database to speed up wildcard searches. This may take several minutes E0302 11:15:28.929922 PluginsManager.cpp:164] PostgreSQL error: ERROR: permission denied to create extension “pg_trgm” HINT: Must be superuser to create this extension. W0302 11:15:28.941350 PluginsManager.cpp:168] Performance warning: Your PostgreSQL server does not support trigram matching W0302 11:15:28.941417 PluginsManager.cpp:168] → Consider installing the “pg_trgm” extension on the PostgreSQL server, e.g. on Debian: sudo apt install postgresql-contrib W0302 11:15:28.941446 PluginsManager.cpp:168] PostgreSQL: An active PostgreSQL transaction was dismissed W0302 11:15:28.959844 HttpClient.cpp:1045] HTTPS will use the CA certificates from this file: /etc/orthanc/ W0302 11:15:28.970728 LuaContext.cpp:104] Lua says: Lua toolbox installed W0302 11:15:28.971427 LuaContext.cpp:104] Lua says: Lua toolbox installed W0302 11:15:28.971586 ServerContext.cpp:318] Disk compression is disabled W0302 11:15:28.971654 ServerIndex.cpp:1613] No limit on the number of stored patients W0302 11:15:28.972516 ServerIndex.cpp:1630] No limit on the size of the storage area W0302 11:15:28.974350 JobsEngine.cpp:283] The jobs engine has started with 2 threads
W0302 11:15:28.983267 main.cpp:1008] DICOM server listening with AET ORTHANC on port: 4242
W0302 11:15:28.983364 HttpServer.cpp:1248] You should disable HTTP keep alive, as you are using Mongoose
W0302 11:15:28.983383 HttpServer.cpp:1276] HTTP compression is enabled
W0302 11:15:28.983406 main.cpp:849] Remote access is allowed but “AuthenticationEnabled” is not in the configuration, automatically enabling HTTP authentication for security
W0302 11:15:28.983438 main.cpp:912] Remote LUA script execution is disabled}

before the change
(ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 50 0.0.0.0:4242 0.0.0.0:*
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 244 127.0.0.1:5432 0.0.0.0:*
LISTEN 0 128 0.0.0.0:8042 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 511 *:80 :

sudo systemctl status orthanc.service
● orthanc.service - LSB: Orthanc init script
Loaded: loaded (/etc/init.d/orthanc; generated)
Active: active (running) since Wed 2021-03-03 08:06:39 CST; 6h ago
Docs: man:systemd-sysv-generator(8)
Process: 1230 ExecStart=/etc/init.d/orthanc start (code=exited, status=0/SUCCESS)
Tasks: 68 (limit: 47855)
Memory: 200.8M
CGroup: /system.slice/orthanc.service
└─1240 /usr/sbin/Orthanc --logdir=/var/log/orthanc /etc/orthanc/

Mar 03 08:06:39 imeprov01pacs systemd[1]: Starting LSB: Orthanc init script…
Mar 03 08:06:39 imeprov01pacs systemd[1]: Started LSB: Orthanc init script.

)
after the change
( ss -ntl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.53%lo:53 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 244 127.0.0.1:5432 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 511 *:80 :

sudo systemctl status orthanc.service
● orthanc.service - LSB: Orthanc init script
Loaded: loaded (/etc/init.d/orthanc; generated)
Active: active (exited) since Wed 2021-03-03 14:08:47 CST; 2min 19s ago
Docs: man:systemd-sysv-generator(8)
Process: 3830 ExecStart=/etc/init.d/orthanc start (code=exited, status=0/SUCCESS)

Mar 03 14:08:47 imeprov01pacs systemd[1]: Starting LSB: Orthanc init script…
Mar 03 14:08:47 imeprov01pacs systemd[1]: Started LSB: Orthanc init script.

)

Hello,

I’m still unable to reproduce your issue (note that you have not provided your configuration file and your incorrect certificate). Here is what I tried:

$ wget https://lsb.orthanc-server.com/orthanc/1.9.1/Orthanc

$ chmod +x ./Orthanc
$ cat < configuration.json

{
“SslEnabled”: true,
“SslCertificate”: “certificate.pem”
}

EOF
$ echo “Hello world, this is an invalid certificate” > certificate.pem
$$ ./Orthanc ./configuration.json
W0304 10:26:05.302163 main.cpp:1846] Orthanc version: 1.9.1
W0304 10:26:05.302313 OrthancConfiguration.cpp:65] Reading the configuration from: “./configuration.json”
W0304 10:26:05.466999 OrthancInitialization.cpp:329] SQLite index directory: “./OrthancStorage”
W0304 10:26:05.467096 OrthancInitialization.cpp:425] Storage directory: “./OrthancStorage”
W0304 10:26:05.467355 HttpClient.cpp:1132] HTTPS will use the CA certificates from this file: .
W0304 10:26:05.467626 LuaContext.cpp:93] Lua says: Lua toolbox installed
W0304 10:26:05.467775 LuaContext.cpp:93] Lua says: Lua toolbox installed
W0304 10:26:05.467941 ServerContext.cpp:478] Disk compression is disabled
W0304 10:26:05.467947 ServerIndex.cpp:1659] No limit on the number of stored patients
W0304 10:26:05.467952 ServerIndex.cpp:1676] No limit on the size of the storage area
W0304 10:26:05.468247 ServerContext.cpp:220] Reloading the jobs from the last execution of Orthanc
W0304 10:26:05.468303 JobsEngine.cpp:271] The jobs engine has started with 2 threads
W0304 10:26:05.468525 main.cpp:1194] DICOM server listening with AET ORTHANC on port: 4242
W0304 10:26:05.468556 HttpServer.cpp:1982] HTTP compression is enabled
W0304 10:26:05.468566 main.cpp:1073] Remote LUA script execution is disabled
E0304 10:26:05.469016 HttpServer.cpp:1735] OpenSSL error: error:140AD009:SSL routines:SSL_CTX_use_certificate_file:PEM lib
W0304 10:26:06.469878 main.cpp:1210] DICOM server has stopped
E0304 10:26:06.470093 ServerContext.cpp:431] INTERNAL ERROR: ServerContext::Stop() should be invoked manually to avoid mess in the destruction order!
W0304 10:26:06.669348 JobsEngine.cpp:312] The jobs engine has stopped
E0304 10:26:06.971939 main.cpp:1903] Uncaught exception, stopping now: [Cannot initialize SSL encryption, check out your certificates] (code 39)
W0304 10:26:06.971961 main.cpp:1934] Orthanc has stopped

=> I get no segmentation fault, and an explicit error message about “Check out your certificates”.

Sébastien-

ahhh ok what we have here is my fault, mostly due to a failure to communicate properly and provide the files. the installation is brand new ubuntu 20.04, orthanc was installed with the standard apt-get install orthanc( the newest version (1.5.8+dfsg-2ubuntu6)), meaning a vanilla install, being a newbie I DID NOT provide a certificate. meaning NO valid certificate until I generated a valid one. orthanc.json is the file that works with the install, just anonymized the passwords. .json.save is the file that causes the seg fault. the only difference is (“SslEnabled” : true,)i will now append the logs that show the seg fault in verbose mode and trace mode, although both seems the same to me. seeing your code, it might be an already addressed bug as I’m running 1.5.8 and you 1.9.1.

anyway thanks for the help!

Verbose(

{
sudo -u orthanc /usr/sbin/Orthanc --verbose /etc/orthanc/
W0304 09:15:44.995037 main.cpp:1524] Orthanc version: 1.5.8
W0304 09:15:44.995929 OrthancConfiguration.cpp:113] Scanning folder “/etc/orthanc/” for configuration files
W0304 09:15:44.996012 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/serve-folders.json”
W0304 09:15:44.996198 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/postgresql.json”
W0304 09:15:44.996349 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/orthanc.json”
W0304 09:15:44.996735 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/webviewer.json”
W0304 09:15:44.996843 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/dicomweb.json”
W0304 09:15:44.996948 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/worklists.json”
I0304 09:15:44.997042 Toolbox.cpp:1450] Using locale: “en_US.UTF-8” for case-insensitive comparison of strings
I0304 09:15:44.997113 Enumerations.cpp:2253] Default encoding for DICOM was changed to: Latin1
I0304 09:15:44.997268 FromDcmtkBridge.cpp:233] Using DCTMK version: 364
W0304 09:15:45.008489 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/dicom.dic”
W0304 09:15:45.014995 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/private.dic”
I0304 09:15:45.019230 FromDcmtkBridge.cpp:2175] Registering JPEG Lossless codecs in DCMTK
I0304 09:15:45.019238 FromDcmtkBridge.cpp:2180] Registering JPEG codecs in DCMTK
W0304 09:15:45.024162 main.cpp:703] Loading plugin(s) from: /usr/share/orthanc/plugins/
I0304 09:15:45.024174 PluginsManager.cpp:288] Scanning folder /usr/share/orthanc/plugins/ for plugins
I0304 09:15:45.024191 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libServeFolders.so”
W0304 09:15:45.024409 PluginsManager.cpp:269] Registering plugin ‘serve-folders’ (version 1.5.8)
I0304 09:15:45.024430 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /app/plugin-serve-folders.html
W0304 09:15:45.024573 PluginsManager.cpp:168] ServeFolders: Empty configuration file: No additional folder will be served!
I0304 09:15:45.024585 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so”
W0304 09:15:45.025149 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2)
I0304 09:15:45.028244 OrthancPlugins.cpp:3887] Plugin has registered a custom storage area
I0304 09:15:45.028318 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so”
W0304 09:15:45.028833 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2)
I0304 09:15:45.029055 OrthancPlugins.cpp:3960] Plugin has registered a custom database back-end
I0304 09:15:45.029062 OrthancPluginDatabase.cpp:288] The performance of the database index plugin is optimal for this version of Orthanc
I0304 09:15:45.029102 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libModalityWorklists.so”
W0304 09:15:45.029349 PluginsManager.cpp:269] Registering plugin ‘worklists’ (version 1.5.8)
W0304 09:15:45.029374 PluginsManager.cpp:168] Sample worklist plugin is initializing
W0304 09:15:45.029557 PluginsManager.cpp:168] Worklist server is disabled by the configuration file
I0304 09:15:45.029587 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancWebViewer.so”
W0304 09:15:45.038879 PluginsManager.cpp:269] Registering plugin ‘web-viewer’ (version 2.5)
W0304 09:15:45.038912 PluginsManager.cpp:168] Initializing the Web viewer
W0304 09:15:45.039056 PluginsManager.cpp:168] Web viewer using 2 threads for the decoding of the DICOM images
W0304 09:15:45.039063 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: /var/lib/orthanc/db-v6/WebViewerCache
I0304 09:15:45.039569 PluginsManager.cpp:172] No change in the versions, no need to clear the cache of the Web viewer
W0304 09:15:45.039668 PluginsManager.cpp:168] Web viewer using a cache of 100 MB
W0304 09:15:45.039675 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc
I0304 09:15:45.039680 OrthancPlugins.cpp:1816] Plugin has registered a callback to decode DICOM images (1 decoder(s) now active)
I0304 09:15:45.039701 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/series/(.)
I0304 09:15:45.039715 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/is-stable-series/(.
)
I0304 09:15:45.039741 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/instances/(.)
I0304 09:15:45.039767 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/libs/(.
)
I0304 09:15:45.039775 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/app/(.)
I0304 09:15:45.039782 OrthancPlugins.cpp:1743] Plugin has registered an OnChange callback
I0304 09:15:45.039824 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancWSI.so”
W0304 09:15:45.040205 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.6)
W0304 09:15:45.040235 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 4 threads to transcode the tiles
I0304 09:15:45.040260 OrthancPlugins.cpp:1743] Plugin has registered an OnChange callback
I0304 09:15:45.040266 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.css)
I0304 09:15:45.040274 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.js)
I0304 09:15:45.040295 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.html)
I0304 09:15:45.040302 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.js)
I0304 09:15:45.040309 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/pyramids/([0-9a-f-]+)
I0304 09:15:45.040338 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/tiles/([0-9a-f-]+)/([0-9-]+)/([0-9-]+)/([0-9-]+)
I0304 09:15:45.040361 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancDicomWeb.so”
W0304 09:15:45.040719 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 1.0)
W0304 09:15:45.040986 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/
I0304 09:15:45.040993 OrthancPlugins.cpp:1721] Plugin has registered a REST callback for chunked streams on: /dicom-web/studies
I0304 09:15:45.041015 OrthancPlugins.cpp:1721] Plugin has registered a REST callback for chunked streams on: /dicom-web/studies/([^/]
)
I0304 09:15:45.041055 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/instances
I0304 09:15:45.041079 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/series
I0304 09:15:45.041100 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/instances
I0304 09:15:45.041129 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/metadata
I0304 09:15:45.041152 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series
I0304 09:15:45.041176 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])
I0304 09:15:45.041186 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances
I0304 09:15:45.041209 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])
I0304 09:15:45.041233 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/bulk/(.)
I0304 09:15:45.041260 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/metadata
I0304 09:15:45.041289 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/metadata
I0304 09:15:45.041328 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])/frames
I0304 09:15:45.041345 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/frames/([^/])
I0304 09:15:45.041373 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers
I0304 09:15:45.041397 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])
I0304 09:15:45.041409 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/stow
I0304 09:15:45.041420 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/wado
I0304 09:15:45.041432 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/get
I0304 09:15:45.041444 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/retrieve
I0304 09:15:45.041456 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/qido
I0304 09:15:45.041468 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/delete
I0304 09:15:45.041482 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/app/libs/(.
)
I0304 09:15:45.041493 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/info
I0304 09:15:45.041503 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/rendered
I0304 09:15:45.041519 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])/frames/([^/])/rendered
I0304 09:15:45.041541 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/app/client/(.
)
W0304 09:15:45.041615 PluginsManager.cpp:168] URI to the WADO-URI API: /wado
I0304 09:15:45.041622 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wado
W0304 09:15:45.041653 main.cpp:1304] Using a custom database from plugins
W0304 09:15:45.041658 main.cpp:1315] Using a custom storage area from plugins
W0304 09:15:45.044805 PluginsManager.cpp:168] Trying to enable trigram matching on the PostgreSQL database to speed up wildcard searches. This may take several minutes
E0304 09:15:45.045217 PluginsManager.cpp:164] PostgreSQL error: ERROR: permission denied to create extension “pg_trgm”
HINT: Must be superuser to create this extension.

W0304 09:15:45.045310 PluginsManager.cpp:168] Performance warning: Your PostgreSQL server does not support trigram matching
W0304 09:15:45.045316 PluginsManager.cpp:168] → Consider installing the “pg_trgm” extension on the PostgreSQL server, e.g. on Debian: sudo apt install postgresql-contrib
W0304 09:15:45.045322 PluginsManager.cpp:168] PostgreSQL: An active PostgreSQL transaction was dismissed
W0304 09:15:45.046284 HttpClient.cpp:1045] HTTPS will use the CA certificates from this file: /etc/orthanc/
I0304 09:15:45.046312 HttpClient.cpp:489] Setting the default timeout for HTTP client connections: 60 seconds
I0304 09:15:45.046320 HttpClient.cpp:473] Setting the default proxy for HTTP client connections:
I0304 09:15:45.046325 DicomUserConnection.cpp:1353] Default timeout for DICOM connections if Orthanc acts as SCU (client): 10 seconds (0 = no timeout)
I0304 09:15:45.046481 ServerIndex.cpp:2069] Starting the monitor for stable resources (stable age = 60)
I0304 09:15:45.046564 LuaJobManager.cpp:76] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0304 09:15:45.046577 LuaScripting.cpp:625] Initializing Lua for the event handler
W0304 09:15:45.046673 LuaContext.cpp:104] Lua says: Lua toolbox installed
I0304 09:15:45.046735 LuaJobManager.cpp:76] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0304 09:15:45.046743 LuaScripting.cpp:625] Initializing Lua for the event handler
W0304 09:15:45.046817 LuaContext.cpp:104] Lua says: Lua toolbox installed
W0304 09:15:45.046851 ServerContext.cpp:318] Disk compression is disabled
I0304 09:15:45.046857 ServerContext.cpp:678] Storing MD5 for attachments: yes
W0304 09:15:45.046865 ServerIndex.cpp:1613] No limit on the number of stored patients
W0304 09:15:45.046977 ServerIndex.cpp:1630] No limit on the size of the storage area
W0304 09:15:45.047330 ServerContext.cpp:168] Reloading the jobs from the last execution of Orthanc
W0304 09:15:45.047388 JobsEngine.cpp:283] The jobs engine has started with 2 threads
I0304 09:15:45.047388 JobsEngine.cpp:136] Worker thread 0 has started
I0304 09:15:45.047422 DicomServer.cpp:125] Setting timeout for DICOM connections if Orthanc acts as SCP (server): 30 seconds (0 = no timeout)
I0304 09:15:45.047504 JobsEngine.cpp:136] Worker thread 1 has started
W0304 09:15:45.047583 main.cpp:1008] DICOM server listening with AET ORTHANC on port: 4242
I0304 09:15:45.047589 DicomServer.cpp:62] DICOM server started
I0304 09:15:45.047609 HttpServer.cpp:1079] This Orthanc server uses Mongoose as its embedded HTTP server
I0304 09:15:45.047620 HttpServer.cpp:1327] The embedded HTTP server will use 50 threads
I0304 09:15:45.047628 HttpServer.cpp:1243] HTTP keep alive is enabled
W0304 09:15:45.047635 HttpServer.cpp:1248] You should disable HTTP keep alive, as you are using Mongoose
W0304 09:15:45.047641 HttpServer.cpp:1276] HTTP compression is enabled
I0304 09:15:45.047647 HttpServer.cpp:1335] TCP_NODELAY for the HTTP sockets is set to true
I0304 09:15:45.047654 HttpServer.cpp:1350] Request timeout in the HTTP server is set to 30 seconds
W0304 09:15:45.047662 main.cpp:849] Remote access is allowed but “AuthenticationEnabled” is not in the configuration, automatically enabling HTTP authentication for security
W0304 09:15:45.047673 main.cpp:912] Remote LUA script execution is disabled
I0304 09:15:45.047679 HttpServer.cpp:1113] Starting embedded Web server using Mongoose
Segmentation fault
}

)

trace
(
{
sudo -u orthanc /usr/sbin/Orthanc --trace /etc/orthanc/

W0304 09:36:46.579973 main.cpp:1524] Orthanc version: 1.5.8

W0304 09:36:46.580812 OrthancConfiguration.cpp:113] Scanning folder “/etc/orthanc/” for configuration files
W0304 09:36:46.580890 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/serve-folders.json”
W0304 09:36:46.581112 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/postgresql.json”
W0304 09:36:46.581299 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/orthanc.json”
W0304 09:36:46.581714 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/webviewer.json”
W0304 09:36:46.581841 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/dicomweb.json”
W0304 09:36:46.581945 OrthancConfiguration.cpp:61] Reading the configuration from: “/etc/orthanc/worklists.json”
I0304 09:36:46.582104 Toolbox.cpp:1450] Using locale: “en_US.UTF-8” for case-insensitive comparison of strings
I0304 09:36:46.582181 Enumerations.cpp:2253] Default encoding for DICOM was changed to: Latin1
I0304 09:36:46.582344 FromDcmtkBridge.cpp:233] Using DCTMK version: 364
W0304 09:36:46.593620 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/dicom.dic”
W0304 09:36:46.600138 FromDcmtkBridge.cpp:284] Loading external DICOM dictionary: “/usr/share/libdcmtk14/private.dic”
I0304 09:36:46.604393 FromDcmtkBridge.cpp:2175] Registering JPEG Lossless codecs in DCMTK
I0304 09:36:46.604405 FromDcmtkBridge.cpp:2180] Registering JPEG codecs in DCMTK
W0304 09:36:46.609486 main.cpp:703] Loading plugin(s) from: /usr/share/orthanc/plugins/
I0304 09:36:46.609500 PluginsManager.cpp:288] Scanning folder /usr/share/orthanc/plugins/ for plugins
I0304 09:36:46.609518 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libServeFolders.so”
W0304 09:36:46.609785 PluginsManager.cpp:269] Registering plugin ‘serve-folders’ (version 1.5.8)
T0304 09:36:46.609802 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libServeFolders.so
T0304 09:36:46.609810 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libServeFolders.so
T0304 09:36:46.609816 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libServeFolders.so
I0304 09:36:46.609822 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /app/plugin-serve-folders.html
T0304 09:36:46.609835 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libServeFolders.so
T0304 09:36:46.609956 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libServeFolders.so
W0304 09:36:46.610028 PluginsManager.cpp:168] ServeFolders: Empty configuration file: No additional folder will be served!
I0304 09:36:46.610039 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so”
W0304 09:36:46.610577 PluginsManager.cpp:269] Registering plugin ‘postgresql-storage’ (version 3.2)
T0304 09:36:46.610597 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so
T0304 09:36:46.610604 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so
T0304 09:36:46.610676 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so
T0304 09:36:46.613303 OrthancPlugins.cpp:4043] Calling service 1002 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLStorage.so
I0304 09:36:46.613319 OrthancPlugins.cpp:3887] Plugin has registered a custom storage area
I0304 09:36:46.613364 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so”
W0304 09:36:46.613802 PluginsManager.cpp:269] Registering plugin ‘postgresql-index’ (version 3.2)
T0304 09:36:46.613835 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
T0304 09:36:46.613860 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
T0304 09:36:46.613986 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
T0304 09:36:46.614116 OrthancPlugins.cpp:4043] Calling service 5002 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
I0304 09:36:46.614138 OrthancPlugins.cpp:3960] Plugin has registered a custom database back-end
I0304 09:36:46.614142 OrthancPluginDatabase.cpp:288] The performance of the database index plugin is optimal for this version of Orthanc
I0304 09:36:46.614170 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libModalityWorklists.so”
W0304 09:36:46.614418 PluginsManager.cpp:269] Registering plugin ‘worklists’ (version 1.5.8)
W0304 09:36:46.614446 PluginsManager.cpp:168] Sample worklist plugin is initializing
T0304 09:36:46.614451 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libModalityWorklists.so
T0304 09:36:46.614462 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libModalityWorklists.so
T0304 09:36:46.614547 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libModalityWorklists.so
W0304 09:36:46.614655 PluginsManager.cpp:168] Worklist server is disabled by the configuration file
I0304 09:36:46.614697 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancWebViewer.so”
W0304 09:36:46.624047 PluginsManager.cpp:269] Registering plugin ‘web-viewer’ (version 2.5)
W0304 09:36:46.624078 PluginsManager.cpp:168] Initializing the Web viewer
T0304 09:36:46.624083 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
T0304 09:36:46.624151 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
W0304 09:36:46.624332 PluginsManager.cpp:168] Web viewer using 2 threads for the decoding of the DICOM images
W0304 09:36:46.624337 PluginsManager.cpp:168] Storing the cache of the Web viewer in folder: /var/lib/orthanc/db-v6/WebViewerCache
I0304 09:36:46.624833 PluginsManager.cpp:172] No change in the versions, no need to clear the cache of the Web viewer
W0304 09:36:46.624933 PluginsManager.cpp:168] Web viewer using a cache of 100 MB
W0304 09:36:46.624941 PluginsManager.cpp:168] Using GDCM instead of the DICOM decoder that is built in Orthanc
T0304 09:36:46.624957 OrthancPlugins.cpp:4043] Calling service 1006 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.624963 OrthancPlugins.cpp:1816] Plugin has registered a callback to decode DICOM images (1 decoder(s) now active)
T0304 09:36:46.624995 OrthancPlugins.cpp:4043] Calling service 1000 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625002 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/series/(.)
T0304 09:36:46.625033 OrthancPlugins.cpp:4043] Calling service 1000 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625039 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/is-stable-series/(.
)
T0304 09:36:46.625059 OrthancPlugins.cpp:4043] Calling service 1000 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625064 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/instances/(.)
T0304 09:36:46.625072 OrthancPlugins.cpp:4043] Calling service 1000 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625097 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/libs/(.
)
T0304 09:36:46.625119 OrthancPlugins.cpp:4043] Calling service 1000 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625127 OrthancPlugins.cpp:1707] Plugin has registered a REST callback with mutual exclusion on: /web-viewer/app/(.)
T0304 09:36:46.625153 OrthancPlugins.cpp:4043] Calling service 1003 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625162 OrthancPlugins.cpp:1743] Plugin has registered an OnChange callback
T0304 09:36:46.625183 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancWebViewer.so
I0304 09:36:46.625216 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancWSI.so”
W0304 09:36:46.625524 PluginsManager.cpp:269] Registering plugin ‘wsi’ (version 0.6)
W0304 09:36:46.625551 PluginsManager.cpp:168] The whole-slide imaging plugin will use at most 4 threads to transcode the tiles
T0304 09:36:46.625559 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
T0304 09:36:46.625582 OrthancPlugins.cpp:4043] Calling service 1003 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625603 OrthancPlugins.cpp:1743] Plugin has registered an OnChange callback
T0304 09:36:46.625609 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625618 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.css)
T0304 09:36:46.625630 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625641 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(ol.js)
T0304 09:36:46.625653 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625662 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.html)
T0304 09:36:46.625672 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625682 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/app/(viewer.js)
T0304 09:36:46.625692 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625703 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/pyramids/([0-9a-f-]+)
T0304 09:36:46.625716 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625725 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wsi/tiles/([0-9a-f-]+)/([0-9-]+)/([0-9-]+)/([0-9-]+)
T0304 09:36:46.625742 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancWSI.so
I0304 09:36:46.625758 PluginsManager.cpp:311] Found a shared library: “/usr/share/orthanc/plugins/libOrthancDicomWeb.so”
W0304 09:36:46.626122 PluginsManager.cpp:269] Registering plugin ‘dicom-web’ (version 1.0)
T0304 09:36:46.626153 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
T0304 09:36:46.626161 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
T0304 09:36:46.626292 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
T0304 09:36:46.626420 OrthancPlugins.cpp:4043] Calling service 13 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
W0304 09:36:46.626548 PluginsManager.cpp:168] URI to the DICOMweb REST API: /dicom-web/
T0304 09:36:46.626554 OrthancPlugins.cpp:4043] Calling service 1012 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626574 OrthancPlugins.cpp:1721] Plugin has registered a REST callback for chunked streams on: /dicom-web/studies
T0304 09:36:46.626597 OrthancPlugins.cpp:4043] Calling service 1012 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626621 OrthancPlugins.cpp:1721] Plugin has registered a REST callback for chunked streams on: /dicom-web/studies/([^/]
)
T0304 09:36:46.626645 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626666 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/instances
T0304 09:36:46.626688 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626711 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/series
T0304 09:36:46.626723 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626732 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/instances
T0304 09:36:46.626757 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626765 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/metadata
T0304 09:36:46.626791 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626797 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series
T0304 09:36:46.626809 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626818 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])
T0304 09:36:46.626842 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626851 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances
T0304 09:36:46.626878 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626888 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])
T0304 09:36:46.626900 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626910 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/bulk/(.)
T0304 09:36:46.626924 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626933 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/metadata
T0304 09:36:46.626948 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626957 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/metadata
T0304 09:36:46.626969 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.626978 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])/frames
T0304 09:36:46.626993 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627003 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/frames/([^/])
T0304 09:36:46.627018 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627027 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers
T0304 09:36:46.627051 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627073 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])
T0304 09:36:46.627081 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627090 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/stow
T0304 09:36:46.627102 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627112 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/wado
T0304 09:36:46.627123 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627132 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/get
T0304 09:36:46.627144 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627153 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/retrieve
T0304 09:36:46.627166 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627176 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/]
)/qido
T0304 09:36:46.627187 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627197 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/servers/([^/])/delete
T0304 09:36:46.627209 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627218 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/app/libs/(.
)
T0304 09:36:46.627230 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627240 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/info
T0304 09:36:46.627249 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627259 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/])/series/([^/])/instances/([^/])/rendered
T0304 09:36:46.627274 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627284 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/studies/([^/]
)/series/([^/])/instances/([^/])/frames/([^/])/rendered
T0304 09:36:46.627304 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627314 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /dicom-web/app/client/(.
)
T0304 09:36:46.627383 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
T0304 09:36:46.627412 OrthancPlugins.cpp:4043] Calling service 7 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
W0304 09:36:46.627420 PluginsManager.cpp:168] URI to the WADO-URI API: /wado
T0304 09:36:46.627425 OrthancPlugins.cpp:4043] Calling service 1004 from plugin /usr/share/orthanc/plugins/libOrthancDicomWeb.so
I0304 09:36:46.627434 OrthancPlugins.cpp:1707] Plugin has registered a REST callback without mutual exclusion on: /wado
W0304 09:36:46.627464 main.cpp:1304] Using a custom database from plugins
W0304 09:36:46.627484 main.cpp:1315] Using a custom storage area from plugins
W0304 09:36:46.630671 PluginsManager.cpp:168] Trying to enable trigram matching on the PostgreSQL database to speed up wildcard searches. This may take several minutes
E0304 09:36:46.631129 PluginsManager.cpp:164] PostgreSQL error: ERROR: permission denied to create extension “pg_trgm”
HINT: Must be superuser to create this extension.

W0304 09:36:46.631219 PluginsManager.cpp:168] Performance warning: Your PostgreSQL server does not support trigram matching
W0304 09:36:46.631227 PluginsManager.cpp:168] → Consider installing the “pg_trgm” extension on the PostgreSQL server, e.g. on Debian: sudo apt install postgresql-contrib
W0304 09:36:46.631248 PluginsManager.cpp:168] PostgreSQL: An active PostgreSQL transaction was dismissed
T0304 09:36:46.631898 OrthancPlugins.cpp:4043] Calling service 5001 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
W0304 09:36:46.632030 HttpClient.cpp:1045] HTTPS will use the CA certificates from this file: /etc/orthanc/
I0304 09:36:46.632054 HttpClient.cpp:489] Setting the default timeout for HTTP client connections: 60 seconds
I0304 09:36:46.632075 HttpClient.cpp:473] Setting the default proxy for HTTP client connections:
I0304 09:36:46.632094 DicomUserConnection.cpp:1353] Default timeout for DICOM connections if Orthanc acts as SCU (client): 10 seconds (0 = no timeout)
I0304 09:36:46.632235 ServerIndex.cpp:2069] Starting the monitor for stable resources (stable age = 60)
I0304 09:36:46.632337 LuaJobManager.cpp:76] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0304 09:36:46.632363 LuaScripting.cpp:625] Initializing Lua for the event handler
W0304 09:36:46.632455 LuaContext.cpp:104] Lua says: Lua toolbox installed
I0304 09:36:46.632534 LuaJobManager.cpp:76] Lua: DICOM associations will be closed after 5 seconds of inactivity
I0304 09:36:46.632558 LuaScripting.cpp:625] Initializing Lua for the event handler
W0304 09:36:46.632646 LuaContext.cpp:104] Lua says: Lua toolbox installed
W0304 09:36:46.632690 ServerContext.cpp:318] Disk compression is disabled
I0304 09:36:46.632710 ServerContext.cpp:678] Storing MD5 for attachments: yes
W0304 09:36:46.632715 ServerIndex.cpp:1613] No limit on the number of stored patients
W0304 09:36:46.632817 ServerIndex.cpp:1630] No limit on the size of the storage area
T0304 09:36:46.633038 OrthancPlugins.cpp:4043] Calling service 5001 from plugin /usr/share/orthanc/plugins/libOrthancPostgreSQLIndex.so
W0304 09:36:46.633063 ServerContext.cpp:168] Reloading the jobs from the last execution of Orthanc
W0304 09:36:46.633124 JobsEngine.cpp:283] The jobs engine has started with 2 threads
I0304 09:36:46.633125 JobsEngine.cpp:136] Worker thread 0 has started
I0304 09:36:46.633158 JobsEngine.cpp:136] Worker thread 1 has started
I0304 09:36:46.633175 DicomServer.cpp:125] Setting timeout for DICOM connections if Orthanc acts as SCP (server): 30 seconds (0 = no timeout)
W0304 09:36:46.633301 main.cpp:1008] DICOM server listening with AET ORTHANC on port: 4242
I0304 09:36:46.633309 DicomServer.cpp:62] DICOM server started
I0304 09:36:46.633325 HttpServer.cpp:1079] This Orthanc server uses Mongoose as its embedded HTTP server
I0304 09:36:46.633332 HttpServer.cpp:1327] The embedded HTTP server will use 50 threads
I0304 09:36:46.633342 HttpServer.cpp:1243] HTTP keep alive is enabled
W0304 09:36:46.633349 HttpServer.cpp:1248] You should disable HTTP keep alive, as you are using Mongoose
W0304 09:36:46.633354 HttpServer.cpp:1276] HTTP compression is enabled
I0304 09:36:46.633362 HttpServer.cpp:1335] TCP_NODELAY for the HTTP sockets is set to true
I0304 09:36:46.633369 HttpServer.cpp:1350] Request timeout in the HTTP server is set to 30 seconds
W0304 09:36:46.633378 main.cpp:849] Remote access is allowed but “AuthenticationEnabled” is not in the configuration, automatically enabling HTTP authentication for security
W0304 09:36:46.633388 main.cpp:912] Remote LUA script execution is disabled
I0304 09:36:46.633394 HttpServer.cpp:1113] Starting embedded Web server using Mongoose
Segmentation fault
}
)

Im sorry I keep trying to post and it keeps deleting the msg

lets try again

orthancconffiles.7z (7.46 KB)

The configuration file you provided doesn’t make Orthanc 1.5.8 crash on my machine:

$ ~/Releases/Orthanc-1.5.8/Build/Orthanc orthanc.json.save.txt
W0304 17:13:57.973433 main.cpp:1524] Orthanc version: 1.5.8
W0304 17:13:57.973549 main.cpp:1359] Performance warning: Non-release build, runtime debug assertions are turned on
W0304 17:13:57.975367 OrthancConfiguration.cpp:61] Reading the configuration from: “orthanc.json.save.txt”
[…]
W0304 17:13:58.113223 main.cpp:1024] DICOM server has stopped

E0304 17:13:58.113526 ServerContext.cpp:271] INTERNAL ERROR: ServerContext::Stop() should be invoked manually to avoid mess in the destruction order!
W0304 17:13:58.412808 JobsEngine.cpp:324] The jobs engine has stopped
E0304 17:13:58.516502 main.cpp:1550] Uncaught exception, stopping now: [The TCP port of the HTTP server is privileged or already in use] (code 2003)
W0304 17:13:58.516780 main.cpp:1583] Orthanc has stopped

The error message is surprising, but no crash. So, this is visibly a problem specific to the Ubuntu 20.04 package.

In either case, as you noticed, Orthanc 1.5.8 is outdated (it was released in October 2019), and the handling of certificates was greatly improved since that release. Here is the behavior of Orthanc 1.9.1 (released in February 2021) on your configuration:

$ ~/Releases/Orthanc-1.9.1/Build/Orthanc orthanc.json.save.txt
W0304 17:20:23.720266 main.cpp:1846] Orthanc version: 1.9.1
W0304 17:20:23.720388 main.cpp:1585] Performance warning: Non-release build, runtime debug assertions are turned on
W0304 17:20:23.720614 OrthancConfiguration.cpp:65] Reading the configuration from: “orthanc.json.save.txt”
[…]
E0304 17:20:23.759034 HttpServer.cpp:1735] OpenSSL error: error:20074002:BIO routines:file_ctrl:system lib

E0304 17:20:23.759050 HttpServer.cpp:1735] OpenSSL error: error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system lib
W0304 17:20:24.759714 main.cpp:1210] DICOM server has stopped
E0304 17:20:24.760092 ServerContext.cpp:431] INTERNAL ERROR: ServerContext::Stop() should be invoked manually to avoid mess in the destruction order!
W0304 17:20:24.959149 JobsEngine.cpp:312] The jobs engine has stopped
E0304 17:20:25.262140 main.cpp:1903] Uncaught exception, stopping now: [Cannot initialize SSL encryption, check out your certificates] (code 39)
W0304 17:20:25.262245 main.cpp:1934] Orthanc has stopped

I cannot provide any further help.

Sébastien-

Ahh ok no problem, I already have a valid certificate and orthanc does work now. My first post was made Just as I found the thread. I then made a valid certificate and moved on, but to provide logs for the discussion I went back and removed my valid certificate. I Just hope that if and when someone has the same error happpen to them they can find this answer faster and avoid frustration at least until the ubuntu package for 20.04 is updated and this error no longer happens.

1 Like

Thanks for your contribution!

1 Like