Skip to content

pflow segfaults freeing the matrix #18

@pelesh

Description

@pelesh

Issue type

Bug

Issue applies to:

  • PFLOW
  • OPFLOW
  • TCOPFLOW
  • SCOPFLOW
  • SOPFLOW
  • CMake and build system
  • Spack
  • Visualization
  • Documentation
  • Other

Summary

Summary
When executing pflow on a grid we get a segfault. Based on gdb, it looks like it is a memory free issue. The console output is provided below:

Description how to reproduce the issue

Command that produced the issue:

./pflow -netfile TestCase_200kV.m -save_output 1

Output:

[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 https://petsc.org/release/faq/#valgrind and https://petsc.org/release/faq/
[0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
[0]PETSC ERROR: to get more information on the crash.
[0]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash.
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
  Proc: [[19147,0],0]
  Errorcode: 59

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
Details
❯ gdb --args ./pflow -netfile TestCase_200kV.m  -save_output 1

GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2) 12.1
Copyright (C) 2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
https://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./pflow...
(No debugging symbols found in ./pflow)
(gdb) run
Starting program: /localwork/fda/ExaSGD/ipopt-installation-instructions/J10/ExaGO/build/applications/pflow -netfile TestCase_200kV.m -save_output 1
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff2659640 (LWP 2029571)]

Thread 1 "pflow" received signal SIGSEGV, Segmentation fault.
0x00007ffff60be3fe in __GI___libc_free (mem=0x1364000010df) at ./malloc/malloc.c:3368
3368 ./malloc/malloc.c: No such file or directory.
(gdb) bt
#0 0x00007ffff60be3fe in __GI___libc_free (mem=0x1364000010df) at ./malloc/malloc.c:3368
#1 0x00007ffff67d930b in PetscFreeAlign (ptr=, line=, func=,
file=)
at /tmp/fda/spack-stage/spack-stage-petsc-3.23.2-zb3qcwni7vh5ehmbtwzp6izojk5tpmxs/spack-src/src/sys/memory/mal.c:103
#2 0x00007ffff600da40 in PSConnCompDestroy(_p_PS*) ()
from /localwork/fda/ExaSGD/ipopt-installation-instructions/J10/ExaGO/build/src/ps/libexago_ps.so
#3 0x00007ffff5ff4090 in PSDestroy ()
from /localwork/fda/ExaSGD/ipopt-installation-instructions/J10/ExaGO/build/src/ps/libexago_ps.so
#4 0x00007ffff7faefd4 in PFLOWDestroy ()
from /localwork/fda/ExaSGD/ipopt-installation-instructions/J10/ExaGO/build/src/pflow/libexago_pflow.so
#5 0x0000555555555ef3 in main ()
(gdb)

ExaGO version

develop

System and environment details

See Frontier build config.

Additional information

No response

Proposed solution

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions