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

aboutAction->setEnabled(false);
    aboutQtAction = new QAction(platformStyle->TextColorIcon(":/icons/about_qt"), tr("About &Qt"), this);
    aboutQtAction->setStatusTip(tr("Show information about Qt"));
    aboutQtAction->setMenuRole(QAction::AboutQtRole);
    optionsAction = new QAction(platformStyle->TextColorIcon(":/icons/options"), tr("&Options..."), this);
    optionsAction->setStatusTip(tr("Modify configuration options for %1").arg(tr(PACKAGE_NAME)));
    optionsAction->setMenuRole(QAction::PreferencesRole);
    optionsAction->setEnabled(false);
    toggleHideAction = new QAction(platformStyle->TextColorIcon(":/icons/about"), tr("&Show / Hide"), this);
    toggleHideAction->setStatusTip(tr("Show or hide the main Window"));
    encryptWalletAction = new QAction(platformStyle->TextColorIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this);
    encryptWalletAction->setStatusTip(tr("Encrypt the private keys that belong to your wallet"));
    encryptWalletAction->setCheckable(true);
    backupWalletAction = new QAction(platformStyle->TextColorIcon(":/icons/filesave"), tr("&Backup Wallet..."), this);
    backupWalletAction->setStatusTip(tr("Backup wallet to another location"));
    changePassphraseAction = new QAction(platformStyle->TextColorIcon(":/icons/key"), tr("&Change Passphrase..."), this);
    changePassphraseAction->setStatusTip(tr("Change the passphrase used for wallet encryption"));
    signMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/edit"), tr("Sign &message..."), this);
    signMessageAction->setStatusTip(tr("Sign messages with your Bitcoin addresses to prove you own them"));
    verifyMessageAction = new QAction(platformStyle->TextColorIcon(":/icons/verify"), tr("&Verify message..."), this);
    verifyMessageAction->setStatusTip(tr("Verify messages to ensure they were signed with specified Bitcoin addresses"));
    openRPCConsoleAction = new QAction(platformStyle->TextColorIcon(":/icons/debugwindow"), tr("&Debug window"), this);
    openRPCConsoleAction->setStatusTip(tr("Open debugging and diagnostic console"));
    
    openRPCConsoleAction->setEnabled(false);
    usedSendingAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("&Sending addresses..."), this);
    usedSendingAddressesAction->setStatusTip(tr("Show the list of used sending addresses and labels"));
    usedReceivingAddressesAction = new QAction(platformStyle->TextColorIcon(":/icons/address-book"), tr("&Receiving addresses..."), this);
    usedReceivingAddressesAction->setStatusTip(tr("Show the list of used receiving addresses and labels"));
    openAction = new QAction(platformStyle->TextColorIcon(":/icons/open"), tr("Open &URI..."), this);