From e9e58ef05a2e9d3c918b076f287c5422e00f786b Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Mon, 12 Dec 2022 04:24:06 +0000
Subject: [PATCH] BUGFIX: Resolve "Matplotlib error at dynesty checkpoint plot"

---
 bilby/core/sampler/dynesty.py | 35 +++++++++++++++++++++++++++++------
 1 file changed, 29 insertions(+), 6 deletions(-)

diff --git a/bilby/core/sampler/dynesty.py b/bilby/core/sampler/dynesty.py
index a4e459f59..2d9408661 100644
--- a/bilby/core/sampler/dynesty.py
+++ b/bilby/core/sampler/dynesty.py
@@ -669,10 +669,14 @@ class Dynesty(NestedSampler):
                 np.linalg.linalg.LinAlgError,
                 ValueError,
                 OverflowError,
-                Exception,
             ) as e:
                 logger.warning(e)
                 logger.warning("Failed to create dynesty state plot at checkpoint")
+            except Exception as e:
+                logger.warning(
+                    f"Unexpected error {e} in dynesty plotting. "
+                    "Please report at git.ligo.org/lscsoft/bilby/-/issues"
+                )
             finally:
                 plt.close("all")
             try:
@@ -691,34 +695,53 @@ class Dynesty(NestedSampler):
                 np.linalg.linalg.LinAlgError,
                 ValueError,
                 OverflowError,
-                Exception,
             ) as e:
                 logger.warning(e)
                 logger.warning("Failed to create dynesty unit state plot at checkpoint")
+            except Exception as e:
+                logger.warning(
+                    f"Unexpected error {e} in dynesty plotting. "
+                    "Please report at git.ligo.org/lscsoft/bilby/-/issues"
+                )
             finally:
                 plt.close("all")
             try:
                 filename = f"{self.outdir}/{self.label}_checkpoint_run.png"
-                fig, axs = dyplot.runplot(
+                fig, _ = dyplot.runplot(
                     self.sampler.results, logplot=False, use_math_text=False
                 )
                 fig.tight_layout()
                 plt.savefig(filename)
-            except (RuntimeError, np.linalg.linalg.LinAlgError, ValueError) as e:
+            except (
+                RuntimeError,
+                np.linalg.linalg.LinAlgError,
+                ValueError,
+                OverflowError,
+            ) as e:
                 logger.warning(e)
                 logger.warning("Failed to create dynesty run plot at checkpoint")
+            except Exception as e:
+                logger.warning(
+                    f"Unexpected error {e} in dynesty plotting. "
+                    "Please report at git.ligo.org/lscsoft/bilby/-/issues"
+                )
             finally:
                 plt.close("all")
             try:
                 filename = f"{self.outdir}/{self.label}_checkpoint_stats.png"
-                fig, axs = dynesty_stats_plot(self.sampler)
+                fig, _ = dynesty_stats_plot(self.sampler)
                 fig.tight_layout()
                 plt.savefig(filename)
-            except (RuntimeError, ValueError) as e:
+            except (RuntimeError, ValueError, OverflowError) as e:
                 logger.warning(e)
                 logger.warning("Failed to create dynesty stats plot at checkpoint")
             except DynestySetupError:
                 logger.debug("Cannot create Dynesty stats plot with dynamic sampler.")
+            except Exception as e:
+                logger.warning(
+                    f"Unexpected error {e} in dynesty plotting. "
+                    "Please report at git.ligo.org/lscsoft/bilby/-/issues"
+                )
             finally:
                 plt.close("all")
 
-- 
GitLab