Bug with execution of reset+shift concurrently
From henry's report:
I found my nubot on btccoid is running and generating logs, buy doesn't submit liquidityinfo and trade orders. Everything recover when I restart NuBot manually. But It will fail to keep submitting liquidityinfo soon, and stop submiting trade orders after 1 or 2 days. Would you have a look at it?
Thank you very much.
log file: https://raw.githubusercontent.com/henrynu/LPC/master/btcidbot/standard.html
Comments (13)
-
-
Do we have the verbose log file? That would help.
-
The explanation for this must have to do with some input of prices. So I assume at some point after a long period of time, we will have a timeout of prices and PriceMonitor fails. I assume we loop here? https://bitbucket.org/JordanLeePeershares/nubottrading/commits/6be33113d040e736453192bdfa9adf6bad780288
-
reporter -
reporter The logs confirm your hypothesis , after 03:16:02.076 the PriceMonitorTriggerTask is not executed . Unfortunately the verbose logs are not helping us in finding why.
-
reporter - marked as critical
-
reporter I am analysing the logs and starting to suspect is due to a situation where strategy is resetting orders AND received a shift request from priceMonitor.
-
reporter Also StrategySecondaryPegUtils doesn't get executed anymore after the wallshift is initiated @ 03:14:01.023
-
reporter Somewhere within or after this instruction an exception happened . ApiResponse deleteOrdersResponse = Global.exchange.getTrade().clearOrders(Global.options.getPair());
Being exchange bitcoincoid, I recently introduced changes, after finding clearOrders was buggy. This will likely prevent this issue to happen again. However, I will now try to prevent a shift and a reset happening at the same time
-
reporter Cancel wallShift(!) if a reset is happening .
-
reporter - changed status to resolved
-
reporter - changed title to Bug with execution of reset+shift concurrently
-
reporter - changed milestone to 0.3.0 - UI
- Log in to comment
After a while this appears all the time: " Already shifting walls." I think the notifyPriceChanged is not called anymore, i.e. in PriceMonitor this line is not reached anymore:
strategy.notifyPriceChanged(sellPricePEG_new, buyPricePEG_new, price, pegPriceDirection);