#40925: libboost (libstdc++) segfault on 10.9 Mavericks -----------------------+-------------------------------- Reporter: wjngkoh@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.99 Keywords: | Port: -----------------------+-------------------------------- Hi all, I encountered a segfault error when I used boost::filesystem with gcc- mp-4.8. Both are installed via MacProts (ports gcc48 and boost.) After upgrading from Mountain Lion to Mavericks, I experienced this problem, so I just formatted my laptop and did clean install Mavericks and MacPorts from SVN again. However, the same problem still persists. Thus, I think it would be an actual bug rather than my mistake, and hope others can also reproduce this problem. Here is the lldb output of my example code: {{{ % lldb boost_test !244 Current executable set to 'boost_test' (x86_64). (lldb) run Process 7718 launched: '/tmp/boost_test' (x86_64) Process 7718 stopped * thread #1: tid = 0x729956, 0x000000010002fe29 libstdc++.6.dylib`__cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const + 35, queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=1, address=0x9) frame #0: 0x000000010002fe29 libstdc++.6.dylib`__cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const + 35 libstdc++.6.dylib`__cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const + 35: -> 0x10002fe29: movq 8(%rcx), %rsi 0x10002fe2d: movq %r9, 16(%rsp) 0x10002fe32: movq 96(%rsp), %rbp 0x10002fe37: movq 104(%rsp), %r15 (lldb) list 6 int main() { 7 string src = "boost_test.cpp"; 8 string dst = "boost_test.cpp.bak"; 9 boost::filesystem::exists(dst); 10 boost::filesystem::remove(dst); 11 boost::filesystem::copy_file(src, dst); 12 } (lldb) }}} The example code I used in this testing is as follows: {{{ #include <iostream> #include <string> #include <boost/filesystem.hpp> using namespace std; int main() { string src = "boost_test.cpp"; string dst = "boost_test.cpp.bak"; boost::filesystem::exists(dst); boost::filesystem::remove(dst); boost::filesystem::copy_file(src, dst); } }}} and also Makefile. {{{ boost_test: boost_test.cpp g++-mp-4.8 -g -I/opt/local/include -L/opt/local/lib boost_test.cpp -lboost_filesystem-mt -lboost_system-mt -o boost_test }}} -- Ticket URL: <https://trac.macports.org/ticket/40925> MacPorts <http://www.macports.org/> Ports system for OS X