sugarchain-project / yumekawa

[TEST] Yumekawa 2.0 Taproot
MIT License
6 stars 5 forks source link

Segmentation fault at loading huge wallet.dat (840 MB) #71

Open decryp2kanon opened 3 years ago

decryp2kanon commented 3 years ago

its a mining wallet. image

2020-12-01T22:08:00Z [123zeze] Wallet File Version = 159900
2020-12-01T22:08:00Z [123zeze] Keys: 0 plaintext, 4074 encrypted, 4074 w/ metadata, 4074 total. Unknown wallet records: 0
2020-12-01T22:08:00Z [123zeze] Wallet completed loading in           16517ms
2020-12-01T22:08:00Z init message: Rescanning...
2020-12-01T22:08:00Z [123zeze] Rescanning last 2630777 blocks (from block 5418624)...
2020-12-01T22:08:00Z [123zeze] Rescan started from block f07eb429e83d17f4cc8bc1dc0a8c81fcb3adb6f26ec07e3fd0abb7ac60fea14a...
Segmentation fault
decryp2kanon commented 3 years ago

its working after deleting hidden .lock file

decryp2kanon commented 3 years ago

valgrind --leak-check=yes src/bitcoind -regtest

decryp2kanon commented 3 years ago

https://gist.github.com/laanwj/29bc141fb8d10608651c

gdb -args ./bitcoind -datadir=/usb/bitcoin

decryp2kanon commented 3 years ago
2020-12-09T00:24:33Z [123zeze] Still rescanning. At block 6682462. Progress=0.821363
2020-12-09T00:25:24Z Potential stale tip detected, will try using extra outbound peer (last tip update: 235 seconds ago)
Segmentation fault
decryp2kanon commented 3 years ago

https://github.com/bitcoin/bitcoin/issues/11364

decryp2kanon commented 3 years ago
2020-12-09T07:32:20Z [default wallet] Still rescanning. At block 6692122. Progress=0.822019
2020-12-09T07:32:22Z Potential stale tip detected, will try using extra outbound peer (last tip update: 7370 seconds ago)
...
==20484== Invalid read of size 4
==20484==    at 0x7601A6: LegacyScriptPubKeyMan::MarkUnusedAddresses(CScript const&) (scriptpubkeyman.cpp:360)
==20484==    by 0x7A8971: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1015)
==20484==    by 0x7A98A8: CWallet::SyncTransaction(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1152)
==20484==    by 0x7AE4DE: CWallet::ScanForWalletTransactions(uint256 const&, int, boost::optional<int>, WalletRescanReserver const&, bool) (wallet.cpp:1791)
==20484==    by 0x7BFC5F: CWallet::Create(interfaces::Chain&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<WalletDatabase, std::default_delete<WalletDatabase> >, unsigned long, bilingual_str&, std::vector<bilingual_str, std::allocator<bilingual_str> >&) (wallet.cpp:4068)
==20484==    by 0x6AD9E6: LoadWallets(interfaces::Chain&) (load.cpp:108)
==20484==    by 0x6586F8: interfaces::(anonymous namespace)::WalletClientImpl::load() (wallet.cpp:510)
==20484==    by 0x1607D0: AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) (init.cpp:1828)
==20484==    by 0x143B8F: AppInit(int, char**) (bitcoind.cpp:142)
==20484==    by 0x14420C: main (bitcoind.cpp:172)
==20484==  Address 0x4 is not stack'd, malloc'd or (recently) free'd
==20484== 
==20484== 
==20484== Process terminating with default action of signal 11 (SIGSEGV)
==20484==  Access not within mapped region at address 0x4
==20484==    at 0x7601A6: LegacyScriptPubKeyMan::MarkUnusedAddresses(CScript const&) (scriptpubkeyman.cpp:360)
==20484==    by 0x7A8971: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1015)
==20484==    by 0x7A98A8: CWallet::SyncTransaction(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1152)
==20484==    by 0x7AE4DE: CWallet::ScanForWalletTransactions(uint256 const&, int, boost::optional<int>, WalletRescanReserver const&, bool) (wallet.cpp:1791)
==20484==    by 0x7BFC5F: CWallet::Create(interfaces::Chain&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<WalletDatabase, std::default_delete<WalletDatabase> >, unsigned long, bilingual_str&, std::vector<bilingual_str, std::allocator<bilingual_str> >&) (wallet.cpp:4068)
==20484==    by 0x6AD9E6: LoadWallets(interfaces::Chain&) (load.cpp:108)
==20484==    by 0x6586F8: interfaces::(anonymous namespace)::WalletClientImpl::load() (wallet.cpp:510)
==20484==    by 0x1607D0: AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) (init.cpp:1828)
==20484==    by 0x143B8F: AppInit(int, char**) (bitcoind.cpp:142)
==20484==    by 0x14420C: main (bitcoind.cpp:172)
==20484==  If you believe this happened as a result of a stack
==20484==  overflow in your program's main thread (unlikely but
==20484==  possible), you can try to increase the size of the
==20484==  main thread stack using the --main-stacksize= flag.
==20484==  The main thread stack size used in this run was 8388608.
==20484== 
==20484== HEAP SUMMARY:
==20484==     in use at exit: 2,412,091,610 bytes in 16,469,401 blocks
==20484==   total heap usage: 45,389,782 allocs, 28,920,381 frees, 5,737,517,394 bytes allocated
==20484== 
==20484== LEAK SUMMARY:
==20484==    definitely lost: 9,890,832 bytes in 81,251 blocks
==20484==    indirectly lost: 128 bytes in 1 blocks
==20484==      possibly lost: 13,167,920 bytes in 58 blocks
==20484==    still reachable: 2,389,032,730 bytes in 16,388,091 blocks
==20484==         suppressed: 0 bytes in 0 blocks
==20484== Rerun with --leak-check=full to see details of leaked memory
==20484== 
==20484== For counts of detected and suppressed errors, rerun with: -v
==20484== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault
decryp2kanon commented 3 years ago

