Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

segmentation fault wallet linux #91

Open
dinastyoffreedom opened this issue Jul 19, 2018 · 2 comments
Open

segmentation fault wallet linux #91

dinastyoffreedom opened this issue Jul 19, 2018 · 2 comments

Comments

@dinastyoffreedom
Copy link

hi
I have very strange problem very hard to debug.
after last version cryptonote generator I started to have proof of work to weak. comment out the line everything work fine in windows. but not with linux. this is what happen
loading a wallet container with linux ubuntu 16 that work right with windows perfectly, it go in Core dump with error SIGSEGV Segmentatiomn fault.
is not clear the point debugging after sometime it receive random message : The inferior stopped because it received a sinal from operativ system:signal name SIGSEGV Segmentation fault
and move to line: CRYPTO_MAKE_HASHABLE(KeyImage) within file cryto.h
program stop to work. We did hard fork some thousands blocks before, and seem that problem happen to old wallets not the news.
is not a problem of the Wallet Container. same file is loaded and work with Windows.
Same happen to Simplewallet loading old wallet it load but after saving reloading give core dump. But this repeat happen only in Linux. Windows this time work all correctly.
if someone have idea , maybe @pmitchev have a solution?

@dinastyoffreedom
Copy link
Author

dinastyoffreedom commented Jul 19, 2018

this is the debugger trace immediately after the SIGSEGV...

1 memcmp_sse2 memcmp.S 223 0x7f9f234ffe3b
2 Crypto::operator== crypto.h 261 0x664be4
3 CryptoNote::SpentOutputDescriptor::operator== TransfersContainer.cpp 157 0x664be4
4 std::equal_toCryptoNote::SpentOutputDescriptor::operator() stl_function.h 357 0x670597
5 boost::multi_index::detail::hashed_index<boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, std::equal_toCryptoNote::SpentOutputDescriptor, boost::multi_index::detail::nth_layer<1, CryptoNote::SpentTransactionOutput, boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, mpl
::na, mpl
::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::ContainingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, Crypto::Hash const&, &(CryptoNote::TransactionOutputInformationEx::getTransactionHash() const)>, mpl_::na, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpendingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::SpentTransactionOutput, Crypto::Hash const&, &(CryptoNote::SpentTransactionOutput::getSpendingTransactionHash() const)>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocatorCryptoNote::SpentTransactionOutput>, boost::mpl::v_item<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::equal_range<CryptoNote::SpentOutputDescriptor, CryptoNote::SpentOutputDescriptorHasher, std::equal_toCryptoNote::SpentOutputDescriptor> hashed_index.hpp 1590 0x670597
6 boost::multi_index::detail::hashed_index<boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, std::equal_toCryptoNote::SpentOutputDescriptor, boost::multi_index::detail::nth_layer<1, CryptoNote::SpentTransactionOutput, boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::ContainingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, Crypto::Hash const&, &(CryptoNote::TransactionOutputInformationEx::getTransactionHash() const)>, mpl_::na, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpendingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::SpentTransactionOutput, Crypto::Hash const&, &(CryptoNote::SpentTransactionOutput::getSpendingTransactionHash() const)>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocatorCryptoNote::SpentTransactionOutput>, boost::mpl::v_item<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::equal_range<CryptoNote::SpentOutputDescriptor, CryptoNote::SpentOutputDescriptorHasher, std::equal_toCryptoNote::SpentOutputDescriptor> hashed_index.hpp 516 0x66a60f
7 boost::multi_index::detail::hashed_index<boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, std::equal_toCryptoNote::SpentOutputDescriptor, boost::multi_index::detail::nth_layer<1, CryptoNote::SpentTransactionOutput, boost::multi_index::indexed_by<boost::multi_index::hashed_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, CryptoNote::SpentOutputDescriptor, &(CryptoNote::TransactionOutputInformationEx::getSpentOutputDescriptor() const)>, CryptoNote::SpentOutputDescriptorHasher, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::ContainingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::TransactionOutputInformationEx, Crypto::Hash const&, &(CryptoNote::TransactionOutputInformationEx::getTransactionHash() const)>, mpl_::na, mpl_::na>, boost::multi_index::hashed_non_unique<boost::multi_index::tag<CryptoNote::TransfersContainer::SpendingTransactionIndex, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::multi_index::const_mem_fun<CryptoNote::SpentTransactionOutput, Crypto::Hash const&, &(CryptoNote::SpentTransactionOutput::getSpendingTransactionHash() const)>, mpl_::na, mpl_::na>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, std::allocatorCryptoNote::SpentTransactionOutput>, boost::mpl::v_item<CryptoNote::TransfersContainer::SpentOutputDescriptorIndex, boost::mpl::vector0<mpl_::na>, 0>, boost::multi_index::detail::hashed_unique_tag>::equal_rangeCryptoNote::SpentOutputDescriptor hashed_index.hpp 505 0x66a60f
8 CryptoNote::TransfersContainer::addTransactionInputs TransfersContainer.cpp 366 0x66a60f
9 CryptoNote::TransfersContainer::addTransaction TransfersContainer.cpp 217 0x66b581
10 CryptoNote::TransfersSubscription::addTransaction TransfersSubscription.cpp 63 0x662e24
11 CryptoNote::TransfersConsumer::processOutputs TransfersConsumer.cpp 563 0x65ec57
12 CryptoNote::TransfersConsumer::processTransaction TransfersConsumer.cpp 527 0x65ef27
13 CryptoNote::TransfersConsumer::onNewBlocks TransfersConsumer.cpp 323 0x6607f6
14 CryptoNote::BlockchainSynchronizer::updateConsumers BlockchainSynchronizer.cpp 591 0x648ea1
15 CryptoNote::BlockchainSynchronizer::processBlocks BlockchainSynchronizer.cpp 531 0x64a4e5
16 CryptoNote::BlockchainSynchronizer::startBlockchainSync BlockchainSynchronizer.cpp 483 0x64b562
17 CryptoNote::BlockchainSynchronizer::actualizeFutureState BlockchainSynchronizer.cpp 300 0x64e452
18 CryptoNote::BlockchainSynchronizer::workingProcedure BlockchainSynchronizer.cpp 335 0x64e5d7
19 ?? 0x7f9f2402fc80
20 start_thread pthread_create.c 333 0x7f9f238426ba
21 clone clone.S 109 0x7f9f2357841d

