Closed guzzijones closed 6 years ago
testnet also works fine.
@routed3 - you had also requested info on how to gdb your own way to tracking down this kind of error.
Brief usage of gdb by example, relative to the latest patch, hope it sheds some light on this for you sir.
gdb ~/git/a3rk/remix/build/release/bin/remix-wallet-rpc
(gdb) run --wallet-file ../mainnet-testing-wallet.bin --prompt-for-password --rpc-bind-port 80085
This is where the seg fault was identified, and step 2, upon entering the password, yielded the following:
Thread 1 "remix-wallet-rp" received signal SIGSEGV, Segmentation fault.
0x000000000071063e in void spdlog::logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(spdlog::level::level_enum, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
(gdb) bt
Once the seg fault was isolated, this command generated the following stack trace, useful for establishing context and gathering data when tracking down any other instances of this bug elsewhere in the code (for this particular issue, there were no other instances, but good to verify before pushing in and issuing the PR - just good practice)
#0 0x000000000071063e in void spdlog::logger::log<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(spdlog::level::level_enum, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()
#1 0x000000000075ec6d in epee::http_server_impl_base<tools::wallet_rpc_server, epee::net_utils::connection_context_base>::init(std::function<void (unsigned long, unsigned char*)>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, boost::optional<epee::net_utils::http::login>) ()
#2 0x000000000069928b in tools::wallet_rpc_server::init(boost::program_options::variables_map const*) ()
#3 0x00000000006760c0 in main ()
Looks to be an issue with the logger is epee interfering with the remix logger
this line
77 spd::get("rmx_logger")->info("Binding on " + bind_ip + ":" + bind_port);
appears to be the issue
I am getting:
non symbol get in spd namespace
but i am thinking it is just optimized out.
I need to compile with no optimization.
I think the issue is we need to include "include_base_utils.h" like other source files have done. The logger doesn't exist and spd::get will return a nullptr by design. then when the member dereference happens it is a crash.
Closed to PR #16
Describe the bug
To Reproduce Steps to reproduce the behavior:
Expected behavior no seg fault
Screenshots If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Additional context older release works fine per camthegeek