Mailinglist Archive: opensuse-bugs (15878 mails)

< Previous Next >
[Bug 299959] installation crashes
  • From: bugzilla_noreply@xxxxxxxxxx
  • Date: Tue, 14 Aug 2007 11:41:07 -0600 (MDT)
  • Message-id: <20070814174107.681CF245350@xxxxxxxxxxxxxxxxxxxxxx>
https://bugzilla.novell.com/show_bug.cgi?id=299959#c8


Philipp Thomas <pth@xxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




--- Comment #8 from Philipp Thomas <pth@xxxxxxxxxx>  2007-08-14 11:41:06 MST ---

With Dirks help I verified that this is reason:
While searching boosts bug tracking system, I found

http://svn.boost.org/trac/boost/ticket/1073 :

In operations.cpp, in the dir_itr_first function, there is a static std::string
called dummy_first_name. If the user attempts directory iteration from the
destructor of a global object, it fails because at that time the static
std::string is already destroyed.

The code in question:

      BOOST_FILESYSTEM_DECL boost::filesystem::system_error_type
      dir_itr_first( void *& handle, void *& buffer,
        const std::string & dir, std::string & target,
        file_status &, file_status & )
      {
        static const std::string dummy_first_name( "." );
        if ( (handle = ::opendir( dir.c_str() )) == 0 ) return errno;
        target = dummy_first_name;
        std::size_t path_size;
        fs::system_error_type ec = path_max( path_size );
        if ( ec ) return ec;
        dirent de;
        buffer = std::malloc( (sizeof(dire))
          +  path_size + 1 ); // + 1 for "/0"
        return buffer == 0 ? ENOMEM : 0;
      }

Making dummy_first_name non-static fixes it, as Dirk verified.


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

< Previous Next >
References