Thanks. Fixed in master

> On Nov 18, 2016, at 5:29 AM, Anton Popov <[email protected]> wrote:
> 
> Hi all,
> 
> KSP ex65 fails with -pc_type mg -pc_mg_galerkin
> 
> [0]PETSC ERROR: Nonconforming object sizes
> [0]PETSC ERROR: Matrix dimensions are incompatible, 129 != 65
> 
> This can be fixed either by adding MatTranspose after DMCreateInterpolation 
> in CreateRestriction, or by commenting out DMShellSetCreateRestriction.
> 
> Replacing DMCreateInterpolation with DMCreateRestriction in CreateRestriction 
> also fails with a segfault:
> 
> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, 
> probably memory access out of range
> [0]PETSC ERROR: [0] DMCreateRestriction line 1064 
> /home/anton/LIB/petsc-3.7.4-debug/src/dm/interface/dm.c
> 
> This example uses DMDA objects as context variables, and calls destroy on 
> them right after creating coarse DMShell. Due to PETSc reference counting 
> mechanism they are not destroyed immediately, so everything works without 
> access violations and memory leaks.
> 
> I wander how I should destroy my ordinary user contexts. One option is 
> keeping a pointer to coarse context in the fine context, and destroying 
> hierarchy recursively.
> 
> Is there anything better (e.g. something like DMShellSetDestroyContext)?
> 
> Thanks,
> Anton

Reply via email to