Source: EasyReflectometryApp/Backends/Py/analysis.py:545-562 — DEEP_ANALYSIS.md §5 item 10 (and §3.2)
_on_sample_finished does posterior = results[0] without checking the list is non-empty, and assigns into the logic object's private self._bayesian_logic._posterior instead of giving Bayesian a setter.
The surrounding try/except Exception: logger.exception(...) swallows the resulting IndexError, so a malformed worker result is logged-and-ignored, leaving the UI in a "finished, no result" limbo.
Fix: Guard against empty results, add a proper Bayesian.posterior setter, and narrow the exception handling so genuine result errors surface to the UI.
Source:
EasyReflectometryApp/Backends/Py/analysis.py:545-562— DEEP_ANALYSIS.md §5 item 10 (and §3.2)_on_sample_finisheddoesposterior = results[0]without checking the list is non-empty, and assigns into the logic object's privateself._bayesian_logic._posteriorinstead of givingBayesiana setter.The surrounding
try/except Exception: logger.exception(...)swallows the resultingIndexError, so a malformed worker result is logged-and-ignored, leaving the UI in a "finished, no result" limbo.Fix: Guard against empty results, add a proper
Bayesian.posteriorsetter, and narrow the exception handling so genuine result errors surface to the UI.