Bug 119076 - Knode crashes after failing to load libthai
Summary: Knode crashes after failing to load libthai
Status: RESOLVED DUPLICATE of bug 119108
Alias: None
Product: knode
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-27 20:46 UTC by Matthew Sutton
Modified: 2006-01-01 14:39 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthew Sutton 2005-12-27 20:46:56 UTC
Version:            (using KDE KDE 3.5.0)
Installed from:    Compiled From Sources
Compiler:          gcc version 4.0.2 20051125 (Red Hat 4.0.2-8) Default compilation from kdesvn-build for KDE 3.5
OS:                Linux

Hi all,

Whilst trying to load a certain article, knode crashes. It is reproducable.

The article in question is found on the news.gmane.org servers: gnome.hackers/Re: Subversion on container/Ross Golder/5th November 2005 18:40.

It is possibly this email: http://mail.gnome.org/archives/gnome-hackers/2005-November/msg00000.html

Here is the terminal output with embedded backtrace:

knode: KNMainWidget::slotArticleSelected(QListViewItem *i)
knode: KNNetAccess::startJobNntp(): job started
knode: KNNetAccess::threadDoneNntp(): job done
kdecore (KConfigSkeleton): Creating KConfigSkeleton (0x966b6e0)
kdecore (KConfigSkeleton): KConfigSkeleton::readConfig()
Try to load libthai dynamically...
kdecore (KLibLoader): library=libthai: No file named libthai.la found in paths.
Error, can't load libthai...
*** glibc detected *** knode: corrupted double-linked list: 0x038818b8 ***
======= Backtrace: =========
/lib/libc.so.6[0x37bdb71]
/lib/libc.so.6[0x37bed8d]
/lib/libc.so.6(malloc+0x74)[0x37c0492]
/usr/X11R6/lib/libXft.so.2(XftFontOpenInfo+0x2c2)[0x3e2d17]
/usr/X11R6/lib/libXft.so.2(XftFontOpenPattern+0x44)[0x3e3cb6]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3[0x15a512b]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN13QFontDatabase8findFontEN5QFont6ScriptEPK12QFontPrivateRK8QFontDefi+0x3ae)[0x15a5894]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN12QFontPrivate4loadEN5QFont6ScriptE+0x36c)[0x15225a4]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZNK12QFontPrivate15engineForScriptEN5QFont6ScriptE+0x4d)[0x15238b3]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZNK11QTextEngine5shapeEi+0xbb)[0x167c71f]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZNK11QTextEngine5widthEii+0x8d)[0x167d5a9]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZNK12QFontMetrics9charWidthERK7QStringi+0x23b)[0x15228b1]
/home/matthew/kde/lib/libkhtml.so.4(_ZNK5khtml4Font5widthEP5QCharii+0x146)[0x10f37f6]
/home/matthew/kde/lib/libkhtml.so.4(_ZN5khtml10RenderText15calcMinMaxWidthEv+0x4cd)[0x10b743f]
/home/matthew/kde/lib/libkhtml.so.4(_ZN5khtml11KHTMLParser10insertNodeEPN3DOM8NodeImplEb+0x2a1)[0x10460d5]
/home/matthew/kde/lib/libkhtml.so.4(_ZN5khtml11KHTMLParser10parseTokenEPNS_5TokenE+0x366)[0x1048d54]
/home/matthew/kde/lib/libkhtml.so.4(_ZN5khtml13HTMLTokenizer12processTokenEv+0x165)[0x1049ab9]
/home/matthew/kde/lib/libkhtml.so.4(_ZN5khtml13HTMLTokenizer5writeERKNS_15TokenizerStringEb+0x48e)[0x104f72a]
/home/matthew/kde/lib/libkhtml.so.4(_ZN9KHTMLPart5writeERK7QString+0xaf)[0xfd2f65]
/home/matthew/kde/lib/libknodecommon.so(_ZN5KNode13ArticleWidget16displayBodyBlockERK11QStringList+0x409)[0x643ed1]
/home/matthew/kde/lib/libknodecommon.so(_ZN5KNode13ArticleWidget14displayArticleEv+0xd87)[0x64a58f]
/home/matthew/kde/lib/libknodecommon.so(_ZN5KNode13ArticleWidget14articleChangedEP9KNArticle+0x72)[0x64a7f8]
/home/matthew/kde/lib/libknodecommon.so(_ZN16KNArticleManager10processJobEP9KNJobData+0x96)[0x5e0d10]
/home/matthew/kde/lib/libknodecommon.so(_ZN13KNJobConsumer7jobDoneEP9KNJobData+0x5d)[0x5b2f2f]
/home/matthew/kde/lib/libknodecommon.so(_ZN9KNJobData14notifyConsumerEv+0x31)[0x5b2f67]
/home/matthew/kde/lib/libknodecommon.so(_ZN11KNNetAccess14threadDoneNntpEv+0x420)[0x5aaee6]
/home/matthew/kde/lib/libknodecommon.so(_ZN11KNNetAccess16slotThreadSignalEi+0xcb)[0x5aafe3]
/home/matthew/kde/lib/libknodecommon.so(_ZN11KNNetAccess9qt_invokeEiP8QUObject+0x80)[0x5ab55e]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEP15QConnectionListP8QUObject+0x131)[0x15e4961]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEii+0x1b1)[0x15e52a7]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN15QSocketNotifier9activatedEi+0x34)[0x196ca70]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN15QSocketNotifier5eventEP6QEvent+0x4f)[0x1605035]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN12QApplication14internalNotifyEP7QObjectP6QEvent+0x2ac)[0x157b1ea]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x1f8)[0x157b3fe]
/home/matthew/kde/lib/libkdecore.so.4(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x6ea)[0xad7392]
/home/matthew/kde/lib/libkhtml.so.4(_ZN12QApplication9sendEventEP7QObjectP6QEvent+0x55)[0xfb6c1d]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN10QEventLoop23activateSocketNotifiersEv+0xf1)[0x156c745]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN10QEventLoop13processEventsEj+0xb74)[0x1520b50]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN10QEventLoop9enterLoopEv+0x5c)[0x15933de]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN10QEventLoop4execEv+0x37)[0x1593307]
/home/matthew/kdesvn/build/qt-copy/lib/libqt-mt.so.3(_ZN12QApplication4execEv+0x27)[0x1579da7]
knode[0x805105b]
/lib/libc.so.6(__libc_start_main+0xdf)[0x376fd5f]
knode(_ZN7QWidget22windowActivationChangeEb+0x41)[0x804f431]
======= Memory map: ========
00111000-0012a000 r-xp 00000000 fd:00 2490559    /home/matthew/kde/lib/libktnef.so.1.0.0
0012a000-0012b000 rwxp 00019000 fd:00 2490559    /home/matthew/kde/lib/libktnef.so.1.0.0
0012b000-0012d000 r-xp 0000000

