VIVE L’AMOUR!
I am trying to get the newest ROOT “v5.28.00.patches” working on an Ubuntu 10.04.1 LTS (i686, gcc 4.4.3, QT 4.6.2).
I configured it enabling all possible options:
Enabled support for asimage, astiff, builtin_afterimage, builtin_ftgl, builtin_freetype, builtin_glew, builtin_pcre, builtin_zlib, cintex, clarens, editline, exceptions, explicitlink, fftw3, gviz, gdml, genvector, gsl_shared, krb5, ldap, mathmore, memstat, minuit2, mysql, opengl, peac, pythia6, python, qt, qtgsi, reflex, roofit, ruby, rpath, shadowpw, shared, soversion, ssl, table, tmva, unuran, x11, xft, xml, xrootd.
I created “.rootrc” with just:
Gui.Backend: qt
Gui.Factory: qt
Gui.Style: windows
The problem is that, as soon as I try to use Qt in ROOT, it dies somewhere in routines related to “fonts” / “fontconfig”.
Are there any known issues that I should take care of?
Maybe I have something improper somewhere in my “fonts” configuration.
See three example “stack traces” below:
-
this is a standalone Qt3 (3.3.8b) application linked with some standard non-qt-ROOT libraries:
===========================================================
#10 0xb39f39f0 in FT_Get_Module ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#11 0xb39fb081 in tt_get_interface ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#12 0xb39ee26d in FT_Get_CMap_Format ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#13 0xb39ee460 in FT_Set_Charmap ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#14 0xb3a26b23 in af_autofitter_load_glyph ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#15 0xb39f30bf in FT_Load_Glyph ()
from /…/v5-28-00-patches/lib/libGraf.so.5.28
#16 0xb06ef946 in XftFontLoadGlyphs () from /usr/lib/libXft.so.2
#17 0xb06ec960 in XftGlyphExtents () from /usr/lib/libXft.so.2
#18 0xb11c37be in QFontEngineXft::boundingBox(unsigned short) ()
from /usr/lib/libqt-mt.so.3
#19 0xb11c2d2b in QFontEngineXft::minRightBearing() const ()
from /usr/lib/libqt-mt.so.3
#20 0xb11c2c58 in QFontEngineXft::minLeftBearing() const ()
from /usr/lib/libqt-mt.so.3
#21 0xb120cbfc in QFontMetrics::minLeftBearing() const ()
from /usr/lib/libqt-mt.so.3
#22 0xb1347e64 in QListView::init() () from /usr/lib/libqt-mt.so.3
#23 0xb1348347 in QListView::QListView(QWidget*, char const*, unsigned int) ()
from /usr/lib/libqt-mt.so.3
(…)
=========================================================== -
this is the standard root executable doing “new TCanvas()”:
===========================================================
#10 0xb2fa70b8 in ?? () from /usr/lib/libfontconfig.so.1
#11 0xb2fa8200 in FcValueSave () from /usr/lib/libfontconfig.so.1
#12 0xb2fa8303 in ?? () from /usr/lib/libfontconfig.so.1
#13 0xb2fa85ca in FcPatternDuplicate () from /usr/lib/libfontconfig.so.1
#14 0xb4ab2dfc in QFontEngineMultiFT::loadEngine(int) ()
from /usr/lib/libQtGui.so.4
#15 0xb49e1871 in ?? () from /usr/lib/libQtGui.so.4
#16 0xb4a1585e in QTextEngine::shapeTextWithHarfbuzz(int) const ()
from /usr/lib/libQtGui.so.4
#17 0xb4a1672a in QTextEngine::shapeText(int) const ()
from /usr/lib/libQtGui.so.4
#18 0xb4a16bea in QTextEngine::shape(int) const () from /usr/lib/libQtGui.so.4
#19 0xb4a193e7 in QTextEngine::width(int, int) const ()
from /usr/lib/libQtGui.so.4
#20 0xb49ef38f in QFontMetrics::width(QString const&, int) const ()
from /usr/lib/libQtGui.so.4
#21 0xb5386715 in TGQt::TextWidth(unsigned long, char const*, int) ()
from /…/v5-28-00-patches/lib/libGQt.so
#22 0xb557eeb9 in TGFontPool::MakeFont(TGFont*, unsigned long, char const*) ()
from /…/v5-28-00-patches/lib/libGui.so
#23 0xb557f33f in TGFontPool::GetNativeFont(char const*, bool) ()
from /…/v5-28-00-patches/lib/libGui.so
#24 0xb557ff46 in TGFontPool::GetFont(char const*, bool) ()
from /…/v5-28-00-patches/lib/libGui.so
#25 0xb55fdd5e in TGResourcePool::TGResourcePool(TGClient*) ()
from /…/v5-28-00-patches/lib/libGui.so
#26 0xb554d498 in TGClient::TGClient(char const*) ()
from /…/v5-28-00-patches/lib/libGui.so
#27 0xb1437675 in TQtRootGuiFactory::CreateQClient() ()
from /…/v5-28-00-patches/lib/libQtRoot.so
#28 0xb14376ec in TQtRootGuiFactory::CreateApplicationImp(char const*, int*, char**) () from /…/v5-28-00-patches/lib/libQtRoot.so
#29 0xb7288f08 in TApplication::InitializeGraphics() ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
#30 0xb72f7265 in TSystem::Load(char const*, char const*, bool) ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
#31 0xb737bbe3 in TUnixSystem::Load(char const*, char const*, bool) ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
#32 0xb72d64ba in TROOT::LoadClass(char const*, char const*, bool) ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
#33 0xb733bda4 in TCint::AutoLoadCallback(char const*, char const*) ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
#34 0xb73410a8 in TCint_AutoLoadCallback ()
from /…/v5-28-00-patches/lib/libCore.so.5.28
=========================================================== -
this is ALSO the standard root executable doing “new TCanvas()”:
===========================================================
root [0] new TCanvas()
** Id: TGQt.cxx 36275 2010-10-11 08:05:21Z brun this=0x978f0f8
Symbol font family found: “LMMathSymbols10”
Symbol font family found: “LMMathSymbols5”
Symbol font family found: “LMMathSymbols6”
Symbol font family found: “LMMathSymbols7”
Symbol font family found: “LMMathSymbols8”
Symbol font family found: “LMMathSymbols9”
Symbol font family found: “Standard Symbols L”
*** glibc detected *** /…/v5-28-00-patches/bin/root.exe: double free or corruption (!prev): 0x098e8408 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0xb658e591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0xb658fde8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb6592ecd]
/usr/lib/libfontconfig.so.1(FcStrFree+0x3d)[0xb2e2c0bd]
/usr/lib/libfontconfig.so.1(+0x19e37)[0xb2e29e37]
/usr/lib/libfontconfig.so.1(FcPatternDestroy+0x6d)[0xb2e2a02d]
/usr/lib/libQtGui.so.4(_ZN18QFontEngineMultiFT10loadEngineEi+0x298)[0xb4935038]
/usr/lib/libQtGui.so.4(+0x385871)[0xb4863871]
/usr/lib/libQtGui.so.4(_ZNK11QTextEngine21shapeTextWithHarfbuzzEi+0x37e)[0xb489785e]
/usr/lib/libQtGui.so.4(_ZNK11QTextEngine9shapeTextEi+0x6a)[0xb489872a]
/usr/lib/libQtGui.so.4(_ZNK11QTextEngine5shapeEi+0xaa)[0xb4898bea]
/usr/lib/libQtGui.so.4(_ZNK11QTextEngine5widthEii+0x217)[0xb489b3e7]
/usr/lib/libQtGui.so.4(_ZNK12QFontMetrics5widthERK7QStringi+0xcf)[0xb487138f]
/…/v5-28-00-patches/lib/libGQt.so(_ZN4TGQt9TextWidthEmPKci+0xb5)[0xb5208715]
/…/v5-28-00-patches/lib/libGui.so(_ZN10TGFontPool8MakeFontEP6TGFontmPKc+0x219)[0xb5400eb9]
/…/v5-28-00-patches/lib/libGui.so(_ZN10TGFontPool13GetNativeFontEPKcb+0x6f)[0xb540133f]
/…/v5-28-00-patches/lib/libGui.so(_ZN10TGFontPool7GetFontEPKcb+0x1c6)[0xb5401f46]
/…/v5-28-00-patches/lib/libGui.so(_ZN14TGResourcePoolC1EP8TGClient+0xb3e)[0xb547fd5e]
/…/v5-28-00-patches/lib/libGui.so(_ZN8TGClientC1EPKc+0x278)[0xb53cf498]
/…/v5-28-00-patches/lib/libQtRoot.so(_ZN17TQtRootGuiFactory13CreateQClientEv+0x35)[0xb12b9675]
/…/v5-28-00-patches/lib/libQtRoot.so(_ZN17TQtRootGuiFactory20CreateApplicationImpEPKcPiPPc+0x4c)[0xb12b96ec]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN12TApplication18InitializeGraphicsEv+0x128)[0xb710af08]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN7TSystem4LoadEPKcS1_b+0x795)[0xb7179265]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN11TUnixSystem4LoadEPKcS1_b+0x33)[0xb71fdbe3]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN5TROOT9LoadClassEPKcS1_b+0x12a)[0xb71584ba]
/…/v5-28-00-patches/lib/libCore.so.5.28(ZN5TCint16AutoLoadCallbackEPKcS1+0x234)[0xb71bdda4]
/…/v5-28-00-patches/lib/libCore.so.5.28(TCint_AutoLoadCallback+0x58)[0xb71c30a8]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__class_autoloading+0x109)[0xb6ba4269]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__defined_tagname+0x4a9)[0xb6ba4c49]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__new_operator+0x1b09)[0xb6b14989]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__exec_statement+0x7449)[0xb6b49e79]
/…/v5-28-00-patches/lib/libCint.so.5.28(+0x7ce11)[0xb6aa5e11]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__exec_tempfile_fp+0x19)[0xb6aa6169]
/…/v5-28-00-patches/lib/libCint.so.5.28(G__process_cmd+0x1f64)[0xb6b54b04]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN5TCint11ProcessLineEPKcPN12TInterpreter10EErrorCodeE+0x49b)[0xb71c004b]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN12TApplication11ProcessLineEPKcbPi+0x2fc)[0xb710b47c]
/…/v5-28-00-patches/lib/libRint.so.5.28(_ZN5TRint15HandleTermInputEv+0x1d8)[0xb67ff988]
/…/v5-28-00-patches/lib/libRint.so.5.28(_ZN17TTermInputHandler6NotifyEv+0x25)[0xb67fdff5]
/…/v5-28-00-patches/lib/libRint.so.5.28(_ZN17TTermInputHandler10ReadNotifyEv+0x14)[0xb6800e94]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN11TUnixSystem16CheckDescriptorsEv+0x177)[0xb7202857]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN11TUnixSystem16DispatchOneEventEb+0xf5)[0xb7202a25]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN7TSystem9InnerLoopEv+0x21)[0xb7171e21]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN7TSystem3RunEv+0x89)[0xb7174b79]
/…/v5-28-00-patches/lib/libCore.so.5.28(_ZN12TApplication3RunEb+0x37)[0xb71096c7]
/…/v5-28-00-patches/lib/libRint.so.5.28(_ZN5TRint3RunEb+0x1e1)[0xb6800721]
/…/v5-28-00-patches/bin/root.exe(main+0x6f)[0x8048f0f]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb6539bd6]
/…/v5-28-00-patches/bin/root.exe[0x8048dd1]
===========================================================
A pitiful case, am I not?
Pepe Le Pew.
P.S. Yes, I noticed “Gui.Style: windows” no longer works.