On Thu, Mar 29, 2012 at 8:07 AM, Jed Brown <[email protected]> wrote:
On Thu, Mar 29, 2012 at 06:44, Dmitry Karpeev <[email protected]> wrote:
After this fix that should cause a more obvious SEGV, but the real problem is that a pc that is supposed remain valid is being reset.
It's a bug if you can't call PCReset() more than once without an error.
Here the problem isn't in needing to call PCReset() twice per se. The issue is that if the user uses the same PC object in two different KSPs and destroys one ksp, that will cause a PCReset() and invalidate the pc for the other ksp -- all despite increfing the pc.
Also, any SEGV triggered by PETSc is a bug (unless the user passes in corrupt pointers).
I was a bit sloppy in describing what will happen here: now the (G)ASM code actually won't throw a SEGV, but will rather rebuild ISs internally using a default partition -- PCReset_ASM/PCReset_GASM does not forget the *number* of subdomains upon a Reset, but destroys the actual subdomains. Dmitry.
participants (1)
-
Dmitry Karpeev