same

2020-12-10T01:38:38Z [default wallet] Still rescanning. At block 6691257. Progress=0.820635
2020-12-10T01:39:38Z [default wallet] Still rescanning. At block 6691605. Progress=0.820675
2020-12-10T01:40:38Z [default wallet] Still rescanning. At block 6691952. Progress=0.820714
==29338== Invalid read of size 4
==29338==    at 0x760188: LegacyScriptPubKeyMan::MarkUnusedAddresses(CScript const&) (scriptpubkeyman.cpp:360)
==29338==    by 0x7A8953: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1015)
==29338==    by 0x7A988A: CWallet::SyncTransaction(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1152)
==29338==    by 0x7AE4C0: CWallet::ScanForWalletTransactions(uint256 const&, int, boost::optional<int>, WalletRescanReserver const&, bool) (wallet.cpp:1791)
==29338==    by 0x7BFC41: CWallet::Create(interfaces::Chain&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<WalletDatabase, std::default_delete<WalletDatabase> >, unsigned long, bilingual_str&, std::vector<bilingual_str, std::allocator<bilingual_str> >&) (wallet.cpp:4068)
==29338==    by 0x6AD9C8: LoadWallets(interfaces::Chain&) (load.cpp:108)
==29338==    by 0x6586DA: interfaces::(anonymous namespace)::WalletClientImpl::load() (wallet.cpp:510)
==29338==    by 0x1607D0: AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) (init.cpp:1828)
==29338==    by 0x143B8F: AppInit(int, char**) (bitcoind.cpp:142)
==29338==    by 0x14420C: main (bitcoind.cpp:172)
==29338==  Address 0x4 is not stack'd, malloc'd or (recently) free'd
==29338== 
==29338== 
==29338== Process terminating with default action of signal 11 (SIGSEGV)
==29338==  Access not within mapped region at address 0x4
==29338==    at 0x760188: LegacyScriptPubKeyMan::MarkUnusedAddresses(CScript const&) (scriptpubkeyman.cpp:360)
==29338==    by 0x7A8953: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1015)
==29338==    by 0x7A988A: CWallet::SyncTransaction(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool) (wallet.cpp:1152)
==29338==    by 0x7AE4C0: CWallet::ScanForWalletTransactions(uint256 const&, int, boost::optional<int>, WalletRescanReserver const&, bool) (wallet.cpp:1791)
==29338==    by 0x7BFC41: CWallet::Create(interfaces::Chain&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<WalletDatabase, std::default_delete<WalletDatabase> >, unsigned long, bilingual_str&, std::vector<bilingual_str, std::allocator<bilingual_str> >&) (wallet.cpp:4068)
==29338==    by 0x6AD9C8: LoadWallets(interfaces::Chain&) (load.cpp:108)
==29338==    by 0x6586DA: interfaces::(anonymous namespace)::WalletClientImpl::load() (wallet.cpp:510)
==29338==    by 0x1607D0: AppInitMain(util::Ref const&, NodeContext&, interfaces::BlockAndHeaderTipInfo*) (init.cpp:1828)
==29338==    by 0x143B8F: AppInit(int, char**) (bitcoind.cpp:142)
==29338==    by 0x14420C: main (bitcoind.cpp:172)
==29338==  If you believe this happened as a result of a stack
==29338==  overflow in your program's main thread (unlikely but
==29338==  possible), you can try to increase the size of the
==29338==  main thread stack using the --main-stacksize= flag.
==29338==  The main thread stack size used in this run was 8388608.
==29338== 
==29338== HEAP SUMMARY:
==29338==     in use at exit: 2,412,090,434 bytes in 16,469,382 blocks
==29338==   total heap usage: 45,384,052 allocs, 28,914,670 frees, 5,737,316,027 bytes allocated
==29338== 
==29338== LEAK SUMMARY:
==29338==    definitely lost: 9,894,456 bytes in 81,247 blocks
==29338==    indirectly lost: 0 bytes in 0 blocks
==29338==      possibly lost: 13,164,296 bytes in 62 blocks
==29338==    still reachable: 2,389,031,682 bytes in 16,388,073 blocks
==29338==         suppressed: 0 bytes in 0 blocks
==29338== Rerun with --leak-check=full to see details of leaked memory
==29338== 
==29338== For counts of detected and suppressed errors, rerun with: -v
==29338== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Segmentation fault