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

addrMan crash on CentOS #1065

Closed
gavinandresen opened this issue Apr 8, 2012 · 0 comments · Fixed by #1207
Closed

addrMan crash on CentOS #1065

gavinandresen opened this issue Apr 8, 2012 · 0 comments · Fixed by #1207
Assignees
Labels
Milestone

Comments

@gavinandresen
Copy link
Contributor

From jetmine on the forums:
https://bitcointalk.org/index.php?topic=74737.msg841277#msg841277

*** glibc detected *** /home/btc/bitcoind: free(): invalid next size (fast): 0x0000000000d9ffa0 ***

Now comes a dump that was made automatically. It looks similar to what I mentioned that had happened already once to me:

======= Backtrace: =========
[0x7f346b]
[0x7f7516]
[0x40f013]
[0x40f2d8]
[0x40e0ee]
[0x40e3dc]
[0x46d2b4]
[0x470620]
[0x48e435]
[0x48e645]
[0x751edd]
[0x810329]
======= Memory map: ========
00400000-0099b000 r-xp 00000000 fd:02 181991 /home/USERNAME/bitcoind
00b9a000-00bab000 rwxp 0059a000 fd:02 181991 /home/USERNAME/bitcoind
00bab000-038dc000 rwxp 00bab000 00:00 0
038dc000-038dd000 rwxp 038dc000 00:00 0
038dd000-04cb9000 rwxp 038dd000 00:00 0
40000000-40001000 ---p 40000000 00:00 0
40001000-40a01000 rwxp 40001000 00:00 0
40a01000-40a02000 ---p 40a01000 00:00 0
40a02000-41402000 rwxp 40a02000 00:00 0
41402000-41403000 ---p 41402000 00:00 0
41403000-41e03000 rwxp 41403000 00:00 0
41e03000-41e04000 ---p 41e03000 00:00 0
41e04000-42804000 rwxp 41e04000 00:00 0
42804000-42805000 ---p 42804000 00:00 0
42805000-43205000 rwxp 42805000 00:00 0
43205000-43206000 ---p 43205000 00:00 0
43206000-43c06000 rwxp 43206000 00:00 0
43c06000-43c07000 ---p 43c06000 00:00 0
43c07000-44607000 rwxp 43c07000 00:00 0
44607000-44608000 ---p 44607000 00:00 0
44608000-45008000 rwxp 44608000 00:00 0
45008000-45009000 ---p 45008000 00:00 0
45009000-45a09000 rwxp 45009000 00:00 0
2aaaaaaab000-2aaaaaaae000 r-xp 2aaaaaaab000 00:00 0 [vdso]
2aaaaaaae000-2aaaae07c000 r-xp 00000000 fd:00 4475090 /usr/lib/locale/locale-archive
2aaaae07c000-2aaaae083000 r-xs 00000000 fd:00 8786 /usr/lib64/gconv/gconv-modules.cache
2aaaae083000-2aaaae085000 rwxp 2aaaae083000 00:00 0
2aaaae085000-2aaaae08b000 rwxs 00000000 fd:02 37965938 /home/USERNAME/.bitcoin/__db.001
2aaaae08b000-2aaaae281000 rwxs 00000000 fd:02 37965939 /home/USERNAME/.bitcoin/__db.002
2aaaae281000-2aaab01c3000 rwxs 00000000 fd:02 37965940 /home/USERNAME/.bitcoin/__db.003
2aaab01c3000-2aaab02e3000 rwxs 00000000 fd:02 37965941 /home/USERNAME/.bitcoin/__db.004
2aaab02e3000-2aaab08e9000 rwxs 00000000 fd:02 37965942 /home/USERNAME/.bitcoin/__db.005
2aaab08e9000-2aaab08f5000 rwxs 00000000 fd:02 37965943 /home/USERNAME/.bitcoin/__db.006
2aaab08fb000-2aaab0905000 r-xp 00000000 09:01 130597 /lib64/libnss_files-2.5.so
2aaab0905000-2aaab0b04000 ---p 0000a000 09:01 130597 /lib64/libnss_files-2.5.so
2aaab0b04000-2aaab0b05000 r-xp 00009000 09:01 130597 /lib64/libnss_files-2.5.so
2aaab0b05000-2aaab0b06000 rwxp 0000a000 09:01 130597 /lib64/libnss_files-2.5.so
2aaab0b06000-2aaab0c53000 r-xp 00000000 09:01 130565 /lib64/libc-2.5.so
2aaab0c53000-2aaab0e53000 ---p 0014d000 09:01 130565 /lib64/libc-2.5.so
2aaab0e53000-2aaab0e57000 r-xp 0014d000 09:01 130565 /lib64/libc-2.5.so
2aaab0e57000-2aaab0e58000 rwxp 00151000 09:01 130565 /lib64/libc-2.5.so
2aaab0e58000-2aaab0e5d000 rwxp 2aaab0e58000 00:00 0
2aaab0e5d000-2aaab0e79000 r-xp 00000000 09:01 130587 /lib64/ld-2.5.so
2aaab0e79000-2aaab1079000 ---p 0001c000 09:01 130587 /lib64/ld-2.5.so
2aaab1079000-2aaab107a000 r-xp 0001c000 09:01 130587 /lib64/ld-2.5.so
2aaab107a000-2aaab107b000 rwxp 0001d000 09:01 130587 /lib64/ld-2.5.so
2aaab107b000-2aaab117b000 rwxp 2aaab107b000 00:00 0
2aaab117b000-2aaab117f000 r-xp 00000000 09:01 130596 /lib64/libnss_dns-2.5.so
2aaab117f000-2aaab137e000 ---p 00004000 09:01 130596 /lib64/libnss_dns-2.5.so
2aaab137e000-2aaab137f000 r-xp 00003000 09:01 130596 /lib64/libnss_dns-2.5.so
2aaab137f000-2aaab1380000 rwxp 00004000 09:01 130596 /lib64/libnss_dns-2.5.so
2aaab1380000-2aaab1391000 r-xp 00000000 09:01 130606 /lib64/libresolv-2.5.so
2aaab1391000-2aaab1591000 ---p 00011000 09:01 130606 /lib64/libresolv-2.5.so
2aaab1591000-2aaab1592000 r-xp 00011000 09:01 130606 /lib64/libresolv-2.5.so
2aaab1592000-2aaab1593000 rwxp 00012000 09:01 130606 /lib64/libresolv-2.5.so
2aaab1593000-2aaab1595000 rwxp 2aaab1593000 00:00 0
2aaab2117000-2aaab272f000 rwxp 2aaab2117000 00:00 0
2aaab4000000-2aaab5e3d000 rwxp 2aaab4000000 00:00 0
2aaab5e3d000-2aaab8000000 ---p 2aaab5e3d000 00:00 0
7ffffffea000-7ffffffff000 rwxp 7ffffffe9000 00:00 0 [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0 [vsyscall]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x43c05940 (LWP 1393)]
0x000000000082ce95 in raise ()

