GLIBCXX_FORCE_NEW=1 вызывает двоичный сбой с ошибкой std:: basic_string<char, std:: char_traits <char>, std:: allocator<char>>:: basic_string

Я использую двоичный файл, который связан с объектом, созданным на основе старых библиотек, которые все еще используют кэшированные выделения. Так как GLIBCXX_FORCE_NEW установлен в рабочей среде, двоичный файл завершается с ошибкой ниже.

(gdb) bt
#0  0x00007f80a3f39495 in raise () from /lib64/libc.so.6
#1  0x00007f80a3f3ac75 in abort () from /lib64/libc.so.6
#2  0x00007f80a528a0d5 in __gnu_cxx::__verbose_terminate_handler() () 
from /opt/lib/libstdc++.so.6
#3  0x00007f80a5288166 in ?? () from /opt/lib/libstdc++.so.6
#4  0x00007f80a5288193 in std::terminate() () from 
/opt/lib/libstdc++.so.6
#5  0x00007f80a52883e6 in __cxa_throw () from /opt/lib/libstdc++.so.6
#6  0x00007f80a52e3262 in std::__throw_logic_error(char const*) () from 
/opt/lib/libstdc++.so.6
#7  0x00007f80a52ef6f1 in char* std::string::_S_construct<char const*>
(char const*, char const*, std::allocator<char> const&, 
std::forward_iterator_tag) ()
from /opt/lib/libstdc++.so.6
#8  0x00007f80a52efac8 in std::basic_string<char, 
std::char_traits<char>, std::allocator<char> >::basic_string(char 
const*, std::allocator<char> const&) ()
from /opt/lib/libstdc++.so.6

Как я могу решить эту проблему, не меняя старые библиотеки. Установка GLIBCXX_FORCE_NEW=0 не помогает вообще.

Благодарю.

0 ответов

Другие вопросы по тегам