due to the old ubuntu package of ROOT available in the Ubuntu repositories I decided to compile ROOT myself. But I seem to have encountered some freetype-related problem.
Everything works as long as XFT is disabled compile-time. If it is not I get the following message:
There was a crash (#7 0x0051742d in SigHandler(ESignals) () from /usr/local/lib/root/libCore.so).
This is the entire stack trace of all threads:
#0 0x00fe4422 in __kernel_vsyscall ()
#1 0x01aa27d3 in __waitpid_nocancel () at …/sysdeps/unix/syscall-template.S:82
#2 0x01a43de3 in do_system (line=) at …/sysdeps/posix/system.c:149
#3 0x0515e27d in system (line=0x8ed1580 “/etc/root/gdb-backtrace.sh 30032 1>&2”) at pt-system.c:29
#4 0x0050fa9d in TUnixSystem::Exec(char const*) () from /usr/local/lib/root/libCore.so
#5 0x00515fd5 in TUnixSystem::StackTrace() () from /usr/local/lib/root/libCore.so
#6 0x00517325 in TUnixSystem::DispatchSignals(ESignals) () from /usr/local/lib/root/libCore.so
#7 0x0051742d in SigHandler(ESignals) () from /usr/local/lib/root/libCore.so
#8 0x0050ccb2 in sighandler(int) () from /usr/local/lib/root/libCore.so
#10 0x00d26240 in FT_Get_Module () from /usr/local/lib/root/libGraf.so
#11 0x00d2d8d1 in tt_get_interface () from /usr/local/lib/root/libGraf.so
#12 0x00d20964 in FT_Load_Sfnt_Table () from /usr/local/lib/root/libGraf.so
#13 0x0241bb41 in ?? () from /usr/lib/libQtGui.so.4
#14 0x0234713a in QFontEngine::getSfntTable(unsigned int) const () from /usr/lib/libQtGui.so.4
#15 0x02347644 in QFontEngine::loadKerningPairs(QFixed) () from /usr/lib/libQtGui.so.4
#16 0x0241b5b3 in QFontEngineFT::doKerning(QGlyphLayout*, QFlagsQTextEngine::ShaperFlag) const ()
#17 0x0234963e in ?? () from /usr/lib/libQtGui.so.4
#18 0x0237cf35 in QTextEngine::shapeTextWithHarfbuzz(int) const () from /usr/lib/libQtGui.so.4
#19 0x0237d72a in QTextEngine::shapeText(int) const () from /usr/lib/libQtGui.so.4
#20 0x0237dbea in QTextEngine::shape(int) const () from /usr/lib/libQtGui.so.4
#21 0x023803e7 in QTextEngine::width(int, int) const () from /usr/lib/libQtGui.so.4
#22 0x0235638f in QFontMetrics::width(QString const&, int) const () from /usr/lib/libQtGui.so.4
#23 0x01c22451 in TGQt::TextWidth(unsigned long, char const*, int) () from /usr/local/lib/root/libGQt.so
#24 0x040a5ccc in TGFontPool::MakeFont(TGFont*, unsigned long, char const*) () from /usr/local/lib/root/libGui.so
#25 0x040a620f in TGFontPool::GetNativeFont(char const*, bool) () from /usr/local/lib/root/libGui.so
#26 0x040a6e26 in TGFontPool::GetFont(char const*, bool) () from /usr/local/lib/root/libGui.so
#27 0x0412340e in TGResourcePool::TGResourcePool(TGClient*) () from /usr/local/lib/root/libGui.so
#28 0x040751a8 in TGClient::TGClient(char const*) () from /usr/local/lib/root/libGui.so
#29 0x04631485 in TQtRootGuiFactory::CreateQClient() () from /usr/local/lib/root/libQtRoot.so
#30 0x046314fc in TQtRootGuiFactory::CreateApplicationImp(char const*, int*, char**) ()
#31 0x004222f8 in TApplication::InitializeGraphics() () from /usr/local/lib/root/libCore.so
#32 0x004232cf in TApplication::TApplication(char const*, int*, char**, void*, int) ()
#33 0x08049465 in main ()
The weirdest thing is that the first time i run the program it can start but not if it is started after it had terminated the first time. If I wait long enough (several minutes) I can again start the program once. The problem is the same with with “Gui.Backend: native” as with “Gui.Backend: qt”. I have tried compiling ROOT with both builtin and non-builtin freetype.
It is not a major issue since it works without XFT but if it is a ROOT bug and not a bug in the ubuntu freetype-package maybe it can be fixed?
Tested on i686 Ubuntu, root-5.27/04 (also 5.26), libfreetype6-2.3.11, libxft-2.1.14. I have not experienced anything like this on non-Ubuntu machines.
Thanks in advance