changeset 7189:5bfcb432ad3d

setting DCMTK_MAX_SEQUENCE_NESTING to 32
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 22 Oct 2026 16:25:27 +0200
parents fe50e37b83ea
children 9f5e962f174e
files NEWS OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.1.cmake
diffstat 2 files changed, 15 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Oct 22 15:32:11 2026 +0200
+++ b/NEWS	Thu Oct 22 16:25:27 2026 +0200
@@ -48,6 +48,7 @@
 * New CMake options: 
   - "THIRD_PARTY_DOWNLOADS_ROOT_URL" to specify another webserver to downloads the third-parties from.
   - "ORTHANC_SOURCES_DOWNLOADS_ROOT_URL" to specify another webserver to downloads the Orthanc sources from.
+* Setting DCMTK_MAX_SEQUENCE_NESTING to 32
 * Upgraded dependencies for static builds:
   - dcmtk 3.7.1
   - openssl 3.5.9 (LTS branch)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.1.cmake	Thu Oct 22 15:32:11 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.1.cmake	Thu Oct 22 16:25:27 2026 +0200
@@ -318,3 +318,17 @@
 if (DCMTK_LOCALE_BACKEND STREQUAL "oficonv")
   AUX_SOURCE_DIRECTORY(${DCMTK_SOURCES_DIR}/oficonv/libsrc DCMTK_SOURCES)
 endif()
+
+
+# 2026-10-22: On several GNU/Linux distributions (notably Ubuntu
+# 22.04), Orthanc was observed to crash when using the system-wide
+# civetweb library and allowing DCMTK to process sequences nested up
+# to 37 levels deep. This issue can be reproduced using the DICOM
+# sample file
+# "orthanc-tests/Database/2026-05-06-Deeply-Nested-Sequence.dcm". The
+# issue does not occur when civetweb is statically linked by setting
+# "-DUSE_SYSTEM_CIVETWEB=OFF". The exact cause for this difference is
+# unknown, but it appears to be related to stack management across
+# shared libraries. We therefore limit the maximum nesting depth to 32
+# levels.
+add_definitions(-DDCMTK_MAX_SEQUENCE_NESTING=32)