SourceXtractorPlusPlus icon indicating copy to clipboard operation
SourceXtractorPlusPlus copied to clipboard

LEVMAR errors (not) gracefully captured

Open rgavazzi opened this issue 7 months ago • 4 comments

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).

rgavazzi avatar Jun 12 '25 12:06 rgavazzi

Rings a bell. We have had that already with another user and I think there is a ticket already.

mkuemmel avatar Jun 12 '25 13:06 mkuemmel

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!

rgavazzi avatar Jun 12 '25 21:06 rgavazzi

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 avatar Aug 11 '25 19:08 rgavazzi

@rgavazzi do you have an example of such a PSFEx file with NAN's in it?

mkuemmel avatar Aug 21 '25 15:08 mkuemmel