Hi Jack, 1- Where is your main function to see how you called your class? 2- I do not see the implementation of GetPosition, GetName, etc.?
With best regards, -Belaid. From: dtustud...@hotmail.com To: us...@open-mpi.org List-Post: users@lists.open-mpi.org Date: Mon, 14 Mar 2011 19:04:12 -0600 Subject: [OMPI users] OMPI seg fault by a class with weird address. Hi, I got a run-time error of a Open MPI C++ program. The following output is from gdb: --------------------------------------------------------------------------Program received signal SIGSEGV, Segmentation fault.0x00002aaaab3b0b81 in opal_memory_ptmalloc2_int_malloc () from /opt/openmpi-1.3.4-gnu/lib/libopen-pal.so.0 At the point Breakpoint 9, Index::Index (this=0x7fffffffcb80) at src/index.cpp:2020 Name(0) {} The Index has been called before this point and no problem:-------------------------------------------------------Breakpoint 9, Index::Index (this=0x117d800) at src/index.cpp:2020 Name(0) {}(gdb) cContinuing. Breakpoint 9, Index::Index (this=0x117d860) at src/index.cpp:2020 Name(0) {}(gdb) cContinuing.---------------------------------------------------------------------------- It seems that the 0x7fffffffcb80 address is a problem. But, I donot know the reason and how to remove the bug. Any help is really appreciated. thanks the following is the index definition. ---------------------------------------------------------class Index { public: Index(); Index(const Index& rhs); ~Index(); Index& operator=(const Index& rhs); vector<int> GetPosition() const; vector<int> GetColumn() const; vector<int> GetYear() const; vector<string> GetName() const; int GetPosition(const int idx) const; int GetColumn(const int idx) const; int GetYear(const int idx) const; string GetName(const int idx) const; int GetSize() const; void Add(const int idx, const int col, const string& name); void Add(const int idx, const int col, const int year, const string& name); void Add(const int idx, const Step& col, const string& name); void WriteFile(const char* fileinput) const; private: vector<int> Position; vector<int> Column; vector<int> Year; vector<string> Name;};// Contructors and destructor for the Index classIndex::Index() : Position(0), Column(0), Year(0), Name(0) {} Index::Index(const Index& rhs) : Position(rhs.GetPosition()), Column(rhs.GetColumn()), Year(rhs.GetYear()), Name(rhs.GetName()) {} Index::~Index() {} Index& Index::operator=(const Index& rhs) { Position = rhs.GetPosition(); Column = rhs.GetColumn(), Year = rhs.GetYear(), Name = rhs.GetName(); return *this;}---------------------------------------------------------- _______________________________________________ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users