Here's what happens under valgrind (no crash):

knode: KNMainWidget::slotArticleSelected(QListViewItem *i)
knode: KNNetAccess::startJobNntp(): job started
knode: KNNetAccess::threadDoneNntp(): job done
Try to load libthai dynamically...
kdecore (KLibLoader): library=libthai: No file named libthai.la found in paths.
Error, can't load libthai...
==26431==
==26431== Thread 1:
==26431== Invalid free() / delete / delete[]
==26431==    at 0x1B909743: free (vg_replace_malloc.c:152)
==26431==    by 0x528303: FcMatrixFree (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x529363: FcValueListDestroy (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x51F36C: (within /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x51F7C9: FcConfigSubstituteWithPat (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527824: FcFontRenderPrepare (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527A57: FcFontSetMatch (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527D89: FcFontMatch (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x5C72D4: XftFontMatch (in /usr/X11R6/lib/libXft.so.2.1.2)
==26431==    by 0x1D3260F4: loadFontConfigFont(QFontPrivate const*, QFontDef const&, QFont::Script) (qfontdatabase_x11.cpp:1895)
==26431==    by 0x1D326893: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, QFontDef const&, int) (qfontdatabase.cpp:981)
==26431==    by 0x1D2A35A3: QFontPrivate::load(QFont::Script) (qfont_x11.cpp:420)
==26431==  Address 0x1DEDA9A8 is 0 bytes inside a block of size 32 free'd
==26431==    at 0x1B909743: free (vg_replace_malloc.c:152)
==26431==    by 0x528303: FcMatrixFree (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x5291BB: FcValueDestroy (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x51E9D9: (within /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x51F114: (within /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x51F5EB: FcConfigSubstituteWithPat (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527824: FcFontRenderPrepare (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527A57: FcFontSetMatch (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x527D89: FcFontMatch (in /usr/lib/libfontconfig.so.1.0.4)
==26431==    by 0x5C72D4: XftFontMatch (in /usr/X11R6/lib/libXft.so.2.1.2)
==26431==    by 0x1D3260F4: loadFontConfigFont(QFontPrivate const*, QFontDef const&, QFont::Script) (qfontdatabase_x11.cpp:1895)
==26431==    by 0x1D326893: QFontDatabase::findFont(QFont::Script, QFontPrivate const*, QFontDef const&, int) (qfontdatabase.cpp:981)
knode: KNMemoryManager::updateCacheEntry() : article added
knode: KNMemoryManager::checkMemoryUsageArticles() : 2 articles in cache => Usage : 1.33371%
knode: KNArticleCollection::byMessageId() : created index
knode: DataProtocol::DataProtocol()
knode: kio_data@0x1e561e90::get(const KURL& url)
knode: DataProtocol::~DataProtocol()

Please let me know if you need more information.

Thanks,

Matthew
Comment 1 Volker Krause 2005-12-31 11:57:00 UTC
Are you using the experimental fontconfig patch from qt-copy/patches? In this case, this is a duplicate of #119108.
Comment 2 Matthew Sutton 2005-12-31 12:43:13 UTC
On Saturday 31 December 2005 10:57, Volker Krause wrote:
[bugs.kde.org quoted mail]

Yes, the kdesvn-build automatically applies the patches. I have just 
recompiled - it works fine now!

Also I think it applies to https://bugs.kde.org/show_bug.cgi?id=119194

That message doesn't crash anymore either.

Thanks,

Matthew
Comment 3 Lubos Lunak 2006-01-01 14:39:57 UTC

*** This bug has been marked as a duplicate of 119108 ***