the last operation before core dump is
memcmp_sse2 memcmp.S 223 0x7f9f234ffe3b

it is a memory leak during a memory compare command

@dinastyoffreedom
Copy link
Author

and this is debugger Log after crash

=thread-exited,id="9",group-id="i1"
sThread 9 in group i1 exited.

~"\nThread "
~"5 "walletd" received signal SIGSEGV, Segmentation fault.\n"
~"[Switching to Thread 0x7fcdd2e1e700 (LWP 8386)]\n"
~"__memcmp_sse2 () at ../sysdeps/x86_64/multiarch/../memcmp.S:223\n"
&"223\t../sysdeps/x86_64/multiarch/../memcmp.S: File o directory non esistent.\n"
*stopped,reason="signal-received",signal-name="SIGSEGV",signal-meaning="Segmentation fault",frame={addr="0x00007fcdd45b2e3b",func="__memcmp_sse2",args=[],file="../sysdeps/x86_64/multiarch/../memcmp.S",fullname="/build/glibc-Cl5G7W/glibc-2.23/string/../sysdeps/x86_64/multiarch/../memcmp.S",line="223"},thread-id="5",stopped-threads="all",core="2"
dNOTE: INFERIOR SPONTANEOUS STOP
sStopped.
dState changed from InferiorRunOk(8) to InferiorStopOk(11) [master]
dHANDLING SIGNAL SIGSEGV
sStopped: Segmentation fault (Signal SIGSEGV).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant