yes, this is what happens:
You have a graph that can look like this:
A->b->c->D
where A and D represent roots of voyage (#isVoyageRoot = true)
you removed D, but A is not updated (the logic for auto update references is too complex, and this is a known limitation of voyage).
So, in a next cycle you try to bring A to the image, and A is trying to load eagerly an instance of D... which does not exists anymore, so you have the error.
To prevent this kind of problems, I use something that I call "eventual integrity" :) you can configure your collection to not fail when you try to get it and it does not exists. For achieve that, you have to add a setting to the class you want to take as "lazy deletable" (is a very dangerous property to just allow it by defect).
You have to do something like this:
D class>>#mongoContainer
<mongoContainer>
^VOMongoContainer new
enableMissingContent;
yourself
note that who is enabling missing content is D, not A :)
hope it helps.
Cheers,
Esteban
ps: y si no se entiende nada, mandame un mail privado y lo explico en espa��ol :)
It says "Reference not found", and the method signaling the error is VOMongoMaterializer >> #missingContentFor:id:
I can try to set up a minimal test case and sent it to you, would that help?
Thanks!