The following is a partial stack dump from GDB. It shows that the this pointer
becomes NULL when calling one (private) member function from another (public)
member function.

#5  0x0805864e in ConfigReader::read_config (this=0x0, [EMAIL PROTECTED])
    at file_reader.cpp:186
#6  0x08058079 in ConfigReader::entity (this=0x808791c, [EMAIL PROTECTED])
    at file_reader.cpp:148

The relevant function is:


const EntityInfo & ConfigReader::entity(const std::string &type) {
  infomap::iterator i = cache_.find(type);
  
  // If not found, attempt to read the config file for that entity
  if (i == cache_.end()) {
    i = read_config(type);
  }
  
  return i->second;
}

-- 
           Summary: this pointer somehow gets NULLed between member function
                    calls
           Product: gcc
           Version: 3.3.6
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bjs5075 at rit dot edu
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21874

Reply via email to