When I use the bt command, I get this:
#0 0x000000000082ce95 in raise ()
#1 0x00000000007cfb10 in abort ()
#2 0x00000000007eaaeb in __libc_message ()
#3 0x00000000007f346b in _int_free ()
#4 0x00000000007f7516 in free ()
#5 0x000000000040f013 in erase (this=0xbab918, __first=, __last=...)

at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/ext/new_allocator.h:94

#6 std::_Rb_tree<CNetAddr, std::pair<CNetAddr const, int>, std::_Select1st<std::pair<CNetAddr const, int> >, std::less, std::allocator<std::pair<CNetAddr const, int> > >::erase (this=0xbab918, __first=, __last=...)

at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1281

#7 0x000000000040f2d8 in std::_Rb_tree<CNetAddr, std::pair<CNetAddr const, int>, std::_Select1st<std::pair<CNetAddr const, int> >, std::less, std::allocator<std::pair<CNetAddr const, int> > >::erase (this=0xbab918, __x=)

at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_tree.h:1215

#8 0x000000000040e0ee in erase (this=0xbab8a0, nUBucket=)

at /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/bits/stl_map.h:461

#9 CAddrMan::ShrinkNew (this=0xbab8a0, nUBucket=) at addrman.cpp:181
#10 0x000000000040e3dc in CAddrMan::Add_ (this=0xbab8a0, addr=, source=, nTimePenalty=)

at addrman.cpp:346

#11 0x000000000046d2b4 in ProcessMessage (pfrom=0x2aaab4bb0450, strCommand=..., vRecv=...) at addrman.h:433
#12 0x0000000000470620 in ProcessMessages (pfrom=0x2aaab4bb0450) at main.cpp:2767
#13 0x000000000048e435 in ThreadMessageHandler2 (parg=) at net.cpp:1516
#14 0x000000000048e645 in ThreadMessageHandler (parg=0x0) at net.cpp:1481
#15 0x0000000000751edd in start_thread ()
#16 0x0000000000810329 in clone ()

I have to leave for a few hours, but will keep the debugger open. If there are any commands that can extract more useful information from it, please post here and I will run them on it tonight.

@ghost ghost assigned sipa Apr 8, 2012
sipa added a commit to sipa/bitcoin that referenced this issue May 5, 2012
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.

Closes: bitcoin#1065, bitcoin#1156
sipa added a commit that referenced this issue May 7, 2012
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.

Closes: #1065, #1156
luke-jr pushed a commit to luke-jr/bitcoin that referenced this issue May 20, 2012
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.

Closes: bitcoin#1065, bitcoin#1156
coblee pushed a commit to litecoin-project/litecoin that referenced this issue Jul 17, 2012
A function returned the element to remove from a bucket, instead of its
position in that bucket. This function was only called when a tried
bucket overflowed, which only happens after many outgoing connections
have been made.

Closes: bitcoin#1065, bitcoin#1156
suprnurd pushed a commit to chaincoin-legacy/chaincoin that referenced this issue Dec 5, 2017
sanch0panza pushed a commit to sanch0panza/bitcoin that referenced this issue May 17, 2018
…in#1065)

I don't think this is an appropriate use for std::move and may end
up breaking something at some point.
lateminer pushed a commit to lateminer/bitcoin that referenced this issue Dec 25, 2019
13f8d5a [Wallet] Unlock spent outputs (random-zebra)

Pull request description:

  Straightforward update backported from bitcoin#13160

  NOTE: the update to wallet_basic functional test for this particular changes will be included in a successive PR (which collects updates for the whole test suite).

ACKs for top commit:
  Fuzzbawls:
    utACK 13f8d5a
  furszy:
    utACK 13f8d5a

Tree-SHA512: 2cd585407374a74bfa525b0c690906297a45f73fdc49c97457edd83b95a9bf129c824ceb0c0594b802e3260b0057d5f1577404fb96ed3c0ee0491d433b55aae3
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Sep 8, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants