boostorg / boostorg/bcp

bcp crashes with stack overflow on ubuntu16.04

Open
#6 15 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
23
Forks
38
PR merge metrics
No merged PRs in 30d

Description

Using https://github.com/conan-community/conan-boost with `boost:namespace = boost_ns` and `boost:namespace_alias = True` will fail with Boost 1.70 on ubuntu 16.04 with a core dump.

```
...
INFO: tracking source dependencies of library log due to presence of "class light_rw_mutex
{" in file "boost/log/detail/light_rw_mutex.hpp"
INFO: tracking source dependencies of library random due to presence of "class random_device : private noncopyable
{" in file "boost/random/random_device.hpp"
CAUTION: don't know how to trace depenencies through macro: "BOOST_SPIRIT_HEADER" in file: libs/spirit/repository/test/test_headers/test.cpp
CAUTION: don't know how to trace depenencies through macro: "BOOST_SPIRIT_HEADER" in file: libs/spirit/repository/test/test_headers/test.cpp
CAUTION: don't know how to trace depenencies through macro: "BOOST_SPIRIT_HEADER" in file: libs/spirit/test/test_headers/test.cpp
CAUTION: don't know how to trace depenencies through macro: "BOOST_SPIRIT_HEADER" in file: libs/spirit/test/test_headers/test.cpp
Segmentation fault (core dumped)
```

The stack trace looks like this and goes on with the same two function calls

```
#0 0x00007fbbf6ae2bbc in _int_malloc (av=av@entry=0x7fbbf6e25b20 , bytes=bytes@entry=64) at malloc.c:3353
#1 0x00007fbbf6ae5184 in __GI___libc_malloc (bytes=64) at malloc.c:2913
#2 0x00007fbbf70cee78 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x000000000041b931 in std::_Rb_tree, path_less, std::allocator >::_M_insert_unique(boost::filesystem::path const&) ()
#4 0x000000000041542f in bcp_implementation::add_file(boost::filesystem::path const&) ()
#5 0x0000000000419dc6 in bcp_implementation::add_path(boost::filesystem::path const&) ()
```

The bcp command-line

```
bcp --namespace=boost_ns --namespace-alias --boost=boost_1_70_0 compatibility uuid array tti lockfree utility units archive signals2 preprocessor move program_options system config static_assert bind algorithm ratio crc regex property_tree process property_map yap ptr_container exception safe_numerics intrusive pool function_types timer coroutine icl boost-build.jam fusion lexical_cast build contract flyweight scope_exit typeof endian variant multi_index msm tuple mpi callable_traits statechart local_function numeric hof vmd fiber chrono polygon detail outcome core accumulators graph histogram coroutine2 multiprecision type_erasure poly_collection bimap context python geometry asio boost_install compute mp11 xpressive disjoint_sets spirit graph_parallel foreach logic test atomic type_traits date_time pending thread iostreams iterator qvm circular_buffer locale function log beast optional functional integer container concept assert dynamic_bitset unordered range io conversion type_index serialization any dll predef align concept_check assign phoenix stacktrace format convert hana parameter metaparse mpl proto heap multi_array lambda parameter_python math random filesystem rational sort boostcpp.jam headers gil container_hash throw_exception interprocess tokenizer winapi smart_ptr wave custom-boost
```

It worked fine with Boost 1.69. It also works with 1.70 on CentOS 7, ubuntu 18.04, ubuntu 19.04 and Kali 2019.2.

I am using the default compiler on a x86_64 machine.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.