And I trust you updated all system software (like gcc, NetCDF and ExodusII). OSX upgrades are hell.
On Mon, Jan 23, 2017 at 12:36 AM, Matthew Knepley <[email protected]> wrote: > On Sun, Jan 22, 2017 at 11:18 PM, Fande Kong <[email protected]> wrote: > >> Thanks, Matt, >> >> Clang does not have this issue. The code runs fine with clang. >> > > Okay, it sounds like a gcc bug on Mac 10.6, or at least in the version you > have. > > Matt > > >> Fande, >> >> On Sun, Jan 22, 2017 at 8:03 PM, Matthew Knepley <[email protected]> >> wrote: >> >>> On Sun, Jan 22, 2017 at 8:40 PM, Fande Kong <[email protected]> wrote: >>> >>>> Thanks, Matt. >>>> >>>> It is a weird bug. >>>> >>>> Do we have an alternative solution to this? I was wondering whether it >>>> is possible to read the ".exo" files without using the ExodusII. For >>>> example, can we read the ".exo" files using the netcdf only? >>>> >>> >>> Well, ExodusII is only a think layer on NetCDF, just like other wrappers >>> are thin layers on HDF5. It is >>> really NetCDF that is failing. Can you switch compilers and see if that >>> helps? >>> >>> Matt >>> >>> >>>> Fande Kong, >>>> >>>> >>>> >>>> On Sun, Jan 22, 2017 at 6:50 PM, Matthew Knepley <[email protected]> >>>> wrote: >>>> >>>>> On Sun, Jan 22, 2017 at 5:28 PM, Fande Kong <[email protected]> >>>>> wrote: >>>>> >>>>>> On Sun, Jan 22, 2017 at 12:35 PM, Matthew Knepley <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> On Sun, Jan 22, 2017 at 12:41 PM, Fande Kong <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> On Sat, Jan 21, 2017 at 10:47 PM, Matthew Knepley < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> On Sat, Jan 21, 2017 at 10:38 PM, Fande Kong <[email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> >>>>>>>>>> I upgraded the OS system to macOS Sierra, and observed that PETSc >>>>>>>>>> can not read the exodus file any more. The same code runs fine on >>>>>>>>>> macOS >>>>>>>>>> Capitan. I also tested the function DMPlexCreateExodusFromFile() >>>>>>>>>> against >>>>>>>>>> different versions of the GCC compiler such as GCC-5.4 and GCC-6, and >>>>>>>>>> neither of them work. I guess this issue is related to the external >>>>>>>>>> package >>>>>>>>>> *exodus*, and PETSc might not pick up the right enveriment >>>>>>>>>> variables for the *exodus.* >>>>>>>>>> >>>>>>>>>> This issue can be reproduced using the following simple code: >>>>>>>>>> >>>>>>>>> >>>>>>>>> 1) This is just a standard check. Have you reconfigured so that >>>>>>>>> you know ExodusII was built with the same compilers and system >>>>>>>>> libraries? >>>>>>>>> >>>>>>>>> 2) If so, can you get a stack trace with gdb or lldb? >>>>>>>>> >>>>>>>> >>>>>>>> 0 libsystem_kernel.dylib 0x00007fffad8b8dda >>>>>>>> __pthread_kill + 10 >>>>>>>> 1 libsystem_pthread.dylib 0x00007fffad9a4787 pthread_kill >>>>>>>> + 90 >>>>>>>> 2 libsystem_c.dylib 0x00007fffad81e420 abort + 129 >>>>>>>> 3 libpetsc.3.7.dylib 0x00000001100eb9ee >>>>>>>> PetscAbortErrorHandler + 506 (errstop.c:40) >>>>>>>> 4 libpetsc.3.7.dylib 0x00000001100e631d PetscError + >>>>>>>> 916 (err.c:379) >>>>>>>> 5 libpetsc.3.7.dylib 0x00000001100ed830 >>>>>>>> PetscSignalHandlerDefault + 1927 (signal.c:160) >>>>>>>> 6 libpetsc.3.7.dylib 0x00000001100ed088 >>>>>>>> PetscSignalHandler_Private(int) + 630 (signal.c:49) >>>>>>>> 7 libsystem_platform.dylib 0x00007fffad997bba _sigtramp + >>>>>>>> 26 >>>>>>>> 8 ??? 0x000000011ea09370 >>>>>>>> initialPoolContent + 19008 >>>>>>>> 9 libnetcdf.7.dylib 0x000000011228fc62 utf8proc_map >>>>>>>> + 210 (dutf8proc.c:543) >>>>>>>> 10 libnetcdf.7.dylib 0x000000011228fd0f utf8proc_NFC >>>>>>>> + 38 (dutf8proc.c:568) >>>>>>>> 11 libnetcdf.7.dylib 0x00000001122a7928 NC_findattr + >>>>>>>> 110 (attr.c:341) >>>>>>>> 12 libnetcdf.7.dylib 0x00000001122a7a4e NC_lookupattr >>>>>>>> + 119 (attr.c:384) >>>>>>>> 13 libnetcdf.7.dylib 0x00000001122a93ef NC3_get_att + >>>>>>>> 47 (attr.c:1138) >>>>>>>> 14 libnetcdf.7.dylib 0x0000000112286126 >>>>>>>> nc_get_att_float + 90 (dattget.c:192) >>>>>>>> 15 libpetsc.3.7.dylib 0x00000001117f3a5b ex_open_int >>>>>>>> + 171 (ex_open.c:259) >>>>>>>> 16 libpetsc.3.7.dylib 0x0000000110c36609 >>>>>>>> DMPlexCreateExodusFromFile + 781 (plexexodusii.c:43) >>>>>>>> 17 DMPlexCreateExodusFromFile 0x000000010fed4cfc main + 397 >>>>>>>> (DMPlexCreateExodusFromFile.cpp:24) >>>>>>>> 18 libdyld.dylib 0x00007fffad78a255 start + 1 >>>>>>>> >>>>>>> >>>>>>> This is a NetCDF error on ex_open_int(). My guess is that your >>>>>>> NetCDF build is old and when it calls the system DLL >>>>>>> you bomb. Can you do a completely new build, meaning either reclone >>>>>>> PETSc somewhere else, or delete the whole >>>>>>> $PETSC_DIR/$PETSC_ARCH/externalpackage directory and >>>>>>> reconfigure/build? >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Matt >>>>>>> >>>>>>> >>>>>> >>>>>> Hi Matt, >>>>>> >>>>>> Thanks for reply. I recloned PETSc (the old petsc folder is deleted >>>>>> completely) and reconfigure. And still has the same issue. I also checked >>>>>> if the binary is complied against any other netcdf. The binary is >>>>>> actually >>>>>> complied against the right netcdf installed through PETSc. >>>>>> >>>>> >>>>> You can see that this crash happens on the call to >>>>> >>>>> int CPU_word_size = 0, IO_word_size = 0, exoid = -1; >>>>> float version; >>>>> >>>>> exoid = ex_open(filename, EX_READ, &CPU_word_size, &IO_word_size, >>>>> &version); >>>>> >>>>> which means the fault is not in PETSc, but rather in ExodusII for your >>>>> machine. We could definitely >>>>> confirm this if you made a 5 line program that only called this, but I >>>>> don't see why it should be different. >>>>> I am not sure what to do, since I am not in control of anything about >>>>> ExodusII. Can you report this to >>>>> their dev team? It is strange since Blaise has not reported this, and >>>>> I know he uses it all the time. >>>>> >>>>> Thanks, >>>>> >>>>> Matt >>>>> >>>>> >>>>>> *LiviadeMacBook-Pro:partition livia$ otool -L >>>>>> DMPlexCreateExodusFromFile* >>>>>> *DMPlexCreateExodusFromFile:* >>>>>> * >>>>>> /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libpetsc.3.7.dylib >>>>>> (compatibility version 3.7.0, current version 3.7.5)* >>>>>> * >>>>>> /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libsuperlu_dist.5.dylib >>>>>> (compatibility version 5.0.0, current version 5.1.3)* >>>>>> * /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libparmetis.dylib >>>>>> (compatibility version 0.0.0, current version 0.0.0)* >>>>>> * /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libmetis.dylib >>>>>> (compatibility version 0.0.0, current version 0.0.0)* >>>>>> * /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libnetcdf.7.dylib >>>>>> (compatibility version 10.0.0, current version 10.0.0)* >>>>>> * >>>>>> /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libhdf5_hl.8.dylib >>>>>> (compatibility version 9.0.0, current version 9.1.0)* >>>>>> * /Users/livia/math/petsc/arch-darwin-cxx-debug/lib/libhdf5.8.dylib >>>>>> (compatibility version 9.0.0, current version 9.1.0)* >>>>>> * /opt/X11/lib/libX11.6.dylib (compatibility version 10.0.0, current >>>>>> version 10.0.0)* >>>>>> * /Users/livia/math/mpich-3.2_install/lib/libmpifort.12.dylib >>>>>> (compatibility version 14.0.0, current version 14.0.0)* >>>>>> * /usr/local/opt/gcc@5/lib/gcc/5/libgfortran.3.dylib (compatibility >>>>>> version 4.0.0, current version 4.0.0)* >>>>>> * /usr/local/opt/gcc@5/lib/gcc/5/libquadmath.0.dylib (compatibility >>>>>> version 1.0.0, current version 1.0.0)* >>>>>> * /Users/livia/math/mpich-3.2_install/lib/libmpicxx.12.dylib >>>>>> (compatibility version 14.0.0, current version 14.0.0)* >>>>>> * /usr/local/opt/gcc@5/lib/gcc/5/libstdc++.6.dylib (compatibility >>>>>> version 7.0.0, current version 7.21.0)* >>>>>> * /usr/local/opt/gcc@5/lib/gcc/5/libgcc_s.1.dylib (compatibility >>>>>> version 1.0.0, current version 1.0.0)* >>>>>> * /Users/livia/math/mpich-3.2_install/lib/libmpi.12.dylib >>>>>> (compatibility version 14.0.0, current version 14.0.0)* >>>>>> * /Users/livia/math/mpich-3.2_install/lib/libpmpi.12.dylib >>>>>> (compatibility version 14.0.0, current version 14.0.0)* >>>>>> * /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current >>>>>> version 1238.0.0)* >>>>>> * /usr/local/lib/gcc/5/libgcc_s.1.dylib (compatibility version 1.0.0, >>>>>> current version 1.0.0)* >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> >>>>>>>> >>>>>>> >>>>>>>>> Matt >>>>>>>>> >>>>>>>>> >>>>>>>>>> *static char help[] = " create mesh from exodus.\n\n";* >>>>>>>>>> >>>>>>>>>> *#include <petscdm.h>* >>>>>>>>>> *#include <petsc/private/dmpleximpl.h>* >>>>>>>>>> >>>>>>>>>> *#undef __FUNCT__* >>>>>>>>>> *#define __FUNCT__ "main"* >>>>>>>>>> *int main(int argc,char **argv)* >>>>>>>>>> *{* >>>>>>>>>> * char fineMeshFileName[2048];* >>>>>>>>>> * DM dm;* >>>>>>>>>> * MPI_Comm comm;* >>>>>>>>>> * PetscBool flg;* >>>>>>>>>> >>>>>>>>>> * PetscErrorCode ierr;* >>>>>>>>>> >>>>>>>>>> * ierr = PetscInitialize(&argc,&argv,(char >>>>>>>>>> *)0,help);CHKERRQ(ierr);* >>>>>>>>>> * comm = PETSC_COMM_WORLD;* >>>>>>>>>> * ierr = >>>>>>>>>> PetscOptionsGetString(NULL,NULL,"-file",fineMeshFileName,sizeof(fineMeshFileName),&flg);CHKERRQ(ierr);* >>>>>>>>>> * if(!flg){* >>>>>>>>>> * SETERRQ(comm,PETSC_ERR_ARG_NULL,"please specify a fine mesh >>>>>>>>>> file \n");* >>>>>>>>>> * }* >>>>>>>>>> * ierr = DMPlexCreateExodusFromFile( comm,fineMeshFileName, >>>>>>>>>> PETSC_FALSE, &dm);CHKERRQ(ierr);* >>>>>>>>>> * ierr = DMDestroy(&dm);CHKERRQ(ierr);* >>>>>>>>>> * ierr = PetscFinalize();CHKERRQ(ierr);* >>>>>>>>>> *}* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> *LiviadeMacBook-Pro:partition livia$ ./DMPlexCreateExodusFromFile >>>>>>>>>> -file Tri3.exo * >>>>>>>>>> *[0]PETSC ERROR: >>>>>>>>>> ------------------------------------------------------------------------* >>>>>>>>>> *[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation >>>>>>>>>> Violation, probably memory access out of range* >>>>>>>>>> *[0]PETSC ERROR: Try option -start_in_debugger or >>>>>>>>>> -on_error_attach_debugger* >>>>>>>>>> *[0]PETSC ERROR: or see >>>>>>>>>> http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind >>>>>>>>>> <http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind>* >>>>>>>>>> *[0]PETSC ERROR: or try http://valgrind.org <http://valgrind.org> >>>>>>>>>> on GNU/linux and Apple Mac OS X to find memory corruption errors* >>>>>>>>>> *[0]PETSC ERROR: likely location of problem given in stack below* >>>>>>>>>> *[0]PETSC ERROR: --------------------- Stack Frames >>>>>>>>>> ------------------------------------* >>>>>>>>>> *[0]PETSC ERROR: Note: The EXACT line numbers in the stack are >>>>>>>>>> not available,* >>>>>>>>>> *[0]PETSC ERROR: INSTEAD the line number of the start of >>>>>>>>>> the function* >>>>>>>>>> *[0]PETSC ERROR: is given.* >>>>>>>>>> *[0]PETSC ERROR: [0] DMPlexCreateExodusFromFile line 38 >>>>>>>>>> /Users/livia/math/petsc/src/dm/impls/plex/plexexodusii.c* >>>>>>>>>> *[0]PETSC ERROR: --------------------- Error Message >>>>>>>>>> --------------------------------------------------------------* >>>>>>>>>> *[0]PETSC ERROR: Signal received* >>>>>>>>>> *[0]PETSC ERROR: See >>>>>>>>>> http://www.mcs.anl.gov/petsc/documentation/faq.html >>>>>>>>>> <http://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble >>>>>>>>>> shooting.* >>>>>>>>>> *[0]PETSC ERROR: Petsc Release Version 3.7.5, unknown * >>>>>>>>>> *[0]PETSC ERROR: ./DMPlexCreateExodusFromFile on a >>>>>>>>>> arch-darwin-cxx-debug named LiviadeMacBook-Pro.local by livia Sat >>>>>>>>>> Jan 21 >>>>>>>>>> 21:04:22 2017* >>>>>>>>>> *[0]PETSC ERROR: Configure options --with-clanguage=cxx >>>>>>>>>> --with-shared-libraries=1 --download-fblaslapack=1 --with-mpi=1 >>>>>>>>>> --download-parmetis=1 --download-metis=1 --download-netcdf=1 >>>>>>>>>> --download-exodusii=1 --download-hdf5=1 --with-debugging=yes >>>>>>>>>> --with-c2html=0 --download-hypre=1 --with-64-bit-indices=1 >>>>>>>>>> --download-superlu_dist=1 PETSC_ARCH=arch-darwin-cxx-debug* >>>>>>>>>> *[0]PETSC ERROR: #1 User provided function() line 0 in unknown >>>>>>>>>> file* >>>>>>>>>> *application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0* >>>>>>>>>> *[unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=59* >>>>>>>>>> *:* >>>>>>>>>> *system msg for write_line failure : Bad file descriptor* >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> The log files of make and configuration are also attached. If >>>>>>>>>> you have any idea on this issue, please let me know! >>>>>>>>>> >>>>>>>>>> Fande Kong, >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> 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 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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 >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> 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 >>>>> >>>> >>>> >>> >>> >>> -- >>> 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 >>> >> >> > > > -- > 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 >
