lbilli / Jib.jl

A Julia implementation of Interactive Brokers API
MIT License
62 stars 14 forks source link

Unable to connect thru IB Gateway ERROR: EOFError: read end of file #42

Closed fugaz closed 1 year ago

fugaz commented 1 year ago

New to Julia, I'm using julia version 1.8.5 on macOS 13.2.1 and IB Gateway 10.21 on a paper account:

`julia> using Jib

julia> ib = Jib.connect(4002, 2) ERROR: EOFError: read end of file Stacktrace: [1] (::Base.var"#wait_locked#680")(s::Sockets.TCPSocket, buf::IOBuffer, nb::Int64) @ Base ./stream.jl:945 [2] unsafe_read(s::Sockets.TCPSocket, p::Ptr{UInt8}, nb::UInt64) @ Base ./stream.jl:953 [3] unsafe_read @ ./io.jl:759 [inlined] [4] unsafe_read(s::Sockets.TCPSocket, p::Base.RefValue{UInt32}, n::Int64) @ Base ./io.jl:758 [5] read! @ ./io.jl:760 [inlined] [6] read @ ./io.jl:764 [inlined] [7] read_one @ ~/.julia/packages/Jib/pHjze/src/client.jl:34 [inlined] [8] read_msg(socket::Sockets.TCPSocket) @ Jib.Reader ~/.julia/packages/Jib/pHjze/src/reader.jl:11 [9] connect(host::Sockets.IPv6, port::Int64, clientId::Int64, connectOptions::String, optionalCapabilities::String) @ Jib ~/.julia/packages/Jib/pHjze/src/Jib.jl:54 [10] connect(port::Int64, clientId::Int64, connectOptions::String, optionalCapabilities::String) @ Jib ~/.julia/packages/Jib/pHjze/src/Jib.jl:74 [11] connect(port::Int64, clientId::Int64) @ Jib ~/.julia/packages/Jib/pHjze/src/Jib.jl:72 [12] top-level scope @ REPL[3]:1 `

Can connect to same environment with a python client.

Any hints?

lbilli commented 1 year ago

Hard to say but it looks like a connectivity problem. I'd double check that the client is allowed to connect to IB Gateway, i.e.:

I can reproduce the error if the above is not true.

fugaz commented 1 year ago

You're right. Just in case someone else has the same issue, the Gateway settings allowing incoming connections from '127.0.0.1' doesn't seem to work as expected.

Thanks!