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 ?? ()
```

}
            
            progressBarLabel->setText(tr("No block source available..."));
            break;
    }
    QString tooltip;
    QDateTime currentDate = QDateTime::currentDateTime();
    qint64 secs = blockDate.secsTo(currentDate);
    tooltip = tr("Processed %n block(s) of transaction history.", "", count);
    
    if(secs < 90*60)
    {
        tooltip = tr("Up to date") + QString(".<br>") + tooltip;
        labelBlocksIcon->setPixmap(platformStyle->SingleColorIcon(":/icons/synced").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE));
#ifdef ENABLE_WALLET
        if(walletFrame)
        {
            walletFrame->showOutOfSyncWarning(false);
            modalOverlay->showHide(true, true);
        }
#endif 
        progressBarLabel->setVisible(false);
        progressBar->setVisible(false);
    }
    else
    {
        QString timeBehindText = GUIUtil::formateNiceTimeOffset(secs);
        progressBarLabel->setVisible(true);
        progressBar->setFormat(tr("%1 behind").arg(timeBehindText));
        progressBar->setMaximum(1000000000);