GUI hangs during sync #8984

issue laanwj opened this issue on October 20, 2016
  1. laanwj commented at 4:23 PM on October 20, 2016: member

    I suspect one of the recent changes added a lock that blocks the GUI thread waiting for some information. Traceback:

    [#0](/github-metadata-backup-bitcoin-bitcoin/0/)  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
    [#1](/github-metadata-backup-bitcoin-bitcoin/1/)  0x00007fe28be3be82 in __GI___pthread_mutex_lock (mutex=0x56115c542220 <cs_main>) at ../nptl/pthread_mutex_lock.c:115
    [#2](/github-metadata-backup-bitcoin-bitcoin/2/)  0x000056115ba3d07f in boost::recursive_mutex::lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:113
    [#3](/github-metadata-backup-bitcoin-bitcoin/3/)  AnnotatedMixin<boost::recursive_mutex>::lock (this=<optimized out>) at /home/orion/projects/bitcoin/bitcoin/src/sync.h:60
    [#4](/github-metadata-backup-bitcoin-bitcoin/4/)  boost::unique_lock<CCriticalSection>::lock (this=0x7ffcedb5c5d8) at /usr/include/boost/thread/lock_types.hpp:346
    [#5](/github-metadata-backup-bitcoin-bitcoin/5/)  0x000056115ba3b5ce in CMutexLock<CCriticalSection>::Enter (this=0x56115c542220 <cs_main>, nLine=75, pszName=<optimized out>, pszFile=<optimized out>)
        at /home/orion/projects/bitcoin/bitcoin/src/sync.h:125
    [#6](/github-metadata-backup-bitcoin-bitcoin/6/)  CMutexLock<CCriticalSection>::CMutexLock (this=0x56115c542220 <cs_main>, nLine=75, fTry=<error reading variable: access outside bounds of object referenced via synthetic pointer>, mutexIn=..., 
        pszName=<optimized out>, pszFile=<optimized out>) at /home/orion/projects/bitcoin/bitcoin/src/sync.h:146
    [#7](/github-metadata-backup-bitcoin-bitcoin/7/)  ClientModel::getHeaderTipHeight (this=<optimized out>) at /home/orion/projects/bitcoin/bitcoin/src/qt/clientmodel.cpp:75
    [#8](/github-metadata-backup-bitcoin-bitcoin/8/)  0x000056115ba2de74 in BitcoinGUI::setNumBlocks (this=0x56115d3d68c0, count=434832, blockDate=..., nVerificationProgress=0.99899780751543388, header=true)
        at /home/orion/projects/bitcoin/bitcoin/src/qt/bitcoingui.cpp:722
    [#9](/github-metadata-backup-bitcoin-bitcoin/9/)  0x000056115babf86d in BitcoinGUI::qt_static_metacall (_o=_o@entry=0x56115d3d68c0, _c=<optimized out>, _id=<optimized out>, _a=_a@entry=0x7ffcedb5c860) at qt/moc_bitcoingui.cpp:206
    [#10](/github-metadata-backup-bitcoin-bitcoin/10/) 0x00007fe28c82dfca in QMetaObject::activate (sender=0x56115d6e3bc0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3713
    [#11](/github-metadata-backup-bitcoin-bitcoin/11/) 0x000056115bac0a46 in ClientModel::numBlocksChanged (_t1=<optimized out>, this=<optimized out>, _t2=..., _t3=<optimized out>, _t4=<optimized out>) at qt/moc_clientmodel.cpp:231
    [#12](/github-metadata-backup-bitcoin-bitcoin/12/) ClientModel::qt_static_metacall (_o=0x56115c542220 <cs_main>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at qt/moc_clientmodel.cpp:124
    [#13](/github-metadata-backup-bitcoin-bitcoin/13/) 0x00007fe28c82eea1 in QObject::event (this=0x56115d6e3bc0, e=<optimized out>) at kernel/qobject.cpp:1239
    [#14](/github-metadata-backup-bitcoin-bitcoin/14/) 0x00007fe28d17005c in QApplicationPrivate::notify_helper (this=this@entry=0x56115cf9ad60, receiver=receiver@entry=0x56115d6e3bc0, e=e@entry=0x7fe202a51310) at kernel/qapplication.cpp:3716
    [#15](/github-metadata-backup-bitcoin-bitcoin/15/) 0x00007fe28d175516 in QApplication::notify (this=0x7ffcedb5cea0, receiver=0x56115d6e3bc0, e=0x7fe202a51310) at kernel/qapplication.cpp:3499
    [#16](/github-metadata-backup-bitcoin-bitcoin/16/) 0x00007fe28c7ff62b in QCoreApplication::notifyInternal (this=0x7ffcedb5cea0, receiver=0x56115d6e3bc0, event=event@entry=0x7fe202a51310) at kernel/qcoreapplication.cpp:965
    [#17](/github-metadata-backup-bitcoin-bitcoin/17/) 0x00007fe28c801a26 in QCoreApplication::sendEvent (event=0x7fe202a51310, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
    [#18](/github-metadata-backup-bitcoin-bitcoin/18/) QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x56115cf9e6e0) at kernel/qcoreapplication.cpp:1593
    [#19](/github-metadata-backup-bitcoin-bitcoin/19/) 0x00007fe28c801f08 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451
    [#20](/github-metadata-backup-bitcoin-bitcoin/20/) 0x00007fe28c855673 in postEventSourceDispatch (s=0x56115d07e930) at kernel/qeventdispatcher_glib.cpp:271
    [#21](/github-metadata-backup-bitcoin-bitcoin/21/) 0x00007fe28957a1a7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    [#22](/github-metadata-backup-bitcoin-bitcoin/22/) 0x00007fe2780016f0 in ?? ()
    [#23](/github-metadata-backup-bitcoin-bitcoin/23/) 0x0000000000000000 in ?? ()
    
  2. laanwj added the label GUI on Oct 20, 2016
  3. laanwj commented at 4:27 PM on October 20, 2016: member

    Looks like this was introduced in #8371 (Add out-of-sync modal info layer) @jonasschnelli Related: [qt] sync-overlay: Don't block during reindex #8821

  4. jonasschnelli commented at 4:27 PM on October 20, 2016: contributor

    Yes. I guess it's modalOverlay->setKnownBestHeight(clientModel->getHeaderTipHeight(), QDateTime::fromTime_t(clientModel->getHeaderTipTime())); (working on a fix).

  5. jonasschnelli cross-referenced this on Oct 20, 2016 from issue Use pindexBestHeader instead of setBlockIndexCandidates for NotifyHeaderTip() by jonasschnelli
  6. jonasschnelli closed this on Oct 21, 2016

  7. bitcoin locked this on Sep 8, 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-05-20 06:55 UTC