(gdb) catch throw Catchpoint 1 (throw) (gdb) i break Num Type Disp Enb Address What 1 breakpoint keep y 0x00000000006da970 exception throw (gdb) r Starting program: /local/bin/bitcoind [New LWP 5522] [New LWP 5523] [New LWP 5524] [New LWP 5525] [New LWP 5526] [New LWP 5527] [LWP 5523 exited] [New LWP 5557] [LWP 5557 exited] [Switching to LWP 5524] Thread 4 "bitcoind" hit Catchpoint 1 (exception thrown), 0x00000000006da970 in __cxa_throw () (gdb) bt #0 0x00000000006da970 in __cxa_throw () #1 0x00000000004f42fc in DbEnv::runtime_error(DbEnv*, char const*, int, int) () #2 0x00000000004f2d55 in Db::get(DbTxn*, Dbt*, Dbt*, unsigned int) () #3 0x000000000046f299 in CDB::Read, CTxIndex> (this=this@entry=0x7fff7ffb0ae0, key=..., value=...) at ../src/db.h:69 #4 0x0000000000461bc4 in CTxDB::ReadTxIndex (this=this@entry=0x7fff7ffb0ae0, hash=..., txindex=...) at ../src/db.cpp:334 #5 0x000000000047e233 in CTransaction::ConnectInputs ( this=this@entry=0x170e94c0, txdb=..., mapTestPool=..., posThisTx=..., pindexBlock=pindexBlock@entry=0xd2a5a80, nFees=@0x7fff7ffb03a8: 17379687, fBlock=fBlock@entry=true, fMiner=fMiner@entry=false, nMinFee=nMinFee@entry=0, fInvalid=@0x7fff7ffb038e: false) at ../src/main.cpp:828 #6 0x000000000047f403 in CBlock::ConnectBlock ( this=this@entry=0x7fff7ffb0890, txdb=..., pindex=pindex@entry=0xd2a5a80) at ../src/main.cpp:1030 #7 0x000000000048496e in Reorganize (pindexNew=0xe15c260, txdb=...) at ../src/main.cpp:1118 #8 CBlock::SetBestChain (this=this@entry=0x7fff7ffb0e50, txdb=..., pindexNew=pindexNew@entry=0xe15c260) at ../src/main.cpp:1197 #9 0x00000000004851d1 in CBlock::AddToBlockIndex ( this=this@entry=0x7fff7ffb0e50, nFile=, nBlockPos=) at ../src/main.cpp:1254 #10 0x0000000000485ff2 in CBlock::AcceptBlock (this=this@entry=0x7fff7ffb0e50) at ../src/main.cpp:1352 #11 0x0000000000486481 in ProcessBlock (pfrom=pfrom@entry=0x0, pblock=pblock@entry=0x7fff7ffb0e50) at ../src/main.cpp:1427 #12 0x0000000000416a30 in eatblock (params=..., fHelp=) at ../src/bitcoinrpc.cpp:1828 #13 0x00000000004310d7 in ThreadRPCServer2 (parg=parg@entry=0x0) at ../src/bitcoinrpc.cpp:2445 #14 0x00000000004324b2 in ThreadRPCServer (parg=0x0) at ../src/bitcoinrpc.cpp:2294 #15 0x000000000073b4c2 in start (p=) at src/thread/pthread_create.c:144 #16 0x000000000073c790 in __clone () at src/thread/x86_64/clone.s:22 Backtrace stopped: frame did not save the PC (gdb) up #1 0x00000000004f42fc in DbEnv::runtime_error(DbEnv*, char const*, int, int) () (gdb) i frame Stack level 1, frame at 0x7fff7ffafe90: rip = 0x4f42fc in DbEnv::runtime_error(DbEnv*, char const*, int, int); saved rip = 0x4f2d55 called by frame at 0x7fff7ffafee0, caller of frame at 0x7fff7ffafe30 Arglist at 0x7fff7ffafe28, args: Locals at 0x7fff7ffafe28, Previous frame's sp is 0x7fff7ffafe90 Saved registers: rbx at 0x7fff7ffafe78, rbp at 0x7fff7ffafe80, rip at 0x7fff7ffafe88 (gdb) up #2 0x00000000004f2d55 in Db::get(DbTxn*, Dbt*, Dbt*, unsigned int) () (gdb) up #3 0x000000000046f299 in CDB::Read, CTxIndex> (this=this@entry=0x7fff7ffb0ae0, key=..., value=...) at ../src/db.h:69 69 int ret = pdb->get(GetTxn(), &datKey, &datValue, 0); (gdb) p key $1 = (const std::pair, std::allocator >, uint256> &) @0x7fff7ffb0000: {first = { static npos = , _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_p = 0x17425ed8 "tx"}}, second = {> = {pn = {1305763136, 4018370749, 3706143661, 588456501, 739993231, 2345874868, 1336906385, 1810893556}}, }} (gdb) p value $2 = (CTxIndex &) @0x7fff7ffb0290: {pos = {nFile = 4294967295, nBlockPos = 0, nTxPos = 0}, vSpent = { >> = { _M_impl = {> = {<__gnu_cxx::new_allocator> = {}, }, _M_start = 0x0, _M_finish = 0x0, _M_end_of_storage = 0x0}}, }} (gdb) up #4 0x0000000000461bc4 in CTxDB::ReadTxIndex (this=this@entry=0x7fff7ffb0ae0, hash=..., txindex=...) at ../src/db.cpp:334 334 return Read(make_pair(string("tx"), hash), txindex); (gdb) p hash $3 = {> = {pn = {1305763136, 4018370749, 3706143661, 588456501, 739993231, 2345874868, 1336906385, 1810893556}}, } (gdb) down #3 0x000000000046f299 in CDB::Read, CTxIndex> (this=this@entry=0x7fff7ffb0ae0, key=..., value=...) at ../src/db.h:69 69 int ret = pdb->get(GetTxn(), &datKey, &datValue, 0); (gdb) p datKey $4 = {<__db_dbt> = {data = 0x17426140, size = 35, ulen = 0, dlen = 0, doff = 0, app_data = 0x0, flags = 0}, } (gdb) p datKey.data $5 = (void *) 0x17426140 (gdb) p (char*)datKey.data $6 = 0x17426140 "\002tx@]\324M\275x\203\357\255C\347\334\065\"\023#\217f\033,\264\065\323\213\221\222\257O\364\n\360k" (gdb)