[petsc-dev] Option -history crashes with a terrible message

Jed Brown jedbrown at mcs.anl.gov
Wed Jun 19 03:10:39 CDT 2013

$ ./ex1 -history
PETSC ERROR: Logging has not been enabled.
You might have forgotten to call PetscInitialize().
application called MPI_Abort(MPI_COMM_WORLD, 56) - process 0

Here's the stack trace:

(gdb) bt
#0  0x00007ffff380ccd0 in exit () from /usr/lib/libc.so.6
#1  0x00007ffff42ccc16 in MPIU_Exit () from /home/jed/usr/mpich-clang/lib/libmpich.so.10
#2  0x00007ffff42f2baa in MPID_Abort () from /home/jed/usr/mpich-clang/lib/libmpich.so.10
#3  0x00007ffff7f5cb06 in MPI_Abort () from /home/jed/usr/mpich-clang/lib/libpmpich.so.10
#4  0x00007ffff6a9bec4 in PetscLogGetStageLog (stageLog=0x7fffffff4dd0) at /home/jed/petsc/src/sys/logging/utils/stagelog.c:35
#5  0x00007ffff68ffed7 in PetscClassIdRegister (name=0x7ffff7b19c49 <.L.str6> "Viewer", oclass=0x7ffff7ddab24 <PETSC_VIEWER_CLASSID>) at /home/jed/petsc/src/sys/logging/plog.c:2555
#6  0x00007ffff6a010e9 in PetscViewerInitializePackage () at /home/jed/petsc/src/sys/classes/viewer/interface/view.c:49
#7  0x00007ffff6a06d56 in PetscViewerCreate (comm=1140850688, inviewer=0x7fffffff5288) at /home/jed/petsc/src/sys/classes/viewer/interface/viewreg.c:171
#8  0x00007ffff69fde56 in PetscViewerASCIIOpenWithFILE (comm=1140850688, fd=0x45f4c0, lab=0x7fffffff5288) at /home/jed/petsc/src/sys/classes/viewer/impls/ascii/vcreatea.c:329
#9  0x00007ffff69798e9 in PetscOpenHistoryFile (filename=0x0, fd=0x7ffff7be02c8 <petsc_history>) at /home/jed/petsc/src/sys/objects/init.c:131
#10 0x00007ffff697e53b in PetscOptionsCheckInitial_Private () at /home/jed/petsc/src/sys/objects/init.c:479
#11 0x00007ffff6982db1 in PetscInitialize (argc=0x7fffffffd7f8, args=0x7fffffffd7f0, file=0x0, help=0x4045e0 <help> "Solves a tridiagonal linear system with KSP.\n\n") at /home/jed/petsc/src/sys/objects/pinit.c:793
#12 0x00000000004014e6 in main (argc=2, args=0x7fffffffd8e8) at ex1.c:36

I don't know how some of our output files have trailing whitespace in
the lines with positive tab-level.  You can see this in, e.g.,

  $ git show 03c47c2df6d9113429 -- src/ksp/ksp/examples/tutorials/output/ex1_2.out

which shows two spaces of trailing whitespace in the indented line.

  Matrix Object:   1 MPI processes  

I presume this was caused by somehow having petsc_history turned on, and
I think the patch below will fix it, but I don't know how people turned
on petsc_history to produce those trailing spaces in the first place.

commit 17c4b54af62330efacf05d0471746d7cafbae154 (jed/fix-viewer-ascii-tab-whitespace)
Author: Jed Brown <jedbrown at mcs.anl.gov>
Date:   Wed Jun 19 09:19:55 2013 +0200

    Viewer ASCII: print tabs to petsc_history, not fd
    Tabs are intended to provide indentation, but were being printed as
    trailing whitespace when petsc_history was turned on.

diff --git a/src/sys/classes/viewer/impls/ascii/filev.c b/src/sys/classes/viewer/impls/ascii/filev.c
index 705f3f7..a90a521 100644
--- a/src/sys/classes/viewer/impls/ascii/filev.c
+++ b/src/sys/classes/viewer/impls/ascii/filev.c
@@ -554,7 +554,7 @@ PetscErrorCode  PetscViewerASCIIPrintf(PetscViewer viewer,const char format[],..
       tab = ascii->tab;
       while (tab--) {
-        ierr = PetscFPrintf(PETSC_COMM_SELF,fd,"  ");CHKERRQ(ierr);
+        ierr = PetscFPrintf(PETSC_COMM_SELF,petsc_history,"  ");CHKERRQ(ierr);
       ierr = (*PetscVFPrintf)(petsc_history,format,Argp);CHKERRQ(ierr);
       err  = fflush(petsc_history);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130619/0880b4a1/attachment.sig>

More information about the petsc-dev mailing list