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](/bitcoin-bitcoin/0/)  __lll_lock_wait () at ../sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135
    [#1](/bitcoin-bitcoin/1/)  0x00007fe28be3be82 in __GI___pthread_mutex_lock (mutex=0x56115c542220 <cs_main>) at ../nptl/pthread_mutex_lock.c:115
    [#2](/bitcoin-bitcoin/2/)  0x000056115ba3d07f in boost::recursive_mutex::lock (this=<optimized out>) at /usr/include/boost/thread/pthread/recursive_mutex.hpp:113
    [#3](/bitcoin-bitcoin/3/)  AnnotatedMixin<boost::recursive_mutex>::lock (this=<optimized out>) at /home/orion/projects/bitcoin/bitcoin/src/sync.h:60
    [#4](/bitcoin-bitcoin/4/)  boost::unique_lock<CCriticalSection>::lock (this=0x7ffcedb5c5d8) at /usr/include/boost/thread/lock_types.hpp:346
    [#5](/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](/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](/bitcoin-bitcoin/7/)  ClientModel::getHeaderTipHeight (this=<optimized out>) at /home/orion/projects/bitcoin/bitcoin/src/qt/clientmodel.cpp:75
    [#8](/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](/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](/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](/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](/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](/bitcoin-bitcoin/13/) 0x00007fe28c82eea1 in QObject::event (this=0x56115d6e3bc0, e=<optimized out>) at kernel/qobject.cpp:1239
    [#14](/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](/bitcoin-bitcoin/15/) 0x00007fe28d175516 in QApplication::notify (this=0x7ffcedb5cea0, receiver=0x56115d6e3bc0, e=0x7fe202a51310) at kernel/qapplication.cpp:3499
    [#16](/bitcoin-bitcoin/16/) 0x00007fe28c7ff62b in QCoreApplication::notifyInternal (this=0x7ffcedb5cea0, receiver=0x56115d6e3bc0, event=event@entry=0x7fe202a51310) at kernel/qcoreapplication.cpp:965
    [#17](/bitcoin-bitcoin/17/) 0x00007fe28c801a26 in QCoreApplication::sendEvent (event=0x7fe202a51310, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
    [#18](/bitcoin-bitcoin/18/) QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x56115cf9e6e0) at kernel/qcoreapplication.cpp:1593
    [#19](/bitcoin-bitcoin/19/) 0x00007fe28c801f08 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451
    [#20](/bitcoin-bitcoin/20/) 0x00007fe28c855673 in postEventSourceDispatch (s=0x56115d07e930) at kernel/qeventdispatcher_glib.cpp:271
    [#21](/bitcoin-bitcoin/21/) 0x00007fe28957a1a7 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
    [#22](/bitcoin-bitcoin/22/) 0x00007fe2780016f0 in ?? ()
    [#23](/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 closed this on Oct 21, 2016

  6. DrahtBot 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-04-13 15:15 UTC

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