Detailed Logging for Errors

  • **Running Ver 1417b**


    Is there any way to configure more detailed logging in dicom.ini so I know why an image has been put in "Queue: holding" and why it has "Forward failed"?


    Mon Jul 20 16:26:47 2015 *** Queue: holding processing of file ./data/3755998/1.2.840.114384.52123467.20150720.162151.2_0001_000001_14374312071e04.v2
    Mon Jul 20 16:26:48 2015 *** ExportConverter0.0: Forward failed to send DICOM image to PACS_ARCHIVE


  • Hi,


    the holding occurs of recent errors, is the failure persistent or intermittent? You might try to send the image through another means and see what happens.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • Hey Marcel,


    The holding occurs frequently and most of the time things will process /send to archive. However, occasionally, some images will permanently queue/fail and then all of the other images back up in the queue and will not forward to the archive until we delete the guilty images. It's tough to fix the root cause when we don't have enough logging, nor is it simple to write a script to automatically clean these troublesome images up if we don't know why they're permanently queuing/failing.


    Is there a way to enable logging that will at least give us a reason for queuing/failing? Thanks. --Tim

  • Hi Tim,


    I looked at the code and there is not a lot there. Have you tried enabling debug logging at a high level (I would suggest to log to file only) and see what it bring.


    In the alpha release just out, the holding message is now a warning. It is the primary failures you are interested in. Is the network link unreliable?


    One option could be to enable debug logging automatically around every retry. But look first of debug log would show some relevant info anyway. The alpha release has some many more logging around association and rejection.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • There are no network issues. Generally when we get errors, it's because there's something wrong with incoming dicom, and our archive rejects things that aren't formatted properly. For instance a field has too many characters or unsupported asian characters, etc.


    So now I have two questions. (1) what would the syntax be for enabling debug logging automatically around every retry, and (2) how would you word the syntax to create an export converter that automatically truncates the dicom (0032,1030) down to 64 characters? or is there a better way?


    I noticed in the windowsmanual that there is an option for TruncateFieldNames = 10... however I don't think that would apply to dicom (0032,1030), nor would AllowTruncate = ... Am I correct that these two are irrelevant in this case?

  • Hi,


    (1) requires a code change


    (2)
    [lua]
    ImportConverter0 = Data.ReasonForStudy = string.sub(Data.ReasonForStudy, 1, 64)


    TruncateFieldNames affects field labels and should NOT be changed.


    AllowTruncate is used to avoid warning messages in the server, but does not affect the data.


    (2) is your best option.


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • Thanks for your input Marcel. I tried the following and it doesn't seem to work.



    ImportConverters = 5
    ...import converters
    ImportConverter4 = Data.ReasonForStudy = string.sub(Data.ReasonForStudy, 1, 64)



    I get this error
    "Fri Jul 31 11:34:32 2015 *** Importconverter4.0 error: Data.ReasonForStudy = string.sub"



    Thanks for your help. --Tim

  • I believe that did the trick! Out of curiosity, (1) why did we need to put this in its own section? and (2) if we wanted to tailor/truncate other DICOM fields to have a certain amount of characters, could we just add them to this same section?


    Thanks! --Tim

  • Hi,


    the [lua] section forces it to use Lua syntax, which has better string processing. And yes you can add as many filters you want on one ImportConverter line, or use multiple ImportConverter lines. The max is 99 I believe.


    regards,


    Marcel

    Marcel van Herk is developer of the Conquest DICOM server together with Lambert Zijp.

  • we've been getting an error since implementing truncating the ReasonForStudy DICOM tag (see lua ImportConverter4in the Code Section). Do you know what this means and/or can you tell if we have our config wrong? Thanks!


    Our ImportConverter's



    The error

    Quote

    Mon Aug 17 11:40:56 2015 *** lua run error [string "Data.ReasonForStudy = string.sub(Data.Reaso..."]:1: bad argument #1 to 'sub' (string expected, got nil) in 'Data.ReasonForStudy = string.sub(Data.ReasonForStudy, 1, 64)'

  • Hey Marcel, we recently received this error in the conquest serverstatus.log file and we have no idea what it means or why we got this error. I was hoping you could shed some light on it....? Thanks! --Tim


    Quote

    Wed Nov 4 08:32:23 2015 ***(Dyn) Encountered an invalid group order during load of DCM file (after 7fe00010)


    Wed Nov 4 08:32:23 2015 *** ExportConverter0.0: Forward failed to load DICOM object ./data/5529/1.2.840.113681.169936088.1446616226.3204.205_71100000_000012_1446651143e8bf.v2