Skip to content

GUI hangs during sync #8984

@laanwj

Description

@laanwj

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

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions