Details
-
Bug
-
Resolution: Gone away
-
Major - P3
-
None
-
None
-
None
-
None
Description
Summary
I am building mongocxx, mongo-c-driver in release mode and my project was built in debug mode, this configuration worked but when I build my project in release mode I get an error:
Thread 1 (LWP 11721): |
#0 0x000000000061444f in __wrap_free () |
#1 0x00007fefdded4562 in mongocxx::v_noabi::database::_run_command(mongocxx::v_noabi::client_session const*, bsoncxx::v_noabi::view_or_value<bsoncxx::v_noabi::document::view, bsoncxx::v_noabi::document::value>) () from /nix/store/n11rgm9m6jmkvk1bf0lklzph6qgjwx9x-mongocxx/lib/libmongocxx.so._noabi |
#2 0x00007fefdded4739 in mongocxx::v_noabi::database::run_command(bsoncxx::v_noabi::view_or_value<bsoncxx::v_noabi::document::view, bsoncxx::v_noabi::document::value>) () from /nix/store/n11rgm9m6jmkvk1bf0lklzph6qgjwx9x-mongocxx/lib/libmongocxx.so._noabi |
|
The code:
bool MongoDBClient::connected(mongocxx::database& db) const { |
using namespace std::chrono_literals;
|
logInfo("Try to ping mongo"); |
std::this_thread::sleep_for(1s);
|
try { |
auto result = db.run_command(make_document(kvp("ping", 1))); |
if (result.view()["ok"].get_double().value != 1) { |
return false; |
}
|
} catch (const std::exception& e) { |
logWarn("Mongo ping does not work {}", e.what()); |
return false; |
}
|
logInfo("Mongo is ok"); |
return true; |
}
|
|
|
|
|
auto pool = std::make_shared<mongocxx::pool>(mongocxx::uri{configuration});
|
auto connection_ptr = pool->acquire();
|
auto db = connection_ptr->database(name); auto ok = connected(db);
|
I use nixos and when building I tried to use versions 1.21.1, 1.22.0 and 3.7.2 for mongo-c-driver and mongocxx respectively:
// mongo-c-client
|
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$out \ -DBUILD_VERSION=${version} -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF
|
// mongocxx
|
cmake .. -DENABLE_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$out \ -DBUILD_VERSION=${version} -DCMAKE_CXX_STANDARD=20 |
Environment
OS: nix-os
Compiler: GCC x86_64-unknown-linux-gnu/11.3.0
Mongo-c-driver: 1.21.0, 1.22.1
Mongocxx: 3.6.6, 3.7.2