We already merged the fix. Thanks,
Matt On Mon, Dec 11, 2023 at 6:00 AM Barry Smith <bsm...@petsc.dev> wrote: > > I don't fully understand your code and what it is trying to > demonstrate, but VecGetArrayWrite is Logically Collective. Having > > if(rank == 0) > { > PetscCall(VecGetArrayWrite(vec, &xx)); > PetscCall(VecRestoreArrayWrite(vec, &xx)); > } > > is not allowed. The reason is that VecRestoreArrayWrite() changes the > PetscObjectState of the vector, and this state must be changed consistently > across all MPI processes that share the vector. > > > > On Dec 10, 2023, at 2:40 AM, Stephan Köhler < > stephan.koeh...@math.tu-freiberg.de> wrote: > > Dear PETSc/Tao team, > > there is a bug in the voector interface: In the function > VecNorm, see, eg. > https://petsc.org/release/src/vec/vec/interface/rvector.c.html#VecNorm > line 197 the check for consistency in line 214 is done on the wrong > communicator. The communicator should be PETSC_COMM_SELF. > Otherwise the program may hang when PetscCheck is executed. > > Please find a minimal example attached. > > > Kind regards, > Stephan Köhler > > -- > Stephan Köhler > TU Bergakademie Freiberg > Institut für numerische Mathematik und Optimierung > > Akademiestraße 6 > 09599 Freiberg > Gebäudeteil Mittelbau, Zimmer 2.07 > > Telefon: +49 (0)3731 39-3188 (Büro) > > <minimal_ex_vec_norm.cpp><OpenPGP_0xC9BF2C20DFE9F713.asc> > > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>