First of all, I'd like to say that after having tried Chipmunk Physics engine, I think it works nicely and can be considered as serious competition to Box2D. I tried using this engine because I didn't really like the direction Box2D was taking with fixtures and somewhat complex C++'ish constructs and automatic joint destruction.
Since I've made lots of small modifications to it, I cannot easily submit a patch. So I thought I'd just let you know about a few things I found out.
1. I could not find a way to override the memory handling functions. This is something I really wanted to have myself (for memory debugging and statistics, mainly) so I implemented it myself but there's one unclear thing about it - whether something in the code relies on the calloc's ability to fill memory with 0's.
2. There were some places where infinity floating point values were generated through calculations (division by 0). This throws FP exceptions (which I wouldn't like to have during normal operation) so I had to patch them up.
- cpPolyShapeSegmentQuery, cpPolyShape.c, line 126
- cpBBSegmentQuery, cpBB.h, lines 97 and 103
3. There's some things I found highly useful in Box2D that I didn't find here and implemented them myself: category/mask filtering (this would save the need to convert categories/masks to ANDed combo enumeration flags, which is what essentially layers appear to be) and different angular/linear damping settings for each body (for fine-tuning ragdoll dynamics).
4. I was used to Box2D's clockwise polygons so I changed the vertex order around everywhere. This calls for some #define setting that would make the code accept reversed vertex order.
5. There's a bug in cpvslerp. When "omega" is a tiny value (v1 and v2 are almost the same, but not exactly the same), it makes "denom" too big and sometimes generates a wrong result. I changed "if(omega){" to "if(omega>0.001f){" and "return v1;" to "return cpvlerp( v1, v2, t );", it appears that the bug has been fixed (at least just enough to avoid generating completely wrong values).
P.S. The game that I was testing Chipmunk with: http://www.youtube.com/watch?v=iNT75-2HrCA