malloc(): memory corruption:
Dominik Szczerba
dominik at itis.ethz.ch
Sat Nov 14 16:41:28 CST 2009
No I am using Hypre built automatically along with petsc...
I will try ex10, thanks...
Matthew Knepley wrote:
> This is already bad. You had an Invalid Read and Invalid Write in your
> Hypre. Did you build it
> yourself? If so, let us build it. If not, please try your matrix on KSP
> ex10 and see if you get a
> crash on 2 procs.
>
> Thanks,
>
> Matt
>
> On Sat, Nov 14, 2009 at 3:51 PM, Dominik Szczerba <dominik at itis.ethz.ch
> <mailto:dominik at itis.ethz.ch>> wrote:
>
> run onlu in single, he says things like below - but does not crash.
> Also, the program run with -np 1 does not crash. No clear idea
> though about valgrind's output, please advise if this tells you
> anything...
>
> Call from NS3T10::createSolverContexts() referenced therein is:
>
> ierr = KSPCreate(petsc_comm,&kspSchurVelocity);CHKERRQ(ierr);
>
>
> ==2605== Conditional jump or move depends on uninitialised value(s)
> ==2605== at 0x8AE720F: hypre_BoomerAMGSetPlotFileName
> (par_amg.c:2115)
> ==2605== by 0x8AE7ED9: hypre_BoomerAMGCreate (par_amg.c:276)
> ==2605== by 0x8AE4A71: HYPRE_BoomerAMGCreate (HYPRE_parcsr_amg.c:31)
> ==2605== by 0x8562019: PCHYPRESetType_HYPRE (hypre.c:850)
> ==2605== by 0x8563068: PCHYPRESetType (hypre.c:964)
> ==2605== by 0x80E67BB: NS3T10::createSolverContexts()
> (NS3T10mpi.cxx:1980)
> ==2605== by 0x80EA63B: NS3T10::solve() (NS3T10mpi.cxx:2306)
> ==2605== by 0x8104860: main (ns3t10mpi_main.cxx:1516)
> ==2605==
> ==2605== Conditional jump or move depends on uninitialised value(s)
> ==2605== at 0x8AE7244: hypre_BoomerAMGSetPlotFileName
> (par_amg.c:2120)
> ==2605== by 0x8AE7ED9: hypre_BoomerAMGCreate (par_amg.c:276)
> ==2605== by 0x8AE4A71: HYPRE_BoomerAMGCreate (HYPRE_parcsr_amg.c:31)
> ==2605== by 0x8562019: PCHYPRESetType_HYPRE (hypre.c:850)
> ==2605== by 0x8563068: PCHYPRESetType (hypre.c:964)
> ==2605== by 0x80E67BB: NS3T10::createSolverContexts()
> (NS3T10mpi.cxx:1980)
> ==2605== by 0x80EA63B: NS3T10::solve() (NS3T10mpi.cxx:2306)
> ==2605== by 0x8104860: main (ns3t10mpi_main.cxx:1516)
> ==2605==
> ==2605== Conditional jump or move depends on uninitialised value(s)
> ==2605== at 0x4025C16: strcpy (mc_replace_strmem.c:303)
> ==2605== by 0x8AE727A: hypre_BoomerAMGSetPlotFileName
> (par_amg.c:2123)
> ==2605== by 0x8AE7ED9: hypre_BoomerAMGCreate (par_amg.c:276)
> ==2605== by 0x8AE4A71: HYPRE_BoomerAMGCreate (HYPRE_parcsr_amg.c:31)
> ==2605== by 0x8562019: PCHYPRESetType_HYPRE (hypre.c:850)
> ==2605== by 0x8563068: PCHYPRESetType (hypre.c:964)
> ==2605== by 0x80E67BB: NS3T10::createSolverContexts()
> (NS3T10mpi.cxx:1980)
> ==2605== by 0x80EA63B: NS3T10::solve() (NS3T10mpi.cxx:2306)
> ==2605== by 0x8104860: main (ns3t10mpi_main.cxx:1516)
> ==2605==
> ==2605== Conditional jump or move depends on uninitialised value(s)
> ==2605== at 0x4025C35: strcpy (mc_replace_strmem.c:303)
> ==2605== by 0x8AE727A: hypre_BoomerAMGSetPlotFileName
> (par_amg.c:2123)
> ==2605== by 0x8AE7ED9: hypre_BoomerAMGCreate (par_amg.c:276)
> ==2605== by 0x8AE4A71: HYPRE_BoomerAMGCreate (HYPRE_parcsr_amg.c:31)
> ==2605== by 0x8562019: PCHYPRESetType_HYPRE (hypre.c:850)
> ==2605== by 0x8563068: PCHYPRESetType (hypre.c:964)
> ==2605== by 0x80E67BB: NS3T10::createSolverContexts()
> (NS3T10mpi.cxx:1980)
> ==2605== by 0x80EA63B: NS3T10::solve() (NS3T10mpi.cxx:2306)
> ==2605== by 0x8104860: main (ns3t10mpi_main.cxx:1516)
> ==2605==
> Solver contexts created in 2.520000 s
> Starting KSPSolve (0/1)
> 0 KSP Residual norm 8.368803253774e-06
> ==2605== Invalid read of size 8
> ==2605== at 0x8B23B5A: hypre_BoomerAMGCreateS (par_strength.c:223)
> ==2605== by 0x8AE966F: hypre_BoomerAMGSetup (par_amg_setup.c:630)
> ==2605== by 0x8AE4A4D: HYPRE_BoomerAMGSetup (HYPRE_parcsr_amg.c:58)
> ==2605== by 0x855A5D9: PCSetUp_HYPRE (hypre.c:134)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605== by 0x80F5B16: applyPrecSchur(void*, _p_Vec*, _p_Vec*)
> (NS3T10mpi.cxx:3741)
> ==2605== by 0x851C47E: PCApply_Shell (shellpc.c:129)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== by 0x863AC4C: KSPInitialResidual (itres.c:64)
> ==2605== by 0x85EB09A: KSPSolve_GMRES (gmres.c:241)
> ==2605== Address 0xafae5d0 is 0 bytes after a block of size 93,488
> alloc'd
> ==2605== at 0x4023F5B: calloc (vg_replace_malloc.c:418)
> ==2605== by 0x8B4E9C7: hypre_CAlloc (hypre_memory.c:121)
> ==2605== by 0x8B4CA67: hypre_CSRMatrixInitialize (csr_matrix.c:91)
> ==2605== by 0x8B32EC8: hypre_ParCSRMatrixInitialize
> (par_csr_matrix.c:200)
> ==2605== by 0x8AE0C44: hypre_IJMatrixInitializeParCSR
> (IJMatrix_parcsr.c:272)
> ==2605== by 0x8ADBE09: HYPRE_IJMatrixInitialize
> (HYPRE_IJMatrix.c:302)
> ==2605== by 0x891AD3A: MatHYPRE_IJMatrixFastCopy_SeqAIJ (mhyp.c:174)
> ==2605== by 0x891A2E1: MatHYPRE_IJMatrixCopy (mhyp.c:131)
> ==2605== by 0x855A445: PCSetUp_HYPRE (hypre.c:130)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605==
> ==2605== Invalid write of size 4
> ==2605== at 0x8B23E0C: hypre_BoomerAMGCreateS (par_strength.c:301)
> ==2605== by 0x8AE966F: hypre_BoomerAMGSetup (par_amg_setup.c:630)
> ==2605== by 0x8AE4A4D: HYPRE_BoomerAMGSetup (HYPRE_parcsr_amg.c:58)
> ==2605== by 0x855A5D9: PCSetUp_HYPRE (hypre.c:134)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605== by 0x80F5B16: applyPrecSchur(void*, _p_Vec*, _p_Vec*)
> (NS3T10mpi.cxx:3741)
> ==2605== by 0x851C47E: PCApply_Shell (shellpc.c:129)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== by 0x863AC4C: KSPInitialResidual (itres.c:64)
> ==2605== by 0x85EB09A: KSPSolve_GMRES (gmres.c:241)
> ==2605== Address 0xb12a050 is 0 bytes after a block of size 46,744
> alloc'd
> ==2605== at 0x4023F5B: calloc (vg_replace_malloc.c:418)
> ==2605== by 0x8B4E9C7: hypre_CAlloc (hypre_memory.c:121)
> ==2605== by 0x8B23980: hypre_BoomerAMGCreateS (par_strength.c:163)
> ==2605== by 0x8AE966F: hypre_BoomerAMGSetup (par_amg_setup.c:630)
> ==2605== by 0x8AE4A4D: HYPRE_BoomerAMGSetup (HYPRE_parcsr_amg.c:58)
> ==2605== by 0x855A5D9: PCSetUp_HYPRE (hypre.c:134)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605== by 0x80F5B16: applyPrecSchur(void*, _p_Vec*, _p_Vec*)
> (NS3T10mpi.cxx:3741)
> ==2605== by 0x851C47E: PCApply_Shell (shellpc.c:129)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605==
> ...
> ==2605== Invalid read of size 8
> ==2605== at 0x8B1ACE8: hypre_BoomerAMGRelax (par_relax.c:182)
> ==2605== by 0x8B1DFBF: hypre_BoomerAMGRelaxIF
> (par_relax_interface.c:110)
> ==2605== by 0x8AFC310: hypre_BoomerAMGCycle (par_cycle.c:386)
> ==2605== by 0x8AEE09E: hypre_BoomerAMGSolve (par_amg_solve.c:252)
> ==2605== by 0x8AE4A25: HYPRE_BoomerAMGSolve (HYPRE_parcsr_amg.c:76)
> ==2605== by 0x855AAA4: PCApply_HYPRE (hypre.c:172)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== by 0x8606095: KSPSolve_PREONLY (preonly.c:29)
> ==2605== by 0x85A85D3: KSPSolve (itfunc.c:385)
> ==2605== by 0x80F5B16: applyPrecSchur(void*, _p_Vec*, _p_Vec*)
> (NS3T10mpi.cxx:3741)
> ==2605== by 0x851C47E: PCApply_Shell (shellpc.c:129)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== Address 0xafae5d0 is 0 bytes after a block of size 93,488
> alloc'd
> ==2605== at 0x4023F5B: calloc (vg_replace_malloc.c:418)
> ==2605== by 0x8B4E9C7: hypre_CAlloc (hypre_memory.c:121)
> ==2605== by 0x8B4CA67: hypre_CSRMatrixInitialize (csr_matrix.c:91)
> ==2605== by 0x8B32EC8: hypre_ParCSRMatrixInitialize
> (par_csr_matrix.c:200)
> ==2605== by 0x8AE0C44: hypre_IJMatrixInitializeParCSR
> (IJMatrix_parcsr.c:272)
> ==2605== by 0x8ADBE09: HYPRE_IJMatrixInitialize
> (HYPRE_IJMatrix.c:302)
> ==2605== by 0x891AD3A: MatHYPRE_IJMatrixFastCopy_SeqAIJ (mhyp.c:174)
> ==2605== by 0x891A2E1: MatHYPRE_IJMatrixCopy (mhyp.c:131)
> ==2605== by 0x855A445: PCSetUp_HYPRE (hypre.c:130)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605==
> ...
> 0 KSP Residual norm 8.368803253774e-06
> ==2605== Invalid read of size 8
> ==2605== at 0x8B1ADC0: hypre_BoomerAMGRelax (par_relax.c:196)
> ==2605== by 0x8B1DFBF: hypre_BoomerAMGRelaxIF
> (par_relax_interface.c:110)
> ==2605== by 0x8AFC310: hypre_BoomerAMGCycle (par_cycle.c:386)
> ==2605== by 0x8AEE09E: hypre_BoomerAMGSolve (par_amg_solve.c:252)
> ==2605== by 0x8AE4A25: HYPRE_BoomerAMGSolve (HYPRE_parcsr_amg.c:76)
> ==2605== by 0x855AAA4: PCApply_HYPRE (hypre.c:172)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== by 0x8606095: KSPSolve_PREONLY (preonly.c:29)
> ==2605== by 0x85A85D3: KSPSolve (itfunc.c:385)
> ==2605== by 0x80F5B16: applyPrecSchur(void*, _p_Vec*, _p_Vec*)
> (NS3T10mpi.cxx:3741)
> ==2605== by 0x851C47E: PCApply_Shell (shellpc.c:129)
> ==2605== by 0x862074E: PCApply (precon.c:357)
> ==2605== Address 0xcded820 is 0 bytes after a block of size 93,488
> alloc'd
> ==2605== at 0x4023F5B: calloc (vg_replace_malloc.c:418)
> ==2605== by 0x8B4E9C7: hypre_CAlloc (hypre_memory.c:121)
> ==2605== by 0x8B4CA67: hypre_CSRMatrixInitialize (csr_matrix.c:91)
> ==2605== by 0x8B32EC8: hypre_ParCSRMatrixInitialize
> (par_csr_matrix.c:200)
> ==2605== by 0x8AE0C44: hypre_IJMatrixInitializeParCSR
> (IJMatrix_parcsr.c:272)
> ==2605== by 0x8ADBE09: HYPRE_IJMatrixInitialize
> (HYPRE_IJMatrix.c:302)
> ==2605== by 0x891AD3A: MatHYPRE_IJMatrixFastCopy_SeqAIJ (mhyp.c:174)
> ==2605== by 0x891A2E1: MatHYPRE_IJMatrixCopy (mhyp.c:131)
> ==2605== by 0x855A445: PCSetUp_HYPRE (hypre.c:130)
> ==2605== by 0x86256A9: PCSetUp (precon.c:794)
> ==2605== by 0x85A6E62: KSPSetUp (itfunc.c:237)
> ==2605== by 0x85A7EAB: KSPSolve (itfunc.c:353)
> ==2605==
>
>
>
>
> Matthew Knepley wrote:
>
> Try valgrind.
>
> Matt
>
>
> On Sat, Nov 14, 2009 at 3:32 PM, Dominik Szczerba
> <dominik at itis.ethz.ch <mailto:dominik at itis.ethz.ch>
> <mailto:dominik at itis.ethz.ch <mailto:dominik at itis.ethz.ch>>> wrote:
>
> Now for something more serious: I get a crash like this one:
>
> Starting KSPSolve (1/2)
> 0 KSP Residual norm 2.964538623545e-06
> *** glibc detected *** /home/domel/build/solve-debug/ns3t10mpi:
> malloc(): memory corruption: 0x09258008 ***
> ======= Backtrace: =========
> /lib/tls/i686/cmov/libc.so.6[0x5f9ff1]
> /lib/tls/i686/cmov/libc.so.6[0x5fcbb3]
> /lib/tls/i686/cmov/libc.so.6(__libc_calloc+0xa9)[0x5fe009]
>
> /home/domel/build/solve-debug/ns3t10mpi(hypre_CAlloc+0x2c)[0x8b4ea28]
>
> /home/domel/build/solve-debug/ns3t10mpi(hypre_BoomerAMGCoarsenRuge+0xb5)[0x8af2c7b]
> (and so on)
>
> gdb invoked as:
>
> mpiexec -np 2 ..... -on_error_attach_debugger -display :0.0
>
> does not display any backtrace after the crash.
>
> Any hints how to debug are highly appreciated.
>
> Dominik
>
>
>
>
> --
> 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
More information about the petsc-users
mailing list