-
Notifications
You must be signed in to change notification settings - Fork 35.6k
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
corrupted double-linked list? #28
Comments
possibly in other RPC methods, too. It died with getaccountaddress in debug.log, but didn't get glibc message as the terminal was closed. Version: 009d5fb (Merge branch 'listaddresses' into integration) with CORS patch (shouldn't cause it, though) bitcoind: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped |
I just noticed the following (line numbers might not match, I discovered this while re-ordering some code): In getaccountaddress() edit: ArtForz and lfm on IRC said, that code should never return inside a CRITICAL_BLOCK() |
Returning from a CRITICAL_BLOCK is OK. CRITICAL_BLOCK uses local C++ objects to do the locking, which are guaranteed to be properly destructed no matter how the block is exited. |
More data: there have been a couple more reports of bitcoind crashing under heavy RPC load, although nobody has been able to reproduce. |
how do we know this isn't a hardware problem? does bitcoin check the consistency of its files and repair them automatically? |
gavinandresen, were those reports from different people, or from one person? If they were from different people I'd push hardware problems further down the list of suspects. I wouldn't rule out hardware problems, of course. |
jhyslop: bitcoind crashing/hanging reports were from other people (slush was one, I believe). I still haven't seen it, running 3 or 4 instances of bitcoind on 2 or 3 different machines (Mac and Debian Linux). |
No further reports of this, I'm going to close. |
POS output and coin locking
4d79beb Do not free endomorphism constants when disabled (Pieter Wuille)
8c72e08 mastercore.cpp/h: remove AbortOmniNode, not needed (zathras-crypto) d61d6de DEVMSC: Further fix to signedness (zathras-crypto) 10a1de7 Shutdown : Add AbortOmniNode and switch alert shutdown to use it (zathras-crypto) 8d4cd16 DEVMSC : Fix integer signing (thanks @dexX7) (zathras-crypto) c95f68a Reorg : delete*Above*Block is non-inclusive, fix block height passed in (zathras-crypto) e85aa5e Persistence : fix syntax for 5987063 (zathras-crypto) 742fce4 Main: don't call mastercore_handler_block_begin if ConnectTip aborted (zathras-crypto) 3cbecf6 Persistence : fix hang when SP watermark cannot be located (zathras-crypto)
Change default location of simulation data to /chaincode/data, and clean...
Trivial missing inlcudes
fixed detection of cross connected thinblock nodes using ipv6 addresses
16a1f7f Merge bitcoin#3: Pull upstream 3f03bfd Merge pull request #27 from laanwj/2016_09_const_refs 5668ca3 Return const references from getKeys, getValues, get_str cedda14 Merge pull request #28 from MarcoFalke/patch-1 9f0b997 [travis] Work around osx libtool issue git-subtree-dir: src/univalue git-subtree-split: 16a1f7f
add more mempool stats
16a1f7f Merge #3: Pull upstream 3f03bfd Merge pull request bitcoin#27 from laanwj/2016_09_const_refs 5668ca3 Return const references from getKeys, getValues, get_str cedda14 Merge pull request bitcoin#28 from MarcoFalke/patch-1 9f0b997 [travis] Work around osx libtool issue git-subtree-dir: src/univalue git-subtree-split: 16a1f7f
* Properly encapsulate wallet code with ENABLE_WALLET ifdefs * Update function params in zmqpublishnotifier
[travis] Work around osx libtool issue
Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log bitcoin#26 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: started 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 bitcoin#26 2017-11-30 08:26:31 leveldb: Delete type=3 bitcoin#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place)
9b80fc1 Prefix leveldb debug logging (Wladimir J. van der Laan) Pull request description: Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log #26 2017-11-30 08:26:31 leveldb: Level-0 table #28: started 2017-11-30 08:26:31 leveldb: Level-0 table #28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 #26 2017-11-30 08:26:31 leveldb: Delete type=3 #24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. This is consistent with the `libevent:` prefix for libevent messages. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place) Tree-SHA512: 074eba00d39c6378b9e14d03aa2c551b4e3fc7bffdd5a1a0ba2498b44bcc77071d47735be09493286056053f0cca625c5cbaad7ad1ddb9d902d30e7cd316d9d2
Fixed issue#25.
Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log #26 2017-11-30 08:26:31 leveldb: Level-0 table #28: started 2017-11-30 08:26:31 leveldb: Level-0 table #28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 #26 2017-11-30 08:26:31 leveldb: Delete type=3 #24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place)
Update README for Lore
* Add ci, docker-compose, sonar * Add service locator, pop, rpc services (#1) Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add RPC service implementation (#2) * Add rpc_service_impl Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add opcodes Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Link libvbk everywhere Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix build Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Register RPCs Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix linker error * Make service locator templated * Use default template param to get rid of second overload of get/setService * Set timeout on build Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix usage on OP_CHECKATV&VTB Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add test template Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add fakeit Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Use fixture Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Move tests to vbk dir Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix double free Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix locator Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Disable -fno-devirtualize * Uncomment test Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix script_test Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix makefile Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix flag * Fix -fno-devirtualize flag * Add more interfaces (#3) * Add more interfaces Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Remove unneeded comments Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix build, sonar Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add lcov coverage to sonar (#5) * Add lcov coverage to sonar Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Use gcovr Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Implement Util Service & add tests (#4) * Implement Util Service & add tests Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add guard impl Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Remove slice; include vector Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Fix Signed-off-by: Bogdan Vaneev <warchantua@gmail.com> * Add init methods (#7) * Fixe AreInputsStandard, GetTransactionSigOpCostGetP2SHSigOpCount (#6) * Fixe AreInputsStandard, GetTransactionSigOpCostGetP2SHSigOpCount * fixes * fixes * fixes * fixe test, udate UpdateCoins' (#9) * fixes (#12) * fixes * small fixe * fixe * Update src/vbk/util_service/util_service_impl.cpp Co-Authored-By: Bohdan <warchantua@gmail.com> * Update src/script/interpreter.h Co-Authored-By: Bohdan <warchantua@gmail.com> * fixes * bitcoin-cli: convert parameters of the RPC service from JSON as needed (#16) * update mempool, add grpc calls (#14) * update mempool, add grpc calls * remove grpc * fixe * Fix locator (#17) * Fix locator * Fixes * Use clang in CI * Generate genesis blocks; change merkle root calc (#13) * Generate genesis blocks; change merkle root calc * Fixes * Fix main genesis block; disable tests * Fix * Fix make check * tests: add a VeriBlock integration test runner (#10) * tests: add a VeriBlock integration test runner * add a linker flag to resolve circular dependencies * Fix CI * ExtractMatches: fix incorrect condition (#19) * ExtractMatches fixed * Fix BTC-31 * Add SavePopTxToDatabase (#20) * add forkresolution, calculate block without pop tx (#18) * add forkresolution, calculate block without pop tx * Feature/update mempool comparator (#21) * update comparator, add tests * Feature/validate poptx (#22) * Add validate pop tx * Add EvalScript for pOP * Remove unused config const * Fix typo * Fix tests * Feature/pop reward (#23) * add pop rewards * fixe tests * fixes * Feature/fix bitcoind dnsseed (#26) * fix bitcoind * remove seeds and checkpoint data * Feature/add grpc service (#24) * add interface for the statefull block validation * add first verson of grpc class * Add autogeneration * Change submodule git -> https * add grpc calls of the service * add statefull validation * Update proto to v1; fix in Makefile * Fix build * Fix build * fixe * Fix build * Fixes to please CI * Fix build * Fix * Fix * Fix * First version of config... will continue tomorrow * Fix * FIx * add Pop merkle root commitment (#27) * fixe bitcoind * Fix (#28) * Add CD (#30) * Add CD * Try * Try * Try * Fix prerelase on * Add submodules * Update strip code * Remove email * Revert stripping * change the getblocktemplate method (#31) * Feature/disable checks (#32) * Disable requirement on at least one node * Fix tests * Fixes of grpc (#33) * Fixes of grpc * Update docker-compose image * Remove prefix in cd * Fix * Update cd * Fix (#34)
9b80fc1 Prefix leveldb debug logging (Wladimir J. van der Laan) Pull request description: Add leveldb: prefix to leveldb debug logging lines. leveldb debug messages come in various scary flavors such as: 2017-11-30 08:26:31 leveldb: Recovering log bitcoin#26 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: started 2017-11-30 08:26:31 leveldb: Level-0 table bitcoin#28: 597 bytes OK 2017-11-30 08:26:31 leveldb: Delete type=0 bitcoin#26 2017-11-30 08:26:31 leveldb: Delete type=3 bitcoin#24 so it's reasonably important to mark them as coming from leveldb internals and not from consensus validation wallet or such. This is consistent with the `libevent:` prefix for libevent messages. (this only affects `-debug=leveldb` or `-debug=1` otherwise you won't see them in the first place) Tree-SHA512: 074eba00d39c6378b9e14d03aa2c551b4e3fc7bffdd5a1a0ba2498b44bcc77071d47735be09493286056053f0cca625c5cbaad7ad1ddb9d902d30e7cd316d9d2
Update build-osx.md needs qrencode to allow QR code generation. I will add this.
fa2e614 test: Fix off-by-one in mockscheduler test RPC (MarcoFalke) Pull request description: Fixes: ``` fuzz: scheduler.cpp:83: void CScheduler::MockForward(std::chrono::seconds): Assertion `delta_seconds.count() > 0 && delta_seconds < std::chrono::hours{1}' failed. ==1059066== ERROR: libFuzzer: deadly signal #0 0x558f75449c10 in __sanitizer_print_stack_trace (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5fec10) #1 0x558f753f32b8 in fuzzer::PrintStackTrace() fuzzer.o #2 0x558f753d68d3 in fuzzer::Fuzzer::CrashCallback() fuzzer.o #3 0x7f4a3cbbb3bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7f4a3c7ff18a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7f4a3c7de858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7f4a3c7de728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7f4a3c7eff35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x558f7588a913 in CScheduler::MockForward(std::chrono::duration<long, std::ratio<1l, 1l> >) scheduler.cpp:83:5 #9 0x558f75b0e5b1 in mockscheduler()::$_7::operator()(RPCHelpMan const&, JSONRPCRequest const&) const rpc/misc.cpp:435:30 #10 0x558f75b0e5b1 in std::_Function_handler<UniValue (RPCHelpMan const&, JSONRPCRequest const&), mockscheduler()::$_7>::_M_invoke(std::_Any_data const&, RPCHelpMan const&, JSONRPCRequest const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 #11 0x558f7587a141 in std::function<UniValue (RPCHelpMan const&, JSONRPCRequest const&)>::operator()(RPCHelpMan const&, JSONRPCRequest const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #12 0x558f7587a141 in RPCHelpMan::HandleRequest(JSONRPCRequest const&) const rpc/util.cpp:565:26 #13 0x558f756c0086 in CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)::operator()(JSONRPCRequest const&, UniValue&, bool) const ./rpc/server.h:110:91 #14 0x558f756c0086 in std::_Function_handler<bool (JSONRPCRequest const&, UniValue&, bool), CRPCCommand::CRPCCommand(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, RPCHelpMan (*)())::'lambda'(JSONRPCRequest const&, UniValue&, bool)>::_M_invoke(std::_Any_data const&, JSONRPCRequest const&, UniValue&, bool&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:285:9 #15 0x558f756b8592 in std::function<bool (JSONRPCRequest const&, UniValue&, bool)>::operator()(JSONRPCRequest const&, UniValue&, bool) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #16 0x558f756b8592 in ExecuteCommand(CRPCCommand const&, JSONRPCRequest const&, UniValue&, bool) rpc/server.cpp:480:20 #17 0x558f756b8592 in ExecuteCommands(std::vector<CRPCCommand const*, std::allocator<CRPCCommand const*> > const&, JSONRPCRequest const&, UniValue&) rpc/server.cpp:444:13 #18 0x558f756b8017 in CRPCTable::execute(JSONRPCRequest const&) const rpc/server.cpp:464:13 #19 0x558f7552457a in (anonymous namespace)::RPCFuzzTestingSetup::CallRPC(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> > > > const&) test/fuzz/rpc.cpp:50:25 #20 0x558f7552457a in rpc_fuzz_target(Span<unsigned char const>) test/fuzz/rpc.cpp:354:28 #21 0x558f7544cf0f in std::_Function_handler<void (Span<unsigned char const>), void (*)(Span<unsigned char const>)>::_M_invoke(std::_Any_data const&, Span<unsigned char const>&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:300:2 #22 0x558f75c05197 in std::function<void (Span<unsigned char const>)>::operator()(Span<unsigned char const>) const /usr/bin/../lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/std_function.h:688:14 #23 0x558f75c05197 in LLVMFuzzerTestOneInput test/fuzz/fuzz.cpp:74:5 #24 0x558f753d8073 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) fuzzer.o #25 0x558f753c1f72 in fuzzer::RunOneTest(fuzzer::Fuzzer*, char const*, unsigned long) fuzzer.o #26 0x558f753c7d6a in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) fuzzer.o #27 0x558f753f3a92 in main (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x5a8a92) #28 0x7f4a3c7e00b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #29 0x558f7539cc9d in _start (/root/fuzz_dir/scratch/fuzz_gen/code/src/test/fuzz/fuzz+0x551c9d) ACKs for top commit: practicalswift: cr ACK fa2e614 Tree-SHA512: cfa120265261f0ad019b46c426b915c1c007806b37aecb27016ce780a0ddea5e6fc9b09065fd40684b11183dcd3bf543558d7a655e604695021653540266baf7
tcatm reports:
*** glibc detected *** ./bitcoind: corrupted double-linked list: 0x0a78b468 ***
... possibly in listaccounts.
The text was updated successfully, but these errors were encountered: