LEVMAR errors (not) gracefully captured
Hi there,
I'm running SE++ on a bunch of ground-based images in no-detection mode. I realised that in about a third of the cases, the code is hung when all objects to perform model fitting measurements on are almost exhausted. In all these cases and only in these, I get this kind if error messages in the logs:
LAPACK error: dgesdd (dbdsdc)/dgesvd (dbdsqr) failed to converge in dlevmar_pseudoinverse() [info=6]
info values can vary and the typical statistics is:
9 [info=2] 6 [info=3] 38 [info=4] 41 [info=5] 737 [info=6]
Is there a way to make sure that these errors are well captured and all threads gracefully finish and do not hinder a smooth completion??
Ideally, it would be nice to dump in the logs the ID of the sources giving rise to these errors in order to help figuring out what can go wrong in the images (or weights).
Rings a bell. We have had that already with another user and I think there is a ticket already.
Indeed, found that similar problems are discussed here: #554
and btw, I tried to rerun my code using gsl instead of levmar on problematic cases to get around the levmar errors, but I didn't get any fmf result: iterations, duration, etc.. are all zero!
I found out that whenever I was encountering those LAPACK errors it was due to a PSFEx input PSF model that was corrupted (NaNs mostly). Maybe a deep sanity check regarding the input PSF before running FlexibleModelFitting calculations would be worthwhile and easier than a more cautious error capture from levmar
@rgavazzi do you have an example of such a PSFEx file with NAN's in it?