Linking with -memory paranoid

From: Cesar Luis Avila (
Date: Thu Aug 10 2006 - 10:49:43 CDT

Dear all,
I have problems with Namd 2.6b1 on AMD64 architectures.
charmrun exits on random points during simulation with the message :
------------- Processor 2 Exiting: Caught Signal ------------
Signal: segmentation violation
Suggestion: Try running with '++debug', or linking with '-memory paranoid'.
Fatal error on PE 2> segmentation violation

When I run with ++debug I get the message:
Charmrun: error on request socket--
Socket closed before recv.

Which according to Charm++ FAQ means a Segmentation fault.

   1. *When I run my program, it gives this error:*

      Charmrun: error on request socket--
      Socket closed before recv.
      This means that the node program died without informing charmrun
      about it, which typically means a segmentation fault while in the
      interrupt handler or other critical communications code. This
      indicates severe corruption in Charm++'s data structures, which is
      likely the result of a heap corruption bug in your program.
      Re-linking with "-memory paranoid" may clarify the true problem.

So running charmrun with ++debug did not clarify too much.

This takes me to the second option, ie, linking with -memory paranoid.
I suppose this message means: the problem is not in Charm++ itself but
in the program you have compiled, NAMD. So please recompile it again but
this time link with -memory paranoid.

The problem is that I don't know how to pass this option to the
compiler. Is it enough to write
./config debug tcl fftw Linux-amd64-g++
prior to NAMD compiling? Or do I have to pass the option somewhere else?

Cesar Avila

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:42:27 CST