I'm working on the same problem. I also don't know what the root cause of the issue is, but have an idea for why you are still seeing some stragglers after your code change. As your fix
The init()
method is called in the initCartController::indexAction()
method,. So it only applies to quotes as they are createdruns when the customer loads the cart page. Therefore, any quoteIf you have some kind mini-cart widget on your site--anything that was created beforehand wouldshows the current subtotal but isn't the full-on cart page--then the subtotal will still have this issue.
Run this query to getbe double in the quote_id of all outstanding quotes with more than 2mini-cart whenever there are duplicate addresses associated to. If that's the case, it should be fixed as soon as the customer goes to the cart page.