Bug#951500: libqt5gui5: crash in QTextEngine after disconnect from the session manager

2020-04-16 Thread Dmitry Shachnev
Hi Jiri, and sorry for the late reply!

On Mon, Feb 17, 2020 at 03:09:57PM +0100, Jiri Palecek wrote:
> Dear Maintainer,
>
> after my session manager (ksmserver) probably died, other applications
> began crashing as well. Kopete crashed during its closing sequence in
> QTextEngine::shapeTextWithHarfbuzzNG. The backtrace is:

I looked at the stacktrace, and I could not find any similar bug on Qt bug
tracker or anywhere.

The affected code also hasn't changed, so presumably Qt 5.15 is still
affected.

Do you know a way to reliably reproduce this bug? If yes, maybe you can
report it upstream to bugreports.qt.io?

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Bug#951500: libqt5gui5: crash in QTextEngine after disconnect from the session manager

2020-02-17 Thread Jiri Palecek
Package: libqt5gui5
Version: 5.12.5+dfsg-8
Severity: normal

Dear Maintainer,

after my session manager (ksmserver) probably died, other applications
began crashing as well. Kopete crashed during its closing sequence in
QTextEngine::shapeTextWithHarfbuzzNG. The backtrace is:

(gdb) bt
#0  0xb7fa9bad in __kernel_vsyscall ()
#1  0xb5aeef12 in __libc_signal_restore_set (set=0xbfb83fcc) at 
../sysdeps/unix/sysv/linux/internal-signals.h:84
#2  0xb5aeef12 in __GI_raise (sig=11) at ../sysdeps/unix/sysv/linux/raise.c:48
#3  0xb790371f in KCrash::defaultCrashHandler(int) () at 
/usr/lib/i386-linux-gnu/libKF5Crash.so.5
#4  0xb7fa9bb8 in  ()
#5  0xb6477fb7 in hb_qt_get_unicode_funcs() () at 
../../include/QtCore/5.12.5/QtCore/private/../../../../../src/corelib/tools/qstringiterator_p.h:167
#6  0xb65afd15 in QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, 
unsigned short const*, int, QFontEngine*, QVector const&, bool, 
bool) const (this=0x147e0a0, si=..., string=0x1388d20, itemLength=9, fontEngine=
0x1329b80, itemBoundaries=..., kerningEnabled=true, hasLetterSpacing=false) 
at text/qtextengine.cpp:1575
#7  0xb65b2d97 in QTextEngine::shapeText(int) const (this=, 
item=) at 
../../include/QtGui/5.12.5/QtGui/private/../../../../../src/gui/painting/qfixed_p.h:174
#8  0xb65b3ad2 in QTextEngine::shape(int) const (this=0x147e0a0, item=0) at 
text/qtextengine.cpp:2003
#9  0xb65c47a8 in QTextLine::layout_helper(int) (this=0xbfb84c54, 
maxGlyphs=2147483647) at text/qtextlayout.cpp:1836
#10 0xb65c5941 in QTextLine::setLineWidth(double) (this=0xbfb84c54, 
width=) at text/qtextlayout.cpp:1596
#11 0xb6b917c8 in  () at /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#12 0xb6b957bb in QCommonStylePrivate::viewItemSize(QStyleOptionViewItem 
const*, int) const () at /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#13 0xb6b95bbf in QCommonStylePrivate::viewItemLayout(QStyleOptionViewItem 
const*, QRect*, QRect*, QRect*, bool) const () at 
/usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#14 0xb6b96ad1 in QCommonStyle::sizeFromContents(QStyle::ContentsType, 
QStyleOption const*, QSize const&, QWidget const*) const () at 
/usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#15 0xb003776f in  () at /usr/lib/i386-linux-gnu/qt5/plugins/styles/breeze.so
#16 0xb0040210 in  () at /usr/lib/i386-linux-gnu/qt5/plugins/styles/breeze.so
#17 0xb6dd1f70 in QStyledItemDelegate::sizeHint(QStyleOptionViewItem const&, 
QModelIndex const&) const () at /usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#18 0xb6da9b90 in QAbstractItemView::sizeHintForRow(int) const () at 
/usr/lib/i386-linux-gnu/libQt5Widgets.so.5
#19 0xb7ee5174 in IdentityStatusWidget::resizeAccountListWidget() 
(this=0x13dc470) at ./kopete/identity/identitystatuswidget.cpp:365
#20 0xb7ee5414 in IdentityStatusWidget::slotAccountUnregistered(Kopete::Account 
const*) (this=0x13dc470, account=0x1682210) at 
./kopete/identity/identitystatuswidget.cpp:245
#21 0xb7ee73fe in IdentityStatusWidget::qt_static_metacall(QObject*, 
QMetaObject::Call, int, void**) (_o=, _id=, 
_a=, _c=)
at 
./obj-i686-linux-gnu/kopete/identity/kopeteidentity_autogen/EWIEGA46WW/moc_identitystatuswidget.cpp:133
#22 0xb6100b02 in QMetaObject::activate(QObject*, int, int, void**) () at 
/usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
#23 0xb61010fd in QMetaObject::activate(QObject*, QMetaObject const*, int, 
void**) () at /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
#24 0xb7e001e9 in Kopete::AccountManager::accountUnregistered(Kopete::Account 
const*) (this=0xb0304bc0, _t1=) at 
./obj-i686-linux-gnu/libkopete/kopete_autogen/EWIEGA46WW/moc_kopeteaccountmanager.cpp:250
#25 0xb7d689b0 in Kopete::AccountManager::unregisterAccount(Kopete::Account 
const*) (this=0xb0304bc0, account=0x1682210) at 
./libkopete/kopeteaccountmanager.cpp:303
#26 0xb7e049fe in Kopete::AccountManager::qt_static_metacall(QObject*, 
QMetaObject::Call, int, void**) (_o=, _id=, 
_a=, _c=)
at 
./obj-i686-linux-gnu/libkopete/kopete_autogen/EWIEGA46WW/moc_kopeteaccountmanager.cpp:172
#27 0xb6100b02 in QMetaObject::activate(QObject*, int, int, void**) () at 
/usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
#28 0xb61010fd in QMetaObject::activate(QObject*, QMetaObject const*, int, 
void**) () at /usr/lib/i386-linux-gnu/sse2/libQt5Core.so.5
#29 0xb7e000d9 in Kopete::Account::accountDestroyed(Kopete::Account const*) 
(this=0x1682210, _t1=) at 
./obj-i686-linux-gnu/libkopete/kopete_autogen/EWIEGA46WW/moc_kopeteaccount.cpp:362
#30 0xb7d665f7 in Kopete::Account::~Account() (this=0x1682210, 
__in_chrg=) at ./libkopete/kopeteaccount.cpp:147
#31 0xaad16273 in BonjourAccount::~BonjourAccount() (this=0x1682210, 
__in_chrg=) at 
/usr/include/i386-linux-gnu/qt5/QtCore/qarraydata.h:234
#32 0xaad162ba in BonjourAccount::~BonjourAccount() (this=0x1682210, 
__in_chrg=) at ./protocols/bonjour/bonjouraccount.cpp:82
#33 0xb7ddac21 in Kopete::Protocol::~Protocol() (this=0x168e3f0, 
__in_chrg=) at ./libkopete/kopeteprotocol.cpp:70
#34 0xaad0d51c in BonjourProtocol::~BonjourProtocol() (this=0x168e3f0,