Bug 34621 - fontconfig SIGBUS in fcpat.c:FcPatternDestroy()
Summary: fontconfig SIGBUS in fcpat.c:FcPatternDestroy()
Status: RESOLVED DUPLICATE of bug 39278
Alias: None
Product: fontconfig
Classification: Unclassified
Component: library (show other bugs)
Version: 2.8
Hardware: Other All
: medium normal
Assignee: Akira TAGOH
QA Contact: Behdad Esfahbod
Depends on:
Reported: 2011-02-23 07:35 UTC by Hans Ecke
Modified: 2012-04-10 07:47 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Description Hans Ecke 2011-02-23 07:35:08 UTC
I've been getting a lot of crashes at application exit time. Nothing unusual is happening, I'm just normally closing the application.

Fedora 14 64bit. Fontconfig 2.8.0 in the fedora packages is identical to upstream except for a smaller sleep() in fc-cache.c:464.

Is there any other information I can provide? Below is a backtrace and I will amend this bugreport with others as they occur (and I have time to process them).

Thank you so much for your work on the software!


Application: KDE Wallet Service (kwalletd), signal: Bus error
[KCrash Handler]
#6  IA__FcPatternDestroy (p=0x7f75de22d0a0) at fcpat.c:286
#7  0x0000003fde81324c in IA__FcFontSetDestroy (s=0x1014ed0) at fcfs.c:49
#8  0x0000003fde80a57c in IA__FcConfigDestroy (config=0x1012840) at fccfg.c:262
#9  0x0000003fde80a60a in IA__FcConfigSetCurrent (config=0x11db2b0) at
#10 0x0000003fde813658 in IA__FcInitReinitialize () at fcinit.c:159
#11 0x0000003fde815b42 in IA__FcFontList (config=<value optimized out>,
p=<value optimized out>, os=<value optimized out>) at fclist.c:561
#12 0x0000003fea1e99d1 in loadFontConfig () at text/qfontdatabase_x11.cpp:1049
#13 0x0000003fea1eb90a in initializeDb () at text/qfontdatabase_x11.cpp:1319
#14 0x0000003fea1ef4e3 in QFontDatabase::load (d=0x11b65b0, script=0) at
#15 0x0000003fea1cdcb7 in QFontPrivate::engineForScript (this=0x11b65b0,
script=0) at text/qfont.cpp:270
#16 0x0000003fea2020cc in QScriptLine::setDefaultHeight (this=0x11d80a0,
eng=0x11c9190) at text/qtextengine.cpp:2054
#17 0x0000003fea20ee18 in QTextLine::layout_helper (this=0x7fff7b3d90f0,
maxGlyphs=2147483647) at text/qtextlayout.cpp:1786
#18 0x0000003fea24d426 in QTextDocumentLayoutPrivate::layoutBlock
(this=0x11da120, bl=<value optimized out>, blockPosition=2067634120,
blockFormat=..., layoutStruct=0x7fff7b3d97a0, layoutFrom=2067634104,
layoutTo=2147483647, previousBlockFormat=0x0) at
#19 0x0000003fea255301 in QTextDocumentLayoutPrivate::layoutFlow
(this=0x11da120, it=..., layoutStruct=0x7fff7b3d97a0, layoutFrom=0,
layoutTo=2147483647, width=...) at text/qtextdocumentlayout.cpp:2404
#20 0x0000003fea253aba in QTextDocumentLayoutPrivate::layoutFrame
(this=0x11da120, f=0x11d8030, layoutFrom=0, layoutTo=2147483647,
frameWidth=..., frameHeight=..., parentY=...) at
#21 0x0000003fea2542cd in QTextDocumentLayoutPrivate::layoutFrame
(this=0x11da120, f=0x11d8030, layoutFrom=0, layoutTo=2147483647, parentY=...)
at text/qtextdocumentlayout.cpp:2051
#22 0x0000003fea25713a in QTextDocumentLayout::doLayout (this=0x11c5cd0,
from=0, oldLength=<value optimized out>, length=2147483647) at
#23 0x0000003fea25763a in QTextDocumentLayoutPrivate::ensureLayoutedByPosition
(this=0x11da120, position=1000) at text/qtextdocumentlayout.cpp:3076
#24 0x0000003fea257d75 in QTextDocumentLayoutPrivate::layoutStep
(this=0x11da120) at text/qtextdocumentlayout.cpp:3082
#25 0x0000003fea2589f4 in QTextDocumentLayout::documentChanged (this=0x11c5cd0,
from=<value optimized out>, oldLength=0, length=1) at
#26 0x0000003fea2217a4 in QTextDocument::documentLayout (this=0x11c7960) at
#27 0x0000003fea1f45e6 in QTextControlPrivate::_q_documentLayoutChanged
(this=<value optimized out>) at text/qtextcontrol.cpp:618
#28 0x0000003fea1f73e5 in QTextControlPrivate::setContent (this=0x11c9020,
format=Qt::RichText, text=..., document=0x0) at text/qtextcontrol.cpp:428
#29 0x0000003fea1f77ea in QTextControlPrivate::init (this=0x11c9020,
format=<value optimized out>, text=<value optimized out>, document=<value
optimized out>) at text/qtextcontrol.cpp:405
#30 0x0000003fea1f9dee in QTextControl::QTextControl (this=0x11c60b0,
parent=0x11b97d0) at text/qtextcontrol.cpp:768
#31 0x0000003fea3b7fd0 in QLabelPrivate::ensureTextControl (this=0x11bacc0) at
#32 0x0000003fea3b82f8 in QLabel::setText (this=0x11b97d0, text=<value
optimized out>) at widgets/qlabel.cpp:355
#33 0x0000003278c1219d in KWalletD::isAuthorizedApp (this=0x7fff7b3db840,
appid=..., wallet=..., w=2104769) at
#34 0x0000003278c142d1 in KWalletD::internalOpen (this=0x7fff7b3db840,
appid=..., wallet=..., isPath=false, w=2104769, modal=true, service=...) at
#35 0x0000003278c14f24 in KWalletD::doTransactionOpen (this=0x7fff7b3db840,
appid=..., wallet=..., isPath=false, wId=2104769, modal=<value optimized out>,
service=...) at /usr/src/debug/kdebase-runtime-4.5.5/kwalletd/kwalletd.cpp:397
#36 0x0000003278c16066 in KWalletD::processTransactions (this=0x7fff7b3db840)
at /usr/src/debug/kdebase-runtime-4.5.5/kwalletd/kwalletd.cpp:183
#37 0x0000003278c16bad in KWalletD::qt_metacall (this=0x7fff7b3db840,
_c=QMetaObject::InvokeMetaMethod, _id=58, _a=0x11ae3b0) at
#38 0x0000003fe5d6fb4a in QObject::event (this=0x7fff7b3db840, e=<value
optimized out>) at kernel/qobject.cpp:1211
#39 0x0000003fe9fb78c4 in QApplicationPrivate::notify_helper (this=0x10116f0,
receiver=0x7fff7b3db840, e=0x11884c0) at kernel/qapplication.cpp:4445
#40 0x0000003fe9fbc3da in QApplication::notify (this=<value optimized out>,
receiver=0x7fff7b3db840, e=0x11884c0) at kernel/qapplication.cpp:4324
#41 0x0000003278420596 in KApplication::notify (this=0x7fff7b3db8f0,
receiver=0x7fff7b3db840, event=0x11884c0) at
#42 0x0000003fe5d5b7ac in QCoreApplication::notifyInternal
(this=0x7fff7b3db8f0, receiver=0x7fff7b3db840, event=0x11884c0) at
#43 0x0000003fe5d5ef95 in sendEvent (receiver=0x0, event_type=0, data=0xfd8be0)
at kernel/qcoreapplication.h:215
#44 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
data=0xfd8be0) at kernel/qcoreapplication.cpp:1373
#45 0x0000003fe5d894c0 in QEventDispatcherUNIX::processEvents (this=0x1011310,
flags=...) at kernel/qeventdispatcher_unix.cpp:890
#46 0x0000003fea05d39c in QEventDispatcherX11::processEvents (this=0x1011310,
flags=...) at kernel/qeventdispatcher_x11.cpp:152
#47 0x0000003fe5d5ab42 in QEventLoop::processEvents (this=<value optimized
out>, flags=...) at kernel/qeventloop.cpp:149
#48 0x0000003fe5d5ad8c in QEventLoop::exec (this=0x7fff7b3db790, flags=...) at
#49 0x0000003fe5d5f24b in QCoreApplication::exec () at
#50 0x0000003278c0c8a2 in kdemain (argc=1, argv=0x7fff7b3dbc68) at
#51 0x0000003fd981ee5d in __libc_start_main (main=0x4007d0 <main(int, char**)>,
argc=1, ubp_av=0x7fff7b3dbc68, init=<value optimized out>, fini=<value
optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fff7b3dbc58) at
#52 0x00000000004006f9 in _start ()
Comment 1 Behdad Esfahbod 2011-02-23 12:33:00 UTC
The only thing I can think of is that someone is calling FcFini(), and then using fontconfig again.  Which is supposed to work but may be buggy.
Comment 2 Akira TAGOH 2012-04-05 20:34:43 UTC
Given that someone is calling FcFini(), this can be prevented if _fcconfig is nullified in FcFini() after destroying.
Comment 3 Akira TAGOH 2012-04-05 20:51:33 UTC
(In reply to comment #2)
> Given that someone is calling FcFini(), this can be prevented if _fcconfig is
> nullified in FcFini() after destroying.

erm, it does in FcConfigDestroy().
Comment 4 Akira TAGOH 2012-04-10 03:14:01 UTC
Are you using NFS on your home?
Comment 5 Hans Ecke 2012-04-10 05:48:05 UTC
Hi Akira-

Yes I'm using NFS for /home.

Comment 6 Akira TAGOH 2012-04-10 07:47:50 UTC
Thanks. this should be duplicate then.

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

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.