Skip to content

APLProcess under docker does not detect that a job has terminated #1

@mbaas2

Description

@mbaas2

For some reason, dyalog goes into a "defunct" state after ⎕OFF when executed under docker. The function UNIXIsRunning does not detect this - even though it looks for it, because it uses the comm parameter in its pscall which does not show <defunct>- cmddoes as this excerpt from a log illustrates:

      PID    STARTED                    CMD                         COMMAND   
          1   Mon  Sep  8 06:23:13 2025 /opt/mdyalog/20.0/64/unicod dyalog 
         19   Mon  Sep  8 06:23:14 2025 [dyalog] <defunct>          dyalog 

That call should be adjusted to read →(r←' '∨.≠txt←⊃_SH'ps -o cmd -p ',(⍕pid),' | sed -n ''2,$p''')↓0 instead of →(r←' '∨.≠txt←⊃_SH'ps -o comm -p ',(⍕pid),' | sed -n ''2,$p''')↓0 - I will submit a PR to address this accordingly and have also created a mantis issue so that the "other side" (in the interpreter= gets inspected as well.

Note: there's a related Mantis issue (#22515) to investigate why the dyalog job ended up as <defunct>.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions