I kept hitting this crash over & over inside malloc (and there was still ~ 100 MB free):
(size=*different size each time, < 1 MB*) failed (error code=3)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Turned out to be an issue on iOS 7.0 & 7.0.2; upgrading to 7.0.4 fixed it! Unfortunately the 7.0.4 release notes don't go into detail on which bugs were fixed.