Skip to content

unchanged() ignores ZMQ reads in Julia, so the read loop never exits #628

Open

Description

@bhuvan-somisetty

Same thing as #612 but in Julia. A ZMQ read in concore.jl never updates s, so unchanged() stays true even after real data comes in. A while unchanged(); concore_read(...) loop on a ZMQ port never exits.

File reads do s = _cap_s(s, ins) (concore.jl line 710), but _zmq_read() (line 272) returns without touching s. concoredocker.jl has the same code (line 273).

init_zmq_port("out", "bind", "tcp://127.0.0.1:5571", "PAIR")
init_zmq_port("in", "connect", "tcp://127.0.0.1:5571", "PAIR")
concore_write("out", "u", [10.0])
unchanged()
concore_read("in", "u", "[0.0, 0.0]")   # [10.0]
unchanged()                             # still true

Expected: false after a successful ZMQ read, like file ports. Same steps on file port 1 give false.

Tested on dev at 8f3e444, Julia 1.11.7, ZMQ.jl 1.5.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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