On 10/25/2016 01:58 PM, Anton Popov wrote:


On 10/24/2016 10:32 PM, Barry Smith wrote:
    Valgrind doesn't report any problems?


Valgrind hangs and never returns (waited hours for a 5 sec run) after entering factorization for the second time.

Before it happens it prints this (attached)

Anton




On Oct 24, 2016, at 12:09 PM, Anton Popov <[email protected]> wrote:



On 10/24/2016 05:47 PM, Hong wrote:
Barry,
Your change indeed fixed the error of his testing code.
As Satish tested, on your branch, ex16 runs smooth.

I do not understand why on maint or master branch, ex16 creases inside superlu_dist, but not with mumps.

I also confirm that ex16 runs fine with latest fix, but unfortunately not my code.

This is something to be expected, since my code preallocates once in the beginning. So there is no way it can be affected by multiple preallocations. Subsequently I only do matrix assembly, that makes sure structure doesn't change (set to get error otherwise).

Summary: we don't have a simple test code to debug superlu issue anymore.

Anton

Hong

On Mon, Oct 24, 2016 at 9:34 AM, Satish Balay <[email protected]> wrote:
On Mon, 24 Oct 2016, Barry Smith wrote:

[Or perhaps Hong is using a different test code and is observing bugs
with superlu_dist interface..]
She states that her test does a NEW MatCreate() for each matrix load (I cut and pasted it in the email I just sent). The bug I fixed was only related to using the SAME matrix from one MatLoad() in another MatLoad().
Ah - ok.. Sorry - wasn't thinking clearly :(

Satish



USING PICARD JACOBIAN for iteration 0, ||F||/||F0||=1.000000e+00
==10744== Use of uninitialised value of size 8
==10744==    at 0x18087A8: static_schedule (static_schedule.c:960)
==10744==    by 0x17D42AB: pdgstrf (pdgstrf.c:572)
==10744==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10744==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10744==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10744==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10744==    by 0xECC779: PCSetUp (precon.c:968)
==10744==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10744==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10744==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10744==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10745== Use of uninitialised value of size 8
==10745==    at 0x18087A8: static_schedule (static_schedule.c:960)
==10745==    by 0x17D42AB: pdgstrf (pdgstrf.c:572)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10744==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10744==
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10745==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10745==
==10745== Invalid write of size 4
==10745==    at 0x18087A8: static_schedule (static_schedule.c:960)
==10745==    by 0x17D42AB: pdgstrf (pdgstrf.c:572)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10745==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10745==  Address 0xa077c48 is 200 bytes inside a block of size 13,936 free'd
==10745==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10745==    by 0x17A8A16: superlu_free_dist (memory.c:124)
==10745==    by 0x18086A2: static_schedule (static_schedule.c:946)
==10745==    by 0x17D42AB: pdgstrf (pdgstrf.c:572)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==  Block was alloc'd at
==10745==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==10745==    by 0x17A89F4: superlu_malloc_dist (memory.c:118)
==10745==    by 0x18051F5: static_schedule (static_schedule.c:274)
==10745==    by 0x17D42AB: pdgstrf (pdgstrf.c:572)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==
==10745== Conditional jump or move depends on uninitialised value(s)
==10745==    at 0x17AC6CC: isort (util.c:887)
==10745==    by 0x17D7142: pdgstrf (pdgstrf.c:1475)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10745==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10745==
==10745== Conditional jump or move depends on uninitialised value(s)
==10745==    at 0x17D7CA0: pdgstrf (dlook_ahead_update.c:24)
==10745==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10745==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10745==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10745==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10745==    by 0xECC779: PCSetUp (precon.c:968)
==10745==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10745==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10745==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10745==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10745==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10745==    by 0xF5298A: SNESSolve (snes.c:4128)
==10745==
==10744== Conditional jump or move depends on uninitialised value(s)
==10744==    at 0x17AC6CC: isort (util.c:887)
==10744==    by 0x17D7142: pdgstrf (pdgstrf.c:1475)
==10744==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10744==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10744==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10744==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10744==    by 0xECC779: PCSetUp (precon.c:968)
==10744==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10744==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10744==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10744==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10744==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10744==
==10744== Conditional jump or move depends on uninitialised value(s)
==10744==    at 0x17D7CA0: pdgstrf (dlook_ahead_update.c:24)
==10744==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10744==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10744==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10744==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10744==    by 0xECC779: PCSetUp (precon.c:968)
==10744==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10744==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10744==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10744==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10744==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10744==    by 0xF5298A: SNESSolve (snes.c:4128)
==10744==
==10744== Conditional jump or move depends on uninitialised value(s)
==10744==    at 0x17D78F9: pdgstrf (dlook_ahead_update.c:183)
==10744==    by 0x17B94B1: pdgssvx (pdgssvx.c:1124)
==10744==    by 0xA9E777: MatLUFactorNumeric_SuperLU_DIST (superlu_dist.c:427)
==10744==    by 0x6CAA90: MatLUFactorNumeric (matrix.c:3099)
==10744==    by 0x137DFE9: PCSetUp_LU (lu.c:139)
==10744==    by 0xECC779: PCSetUp (precon.c:968)
==10744==    by 0x47AD01: PCStokesUserSetup (lsolve.c:602)
==10744==    by 0x476EC3: PCStokesSetup (lsolve.c:173)
==10744==    by 0x473BE4: FormJacobian (nlsolve.c:389)
==10744==    by 0xF40C3D: SNESComputeJacobian (snes.c:2367)
==10744==    by 0xFA5F1F: SNESSolve_KSPONLY (ksponly.c:38)
==10744==    by 0xF5298A: SNESSolve (snes.c:4128)

Reply via email to