Hi,
I'm running bitcoind both on livenet and on testnet. I daemonize both processes through the -daemon flag. However, I have found that my testnet process keeps dying at irregular intervals.
I looked in ~/Library/Logs/DiagnosticReports/ and found several reports. All of the reports have the same Crashed Thread (13 bitcoin-msghand)
Process: bitcoind [68496]
Path: /Users/USER/Documents/*/bitcoind
Identifier: bitcoind
Version: 0
Code Type: X86-64 (Native)
Parent Process: bash [60948]
Responsible: Terminal [306]
User ID: 501
Date/Time: 2014-07-30 19:00:00.431 -0400
OS Version: Mac OS X 10.9.4 (13E28)
Report Version: 11
Crashed Thread: 13 bitcoin-msghand
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xfffffffffffffff0
VM Regions Near 0xfffffffffffffff0:
--> shared memory 00007fffffeb5000-00007fffffeb6000 [ 4K] r-x/r-x SM=SHM
Stack Trace:
Thread 13 Crashed:: bitcoin-msghand
0 bitcoind 0x000000010638b3d7 CMinerPolicyEstimator::seenBlock(std::__1::vector<CTxMemPoolEntry, std::__1::allocator<CTxMemPoolEntry> > const&, int, CFeeRate) + 231 (vector:1536)
1 bitcoind 0x0000000106389474 CTxMemPool::removeForBlock(std::__1::vector<CTransaction, std::__1::allocator<CTransaction> > const&, unsigned int, std::__1::list<CTransaction, std::__1::allocator<CTransaction> >&) + 484 (foreach.hpp:580)
2 bitcoind 0x0000000106286505 ActivateBestChain(CValidationState&) + 11589 (main.cpp:2008)
3 bitcoind 0x000000010628935a ProcessBlock(CValidationState&, CNode*, CBlock*, CDiskBlockPos*) + 1002 (main.cpp:2693)
4 bitcoind 0x00000001062907d4 ProcessMessage(CNode*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, CDataStream&, long long) + 1908 (.main.h:987)
5 bitcoind 0x0000000106275716 ProcessMessages(CNode*) + 1110 (main.cpp:4291)
6 bitcoind 0x00000001062fed5a boost::function1<bool, CNode*>::operator()(CNode*) const + 42 (function_template.hpp:766)
7 bitcoind 0x00000001062fece7 boost::signals2::detail::signal1_impl<bool, CNode*, boost::signals2::optional_last_value<bool>, int, std::__1::less<int>, boost::function<bool (CNode*)>, boost::function<bool (boost::signals2::connection const&, CNode*)>, boost::signals2::mutex>::slot_invoker::m_invoke(boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<bool, CNode*, boost::function<bool (CNode*)> >, boost::signals2::mutex> > const&, ...) const + 119 (signal_template.hpp:368)
8 bitcoind 0x00000001062feb8b boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<bool, CNode*, boost::signals2::optional_last_value<bool>, int, std::__1::less<int>, boost::function<bool (CNode*)>, boost::function<bool (boost::signals2::connection const&, CNode*)>, boost::signals2::mutex>::slot_invoker, std::__1::__list_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<bool, CNode*, boost::function<bool (CNode*)> >, boost::signals2::mutex> >, void*>, boost::signals2::detail::connection_body<std::__1::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<bool, CNode*, boost::function<bool (CNode*)> >, boost::signals2::mutex> >::dereference() const + 59 (optional.hpp:340)
9 bitcoind 0x00000001062fdfe8 boost::signals2::detail::signal1_impl<bool, CNode*, boost::signals2::optional_last_value<bool>, int, std::__1::less<int>, boost::function<bool (CNode*)>, boost::function<bool (boost::signals2::connection const&, CNode*)>, boost::signals2::mutex>::operator()(CNode*) + 456 (optional.hpp:340)
10 bitcoind 0x00000001062f26bc ThreadMessageHandler() + 844 (optional.hpp:340)
11 bitcoind 0x00000001062f6cfa void TraceThread<void (*)()>(char const*, void (*)()) + 138 (.util.h:494)
12 libboost_thread-mt.dylib 0x00000001069080c5 boost::(anonymous namespace)::thread_proxy(void*) + 133
13 libsystem_pthread.dylib 0x00007fff86cc3899 _pthread_body + 138
14 libsystem_pthread.dylib 0x00007fff86cc372a _pthread_start + 137
15 libsystem_pthread.dylib 0x00007fff86cc7fc9 thread_start + 13
I'm now watching the service and restarting it whenever it dies, but thought I'd report the issue.
This is not an issue in my livenet daemon.
_EDIT: Updated to latest version, still a problem_ Version
$ git show
commit e8cb5c30b0db15a1c6786d6575098a66320ffec4
Merge: 1de2992 714a3e6
Author: Pieter Wuille <pieter.wuille@gmail.com>
Date: Thu Jul 31 00:04:55 2014 +0200
Merge pull request [#4497](/bitcoin-bitcoin/4497/)
714a3e6 Only keep setBlockIndexValid entries that are possible improvements (Pieter Wuille)