annotate Sphinx/source/faq/troubleshooting.rst @ 108:e3be44c1d041

added startup troubleshooting
author amazy
date Thu, 20 Jul 2017 07:34:37 +0200
parents 83c0a6556e6c
children b14e88dc1a9c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _troubleshooting:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 Troubleshooting
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 ===============
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
6 As a general rule, when you encounter an issue, always make sure that
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
7 you use the `most recent version
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
8 <http://www.orthanc-server.com/download.php>`__ of Orthanc.
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
9
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
10 Also make a search on the `Orthanc Users discussion group
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
11 <https://groups.google.com/forum/#!forum/orthanc-users>`__, and make a
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
12 search in the present Orthanc Book (there is a search field at the top
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
13 of this page). Your issue might indeed have already been discussed in
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
14 the past or in the FAQ.
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
15
108
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
16 Startup
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
17 -------
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
18 * If **Orthanc fails to start** with the error "**The TCP port of the DICOM
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
19 server is privileged or already in use**", this means another software is
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
20 already using the port Orthanc is trying to use. Usually, this means
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
21 that an other instance of Orthanc is running. However, note that, by default,
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
22 Orthanc uses port 4242 which might also be used by other software like
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
23 a `Juniper VPN client <https://www.file.net/process/dsncservice.exe.html>`__.
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
24 To determine which other process is using the port:
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
25
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
26 On Windows, you may use the `Resource Monitor <https://en.wikipedia.org/wiki/Resource_Monitor>`__.
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
27 In the `Network` tab, check the `Listening Ports`.
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
28
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
29 On Linux, you may use this command line: ``sudo ss --tcp --listen --numeric --processes``.
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
30
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
31 Starting with version 1.3.0, the check at Orthanc startup is more robust
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
32 (it also checks for UDP socket using the same port) and Orthanc 1.3.0 might
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
33 display error messages that where not displayed by previous versions.
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
34
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
35 Orthanc Explorer
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
36 ----------------
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
37
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 * **I cannot login to Orthanc Explorer**: For security reasons, access
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 to Orthanc from remote hosts is disabled by default. Only the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 localhost is allowed to access Orthanc. You have to set the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 ``RemoteAccessAllowed`` option in the :ref:`configuration file
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 <configuration>` to ``true``. It is then strongly advised to set
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 ``AuthenticationEnabled`` to ``true`` and to add a user to the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 ``RegisteredUsers`` option, also in the configuration file.
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
45
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
46
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
47 Performance issues
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
48 ------------------
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
49
41
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
50 * **Run-time debug assertions**: If performance is important to you,
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
51 make sure to add the option ``-DCMAKE_BUILD_TYPE=Release`` when
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
52 invoking ``cmake`` while :ref:`compiling Orthanc
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
53 <compiling>`. Indeed, by default, `run-time debug assertions
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
54 <https://en.wikipedia.org/wiki/Assertion_(software_development)#Assertions_for_run-time_checking>`_
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
55 are enabled, which can seriously impact performance, especially if
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
56 your Orthanc server stores a lot of DICOM instances.
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
57
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
58 Note that the `official Docker images
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
59 <https://github.com/jodogne/OrthancDocker>`__ of Orthanc <= 1.0.0
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
60 were not compiled in ``Release`` mode. As a consequence, to improve
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
61 performance, make sure to use either the mainline version of the
43
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 42
diff changeset
62 container (run ``docker pull jodogne/orthanc`` to ensure you use the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 42
diff changeset
63 most recent version of the mainline), or versions more recent than
72
83c0a6556e6c Orthanc 1.2.0
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 55
diff changeset
64 ``jodogne/orthanc:1.2.0``.
41
1c8aaaea72b2 runtime assertions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 18
diff changeset
65
44
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
66 * **Orthanc slows down if storing many files**: The default database
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
67 engine that is built in Orthanc is `SQLite
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
68 <https://www.sqlite.org/>`__. As SQLite is above all a lightweight
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
69 database engine, it is not designed to `store very large datasets
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
70 <https://www.sqlite.org/whentouse.html>`__. If you are sure that you
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
71 have properly disabled run-time debug assertions (cf. above), but
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
72 still experience degradation in performance over time, you should
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
73 seriously consider switching to a more scalable database engine. To
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
74 this end, you can notably check out the :ref:`official PostgreSQL
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
75 plugin <postgresql>`.
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
76
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
77 As a rule of thumb, the performance of the default SQLite engine
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
78 built in Orthanc should run fine up to about 50,000 DICOM instances.
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
79
23d5a5a84287 performance
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 43
diff changeset
80
18
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
81 * **Orthanc Explorer is slow under Windows on the localhost**:
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
82
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
83 - Favor ``127.0.0.1`` instead of ``localhost`` when specifying the
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
84 network address of a server. Users have reported that this minor
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
85 change `can massively improve performance
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
86 <https://groups.google.com/d/msg/orthanc-users/tTe28zR0nGk/Lvs0STJLAgAJ>`__
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
87 on Windows. Starting with Orthanc 1.0.1, the samples from the
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
88 source distribution have been adapted in this way.
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
89
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
90 - As an alternative, you can disable IPv6 support. This is a
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
91 Windows-specific problem that is discussed `here
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
92 <http://superuser.com/questions/43823/google-chrome-is-slow-to-localhost>`__
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
93 and `here
dabe6df0267f localhost
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 16
diff changeset
94 <http://stackoverflow.com/questions/1726585/firefox-and-chrome-slow-on-localhost-known-fix-doesnt-work-on-windows-7>`__.
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
95
42
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
96 * If you experience **slow DICOM transfers under GNU/Linux**, please
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
97 read the `following bug report
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
98 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785400>`__. This
42
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
99 issue does *not* affect all the versions of GNU/Linux. A patch to
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
100 this issue is shipped with the Orthanc source code. In order to take
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
101 advantage of this patch, you need to statically link Orthanc against
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
102 DCMTK by using the ``-DUSE_SYSTEM_DCMTK=OFF`` flag `when invoking
a52f1dc48ebc GNU/Linux
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 41
diff changeset
103 CMake
16
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
104 <https://bitbucket.org/sjodogne/orthanc/src/default/LinuxCompilation.txt>`__.
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
105
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
106
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
107 Windows-specific issues
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
108 -----------------------
b12e2c1d9fed troubleshooting
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 15
diff changeset
109
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 * Under Windows, Orthanc creates the "OrthancStorage" folder, and
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 crashes with the error "**SQLite: Unable to open the database**":
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112 Your directory name is either too long, or it contains special
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 characters. Please try and run Orthanc in a folder with a simple
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114 name such as ``C:\Orthanc``.
55
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
115
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
116 * If **Orthanc crashes when handling one large DICOM file**, this most
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
117 probably indicates a memory allocation error. Indeed, the `official
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
118 Windows binaries
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
119 <http://www.orthanc-server.com/download-windows.php>`__ are compiled
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
120 using a 32bit compiler. As a consequence, Orthanc only has access to
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
121 less than 4GB of RAM. If this is an important limitation for you,
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
122 precompiled command-line versions of Orthanc for Windows 64bit are
de283c29c92f not enough memory
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 44
diff changeset
123 available courtesy of `Osimis
108
e3be44c1d041 added startup troubleshooting
amazy
parents: 72
diff changeset
124 <http://www.osimis.io/en/download.html>`__.