Roles: DICOM SCU of C-MOVE (Study Root Query/Retrieve) AND DICOM Storage SCP (C-MOVE destination, port 11112).
Peer: Clarus PACS bridge (pynetdicom 3.0.4 based C-MOVE SCP / C-STORE SCU), same host loopback 127.0.0.1.
Observation:
During a batch retrieval (C-FIND study, C-FIND series, then one C-MOVE per study) the viewer's Storage SCP periodically stops answering NEW A-ASSOCIATE requests: the TCP connection is accepted, the A-ASSOCIATE-RQ PDU is sent, and no A-ASSOCIATE-AC/-RJ arrives until the requestor's ACSE timeout (10 s) fires. Existing associations continue to work. A given study can wedge repeatedly over minutes; only a MicroDicom restart clears the condition.
Sender log excerpt (Clarus bridge, 2026-09-07, local time):
Code: Select all
10:34:17 [ERROR] ACSE timeout reached while waiting for response to association request
10:34:17 [INFO] [C-MOVE] main association ACSE timeout, retry 1/1 after 10s
10:34:37 [ERROR] ACSE timeout reached while waiting for response to association request
10:34:37 [ERROR] [C-MOVE] Cannot associate with MICRODICOM at 127.0.0.1:11112Code: Select all
Job #57 (1 instance, RLE): main assoc answered (68 contexts accepted)
Job #57 fallback (US MF, RLE): answered
Job #58 main assoc: NO ANSWER (2 attempts, 10 s each)
Job #59 (2 instances): main assoc answered
Job #59 fallback (JPEG 4.50): NO ANSWER
Job #60 (432-slice study): main assoc NO ANSWER (2 attempts)
Job #61 main assoc: answered
Job #61 fallback (JPEG-LS 4.80): NO ANSWER
Job #62 main assoc: answered
Job #62 fallback (JPEG 4.70): NO ANSWER- Fallback associations (a second A-ASSOCIATE from the already-associated peer while the main association is streaming) go unanswered 3 out of 4 times; the main associations work in the same window.
- The 432-slice study wedges on repeated attempts minutes apart and recovers only after a MicroDicom restart (operator-verified).
- The IDENTICAL study is delivered to another viewer (Weasis 4.7, port 11113) on the same bridge: 432/432 instances, 521,048,630 bytes, 17 seconds, zero failures.
Expected behavior:
Per PS3.8 9.2, an acceptor that has received an A-ASSOCIATE-RQ shall issue the A-ASSOCIATE response primitive (AC or RJ); the requestor aborts after its configurable ARTIM timer (PS3.8 9.1.5, "shall be configurable"). Starving new association requests while existing ones work is an interoperability defect: any retrieving system that opens a second association per study (standard practice for mixed transfer syntax studies) sees spurious failures.
Questions to the vendor:
1. Where does MicroDicom persist its network activity / DICOM logs (file paths, if any)? The "Network activity" pane appears to be in-memory only; no log location is documented on the website.
2. Is there a known defect in v2026.3.0.5126 where the SCP listener stalls after a transfer or after a second association from the same peer?
Evidence available on request: sender-side log excerpts with timestamps; cross-check run with another viewer against the same study and sender; reproduction recipe (retrieve the 432-slice study followed by a small mixed-transfer-syntax study back-to-back).
Reported by the Clarus PACS project: https://github.com/clicker71/clarus-pacs