Client Error: command 0020 failed

  • Hi,


    I just tried to fetch the list of studies inside Conquest using the app dicomweb-proxy https://github.com/knopkem/dicomweb-proxy

    A C-ECHO permorms OK but fetching the studies it comes with:

    Conquest apparently closes the connection and studies are not fetched.

    Any clues?


    Chris.

  • Try to run it:


    NoDicomCheck = 1


    in dicom.ini. That ignores these kind of errors. I guess the query data is indeed sent out of order. Conquest fails on this kind of errors to limit crashes on corrupted data.


    Marcel

  • Hi,


    Inserted NoDicomCheck = 1 in dicom. ini.

    No result.



    Chris.

  • Hi,


    Using a fresh install (Debian Buster) and Conquest 4.19d: same problem.

    With NoDicomCheck = 1 in dicom.ini:


    Chris.

  • Hm, two errors here:


    1) Encountered an invalid group order. This is ignored.
    Is 0008,1190 the last sent query item?


    2) Link.Connected false in PDU:Read

    It looks like there is other stuff after the query data stream, which it then continues reading, Actually the query will have been answered before this error message occurs.


    Good to know it is the same in old conquest versions. In spite of this error message things may work.


    Marcel

  • Still it doen't work with Conquest running under Linux (dicomweb-proxy on the same system).

    This works: Conquest running on a Windows box and dicomweb-proxy on the Linux box.

    Communication problem?


    Dicomweb-proxy log:

    Chris

  • Ah,


    0008,1190 is not in the dictionary, and is listed as an UR which is not defined in conquest (only recently in DICOM for that purpose). It has 32 bits length which would cause the DICOM reader to lose synchronisation - due to the lack of backwards compatibility in DICOM, sigh.


    The behavior you see is consistent. I would expect the behavior to be similar in linux and windows though which puzzles me.


    Can you download the attached trnsyn.cxx (adjusted from 1.5.0b) trnsyn.zip, recompile,

    and put 0008,1190 into the dictionary with type UR?


    That may solve it.


    Marcel

  • Hi,


    Recompiled with your trnsyn.cxx and adapting dgate.dic, getting the studylist works now.

    However, retreiving images failes:

    conquest log:

    Dicomweb-proxy log:

    Code
    stderr: E: Found explicit length Pixel Data in top level dataset with transfer syntax JPEG-LS Lossless: Only undefined length permitted
    W: DIMSE Warning: (DICOMWEB_PROXY,DICOMWEB_PROXY): DIMSE receiveDataSetInMemory: dset->read() Failed (Pixel data in top level dataset in compressed Transfer Syntax uses explicit length)
    E: Unable to receive dataset on presentation context 33: 0006:020d DIMSE Failed to receive message
    stderr: E: Association Release Failed: 0006:0316 DUL P-Data PDU arrived


    Chris

  • Good progress.


    It is expecting jpegls but gets uncompressed: "[recompress]: recompressed with mode = un (strip=1)".


    This is likely a bug in conquest's c-get implemenation. Can you make it ask for uncompressed?


    Marcel

  • This is the code in nkiqrsop.cxx:


    if (!cget) AcceptedCompress = UsedPDU->GetAcceptedCompressionType(iUID);

    else AcceptedCompress = "un";


    It might be as simple as replacing this with:


    AcceptedCompress = UsedPDU->GetAcceptedCompressionType(iUID);


    regards,


    Marcel

  • Hi,


    Did the trick.

    BTW, it's nkiqrsop.cpp


    Chris

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!