bitfinexcom/bfx-hf-algo

[bug] AO P/P: a failed Pong stops all processing

pointops opened this issue · 2 comments

Ping-Ping AO fails to keep going after the first PONG gets fills.

Steps to reproduce

  • setup P/P with multiple orders, e.g. Ping/Pong | -0.0002:-0.0002 @ [48360..48550] -> -10
  • watch out for the first PONG to be filled

Problem

  • the AO stops with bfx:hf:algo:ao-host:ws2:bind-bus error processing: TypeError: Cannot read property '1' of undefined
  • (with endless : true) the filling of PONGs does not re-create any PINGs
  • if the price returns into the original PING range, no more PONGS are generated (regardless of endless : true/false)

Log file

api-server.log
note: after the error and AO collapse, the remaining orphaned PONGs and original virgin PINGs are handled normally as separate atomics by the server. The log file is understandably silent on this.

Thank you for reviewing. It'd be a quite a shame if P/P remains not available in Honeyframework, also heaps of work done previously are laid too waste. :-/

Update: Now confirmed on 3.17.0

also, once the first error is thrown for one ping-pong AO, the another present one (yet untouched) gets affected too. Any fills that may come don't create pongs, not even the first one of the other AO.

fix incoming: #183