File 0001-Remove-broken-EPSMonitorSet-call.patch of Package libadjoint
From cc1529e45abd611d9b19ccc5ed6ec1e3fa48d797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de> Date: Tue, 31 Dec 2024 14:29:00 +0100 Subject: [PATCH] Remove broken EPSMonitorSet call EPSMonitorAll expects a valid PETScViewerFormat context, which must be passed in as 3rd parameter when registering the callback. --- src/adj_eps.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/adj_eps.c b/src/adj_eps.c index bfe9be9..b778e17 100644 --- a/src/adj_eps.c +++ b/src/adj_eps.c @@ -139,7 +139,8 @@ int adj_compute_eps(adj_adjointer* adjointer, adj_matrix matrix, adj_eps_options EPSSetDimensions(*eps, options.neigenpairs, PETSC_DECIDE, PETSC_DECIDE); #if SLEPC_VERSION_MAJOR > 3 || (SLEPC_VERSION_MAJOR == 3 && SLEPC_VERSION_MINOR >= 1) - if (options.monitor) EPSMonitorSet(*eps, EPSMonitorAll, PETSC_NULL, PETSC_NULL); + // This would crash, EPSMonitorAll requires a non-NULL context (3rd parameter for EPSMonitorSet) + // if (options.monitor) EPSMonitorSet(*eps, EPSMonitorAll, PETSC_NULL, PETSC_NULL); #endif EPSSetWhichEigenpairs(*eps, (EPSWhich) options.which); -- 2.47.1