BenChung / KRPC.jl

A kRPC client for Julia
MIT License
3 stars 4 forks source link

Stage related requests cause EOFError #11

Open Rhahi opened 2 years ago

Rhahi commented 2 years ago

Two stage related requests, specifically

Cause EOFError. (There may be more)

import KRPC.Interface.SpaceCenter.RemoteTypes as SCR
import KRPC.Interface.SpaceCenter.Helpers as SCH

conn = kerbal_connect("Test", "127.0.0.1")
ves = conn |> SCR.SpaceCenter |> SCH.ActiveVessel
parts = ves |> SCH.Parts |> SCH.All
SCH.Stage(parts[1])

Output

ERROR: EOFError: read end of file
Stacktrace:
  [1] read
    @ .\iobuffer.jl:217 [inlined]
  [2] _read_fixed
    @ ~\.julia\packages\ProtoBuf\A71jO\src\codec.jl:218 [inlined]
  [3] read_fixed
    @ ~\.julia\packages\ProtoBuf\A71jO\src\codec.jl:212 [inlined]
  [4] getJuliaValue
    @ ~\.julia\dev\KRPC\src\types.jl:118 [inlined]
  [5] process_return
    @ ~\.julia\dev\KRPC\src\message.jl:26 [inlined]
  [6] macro expansion
    @ ~\.julia\dev\KRPC\src\message.jl:46 [inlined]
  [7] kerbal(c::KRPC.KRPCConnection, calls::Tuple{KRPC.Interface.SpaceCenter.Part_get_Stage})
    @ KRPC ~\.julia\dev\KRPC\src\message.jl:40
  [8] kerbal
    @ ~\.julia\dev\KRPC\src\message.jl:14 [inlined]
  [9] Stage
    @ ~\.julia\dev\KRPC\src\generated.jl:13422 [inlined]
 [10] |>(x::KRPC.Interface.SpaceCenter.RemoteTypes.Part, f::typeof(KRPC.Interface.SpaceCenter.Helpers.Stage))
    @ Base .\operators.jl:911
 [11] top-level scope
    @ REPL[55]:1

Unfortunately there is not much information other than EOFError. Note that this error may break the connection due to current semaphore implementation, so I suggest patching in a try-finally block on SendBiMessage while testing.