Potential deadlock between main and net #9215

issue fanquake opened this issue on November 24, 2016
  1. fanquake commented at 10:31 AM on November 24, 2016: member

    Running current master https://github.com/bitcoin/bitcoin/commit/93566e0c37c5ae104095474fea89f00dcb40f551

    2016-11-24 10:23:42 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:42 Previous lock order was:
    2016-11-24 10:23:42  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:5971
    2016-11-24 10:23:42  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:42 Current lock order is:
    2016-11-24 10:23:42  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:42 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:42 Previous lock order was:
    2016-11-24 10:23:42  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:5601
    2016-11-24 10:23:42  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:42 Current lock order is:
    2016-11-24 10:23:42  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:42  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:43 Imported mempool transactions from disk: 392 successes, 456 failed, 0 expired
    2016-11-24 10:23:43 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:43 Previous lock order was:
    2016-11-24 10:23:43  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:5601
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:43 Current lock order is:
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:43 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:43 Previous lock order was:
    2016-11-24 10:23:43  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:5601
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:43 Current lock order is:
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:43 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:43 Previous lock order was:
    2016-11-24 10:23:43  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:5601
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:43 Current lock order is:
    2016-11-24 10:23:43  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:43  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:44 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:44 Previous lock order was:
    2016-11-24 10:23:44  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:5971
    2016-11-24 10:23:44  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:44 Current lock order is:
    2016-11-24 10:23:44  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:44 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:44 Previous lock order was:
    2016-11-24 10:23:44  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:5601
    2016-11-24 10:23:44  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:44 Current lock order is:
    2016-11-24 10:23:44  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:44  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:46 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:46 Previous lock order was:
    2016-11-24 10:23:46  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:46  (1) cs_main  main.cpp:5971
    2016-11-24 10:23:46  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:46 Current lock order is:
    2016-11-24 10:23:46  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:46  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:46  (1) cs_main  main.cpp:1785
    2016-11-24 10:23:48 Pre-allocating up to position 0x4000000 in blk00688.dat
    2016-11-24 10:23:49 UpdateTip: new best=0000000000000000000bac2ac98aca7be77696a38eeb4d927851c3e134753e9a height=440332 version=0x20000000 log2_work=85.584191 tx=173286485 date='2016-11-24 09:49:28' progress=0.999990 cache=740.9MiB(780947tx) warning='1 of last 100 blocks have unexpected version'
    2016-11-24 10:23:55 POTENTIAL DEADLOCK DETECTED
    2016-11-24 10:23:55 Previous lock order was:
    2016-11-24 10:23:55  pnode->cs_vRecvMsg  net.cpp:1846 (TRY)
    2016-11-24 10:23:55  (1)
     cs_main  main.cpp:4899
    2016-11-24 10:23:55  (2) pnode->cs_vSend  net.cpp:2642
    2016-11-24 10:23:55 Current lock order is:
    2016-11-24 10:23:55  (2) pnode->cs_vSend  net.cpp:1865 (TRY)
    2016-11-24 10:23:55  (1) cs_main  main.cpp:6547 (TRY)
    2016-11-24 10:23:55  (1) cs_main  main.cpp:1785
    
  2. rebroad commented at 12:45 PM on November 24, 2016: contributor

    also seeing these

  3. jonasschnelli commented at 1:08 PM on November 24, 2016: contributor

    IMO these "potential" deadlocks are pretty normal because the way how we detect "potential" deadlocks is not over optimized. In the log above, I can see a problematic potential deadlock.

  4. laanwj added the label P2P on Nov 25, 2016
  5. Sjors commented at 3:28 PM on March 16, 2018: member

    @practicalswift does #12665 offer any relief here?

  6. practicalswift commented at 3:51 PM on March 16, 2018: contributor

    @Sjors No having #12665 merged wouldn't have helped here since #12665 doesn't change any run-time behaviour. It is strictly a compile-time thing: it tests our explicit run-time locking assumptions (in the form of AssertLockHeld(…)/AssertLockNotHeld(…)) also at compile-time.

  7. practicalswift commented at 3:53 PM on March 16, 2018: contributor

    @jonasschnelli Which one is that?

  8. MarcoFalke commented at 2:33 PM on August 6, 2019: member

    @fanquake Is this still an issue?

  9. fanquake commented at 12:08 AM on August 7, 2019: member

    @MarcoFalke I don't think I've seen this for a while, so can close for now.

  10. fanquake closed this on Aug 7, 2019

  11. MarcoFalke locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-26 06:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me