Lua forward kills system with NULL database

  • Hello everyone,


    I use lua on a system running linux to modify images before they are sent to another server. This works OK when there is local database but causes a segmentation fault when the database uses the NULL driver. The relevent section from dicom.ini is

    Code
    [lua]ImportConverter0 = script('forward to TRAEKIPG;');


    The log looks like this:

    Code
    DGATE (1.4.16e, build Tue Sep 20 14:14:07 2011, bits 64) is running as threaded serverDatabase type: NULL driver (black hole)UPACS THREAD 0: STARTED AT: Tue Sep 20 14:49:40 2011A-ASSOCIATE-RQ Packet Dump Calling Application Title : "CLOSEDPACS " Called Application Title : "BACKUPFWD " Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384 Number of Proposed Presentation Contexts: 2 Presentation Context 0 "1.2.840.10008.5.1.4.1.1.20" 1 Presentation Context 1 "1.2.840.10008.5.1.4.1.1.7" 1Server Command := 0001Message ID := 5dddMove Originator Message ID := 0006Move Originator AE := CLOSEDPACS ImportConverter-1.0: forwarded object to TRAEKIPGSegmentation fault


    Using strace adds a little more information:

    Code
    ImportConverter-1.0: forwarded object to TRAEKIPG
    <unfinished ...>
    +++ killed by SIGSEGV +++
    Segmentation fault


    If I use the standard importconverter described in DICOM Routing without database everything works OK. I suspect lua does not know where to read the file from when there is no database.


    Mark

  • Hi,


    Gdb appears to show empty storage. Let me know if you want more information.

  • Hi,


    I released this fix in 1.4.16f yesterday. Note that all lua forwards for now use one connection (0.0), i.e., it will delay if do multiple forwards and expect multiple one to remain open for the same series. In other words, stick to one lua forward for now.


    Marcel

  • Hi,


    In the upcoming release, you can add a "channel N" clause to forwards to select one of up to 20 simultaneous forwards from lua. In the scripts this value was set from the statement position in the converter string.


    Marcel

Participate now!

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