Boost logo

Boost Users :

Subject: [Boost-users] [filesystem] Strange seg.faults of boost::filesystem under ElectricFence
From: Pavel Shevaev (pacha.shevaev_at_[hidden])
Date: 2009-07-25 03:06:47


Folks, I'm trying to spot a memory corruption error in my application
using ElectricFence[1] and I'm facing really weird segfaults in
boost::filesystem.
I don't really believe it is boost::filesystem which causes a
seg.fault but rather my improper usage of ElectricFence.

Here is the most interesting part of the core dump:

#0 0x00007f2b4aa1c517 in kill () from /lib/libc.so.6
#1 0x000000000048f46b in on_signal (s=4) at main.cpp:180
#2 <signal handler called>
#3 0x00007f2b4aa1c517 in kill () from /lib/libc.so.6
#4 0x00007f2b4b4e746f in ?? () from /usr/lib/libefence.so.0
#5 0x00007f2b4b4e8290 in _eff_deallocate () from /usr/lib/libefence.so.0
#6 0x00007f2b4b4e884e in _eff_allocate () from /usr/lib/libefence.so.0
#7 0x00007f2b4b4e7288 in operator new () from /usr/lib/libefence.so.0
#8 0x00007f2b4b27d711 in std::string::_Rep::_S_create () from
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libstdc++.so.6
#9 0x00007f2b4b27e0d5 in ?? () from
/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libstdc++.so.6
#10 0x00007f2b4b27e213 in std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string ()
   from /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.3/libstdc++.so.6
#11 0x00007f2b4cbaa81e in boost::filesystem::detail::dir_itr_first ()
   from /home/game/hg/master_49100/shared/scripts/../lib/boost/build/lib/libboost_filesystem-mt.so

Basically the following line in my app cases the seg.fault:

boost::filesystem::directory_iterator dir_iter(path);

Inspecting path variable under gdb shows it's ok and actuall directory exists.

Here is some information about my application:

* built with gcc-4.3.3
* runs under linux-2.6.29-gentoo
* uses boost-1.35
* boost is built with options: ./bjam link=shared --build-type=minimal
--layout=system --toolset=gcc
* ElectricFence built from gentoo package efence-2.4.13-r1

The question is whether there are any special boost build options
which should be used with ElectricFence.

Thanks in advance.

[1]http://www.pf-lug.de/projekte/haya/efence.php

-- 
Best regards, Pavel

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net