Skip to content

Simulated IOCs fail on macOS (outside Docker) #128

@hyperrealist

Description

@hyperrealist

After following the installation instructions on macOS, running supervisor/start_supervisor.sh status shows the following output:

decay                            BACKOFF   Exited too quickly (process log may have details)
mini_beamline                    BACKOFF   Exited too quickly (process log may have details)
random_walk                      BACKOFF   Exited too quickly (process log may have details)
random_walk_horiz                BACKOFF   Exited too quickly (process log may have details)
random_walk_vert                 BACKOFF   Exited too quickly (process log may have details)
simple                           BACKOFF   Exited too quickly (process log may have details)
thermo_sim                       BACKOFF   Exited too quickly (process log may have details)
trigger_with_pc                  BACKOFF   Exited too quickly (process log may have details)

Attempting to restart IOCs using supervisor/start_supervisor.sh restart all generate the following error message.

decay: ERROR (spawn error)
random_walk: ERROR (spawn error)
random_walk_vert: ERROR (spawn error)
mini_beamline: ERROR (spawn error)
random_walk_horiz: ERROR (spawn error)
simple: ERROR (spawn error)
thermo_sim: ERROR (spawn error)
trigger_with_pc: ERROR (spawn error)

Apparent Cause
macOS loopback interface only configures address 127.0.0.1 by default. But the supervisor script attempts to bind to udp ports on other local addresses, e.g: in decay.conf,

command = /usr/bin/env python3 -m caproto.ioc_examples.decay -v --interfaces=127.0.0.5

Possible Solution
Add temporary aliases to macOS loopback interface, e.g:

sudo ifconfig lo0 alias 127.0.0.5

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