Today August 9th, at 22:10 JST, a serious glitch on MtGox caused all ask orders to be flushed from the system. It is now 00:40 JST at the time of this writing.
As the cause was not determined immediately, the MtGox trading engine was halted and an investigation in the situation initiated. We found that this issue was due to a glitch linked to a new feature. A fix has been placed and failsafes have been installed to make sure such an event will not occur again.
We have determined that this issue was caused by a bug in the trading engine due to a new feature planned for release in September. While this new feature should not have any impact on trades not using it, a specific set of conditions could trigger this feature in a way that should not happen, which in turn caused the trade engine to believe that the order matched in the order book was actually invalid and should be removed.
Because of this, all the open ask orders were flushed out of the system, and one trade executed as an overly high amount (this trade was later cancelled).
The bug has been identified and the issue has been solved. We will also make sure to create unit test capable to reproduce cases such as the conditions required for this bug to happen.
To trigger this bug the following conditions had to be met:
- Place a market order in currency other than USD to buy bitcoins for a larger amount that can be afforded
- Have a very low balance of that currency
- Have configured to take fee for bitcoin purchase from currency and not BTC
- Do not have the order to complete in a single match (ie. cause more than one trade)
The issue has been resolved, and different kinds of failsafes have been added to ensure an order can not cause a large part of the order book to vanish.
Due to the fact that the latest backup could possibly include asks that were cancelled by users, we have not restored the order book from backups. Users are invited to place sell orders again.
Please contact our support team should you have any question.
Mark Karpeles, MtGox Co. Ltd.