Skip to content

zombie z3server processes #97

@ngsrinivas

Description

@ngsrinivas

The multi-process z3 client/server setup leaves behind zombie z3 server processes from earlier spawns. There may be two reasons why this is happening.

There is already a SIGKILL signal sent to the server from the client when the z3client policy decides it is time to respawn the server process. There may be some issue with the parameters to this system call preventing it from killing existing server instances even as new instances are spawned.

There is also the more basic issue that the child (z3server) does not exit when the parent (superopt) exits. There are fixes to this issue, e.g., https://stackoverflow.com/questions/284325/how-to-make-child-process-die-after-parent-exits/36945270#36945270 , relying on the prctl system call (https://man7.org/linux/man-pages/man2/prctl.2.html)

I foresee this won't be a major issue for long-running compiler instances but we must fix this eventually for hygiene.

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