It looks stable, but contacts creates explosive tangent impulses which increases the angular velocity.
Here are a video of some stacking circles which shows the weird effect (after forcing the collapse, the circles rotation goes faster and faster.
Another video showing the issue on a smaller scale:
I nearly use the same approach as box2d - except i added the position correction directly to the velocity bias. The friction code is identical and should be a direct port with one minor difference: i calculate the tangent normal once in the contact initialization - because the normal does not change for each contact/frame.
Source for contact solver + initialization:
No idea what causing these problems. I also tried to use a static/dynamic friction method, but had some more worse effects.
Would be really great, if you can help me to identify the issue.
Thanks in regards,