TGX11TTF Issue on OS X 10.9

Hi,

I have successfully built v5-34-13 on OS X 10.9, but as soon as I attempt to draw a histogram in the ROOT interpreter I get a segfault and a stack trace like this:

root [0] TH1F *h = new TH1F("h", "h", 1, 0, 1)
root [1] h->Draw()
Info in <TCanvas::MakeDefCanvas>:  created default TCanvas with name c1

 *** Break *** segmentation violation
 Generating stack trace...
 0x0000000108eda5d2 in TGX11TTF::RenderString(int, int, TVirtualX::ETextMode) (in libGX11TTF.so) + 706
 0x0000000108391475 in TPad::PaintText(double, double, char const*) (in libGpad.so) + 101
 0x00000001080fc64f in TLatex::Analyse(double, double, TextSpec_t, char const*, int) (in libGraf.so) + 46063
 0x00000001080fe4b3 in TLatex::PaintLatex(double, double, double, double, char const*) (in libGraf.so) + 4147
 0x00000001080e7e1a in TGaxis::PaintAxis(double, double, double, double, double&, double&, int&, char const*, double, bool) (in libGraf.so) + 27274
 0x000000010916c346 in THistPainter::PaintAxis(bool) (in libHistPainter.so) + 2102
 0x000000010916b20a in THistPainter::Paint(char const*) (in libHistPainter.so) + 1866
 0x000000010838e82a in TPad::PaintModified() (in libGpad.so) + 666
 0x00000001083751af in TCanvas::Update() (in libGpad.so) + 223
 0x00000001063fff84 in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) + 340
 0x0000000106400489 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (in libCore.so) + 121
 0x00000001072826d2 in TRint::HandleTermInput() (in libRint.so) + 770
 0x0000000107280d07 in TTermInputHandler::Notify() (in libRint.so) + 23
 0x0000000107282d5d in TTermInputHandler::ReadNotify() (in libRint.so) + 13
 0x0000000106438b5e in TUnixSystem::CheckDescriptors() (in libCore.so) + 318
 0x00000001064383be in TUnixSystem::DispatchOneEvent(bool) (in libCore.so) + 254
 0x00000001063bdeaa in TSystem::InnerLoop() (in libCore.so) + 26
 0x00000001063bdda8 in TSystem::Run() (in libCore.so) + 424
 0x000000010635c0f4 in TApplication::Run(bool) (in libCore.so) + 36
 0x0000000107281fbc in TRint::Run(bool) (in libRint.so) + 1436
 0x0000000106351e1f in main (in root.exe) + 79
 0x00007fff945b95fd in start (in libdyld.dylib) + 1

Does anyone have a similar issue or know of a fix for this?

Thanks.

Chris

Have you installed Xquartz ?
xquartz.macosforge.org/landing/

Yep, I have XQuartz installed.

Then, please, re-configure root with --build=debug and re-build it and run in a debugger and send us better stack trace.

Thanks for the response.

I’ve rebuilt in debug mode and here’s the tack trace for drawing a histogram:

root [1] h->Draw()
Info in <TCanvas::MakeDefCanvas>:  created default TCanvas with name c1

 *** Break *** segmentation violation
 Generating stack trace...
 0x000000010302309b in (anonymous namespace)::TerminalConfigUnix__handleSignal(int) (in libCore.so) (TerminalConfigUnix.cpp:37)
 0x00007fff896a55aa in _sigtramp (in libsystem_platform.dylib) + 26
 0x00000001070be7cb in <unknown function>
 0x0000000106d42f5d in FT_Glyph_To_Bitmap (in libfreetype.6.dylib) + 325
 0x0000000106d1a81d in TGX11TTF::RenderString(int, int, TVirtualX::ETextMode) (in libGX11TTF.so) (TGX11TTF.cxx:490)
 0x0000000106d1a2ca in TGX11TTF::DrawText(int, int, float, float, char const*, TVirtualX::ETextMode) (in libGX11TTF.so) (TGX11TTF.cxx:351)
 0x000000010603020d in TPadPainter::DrawText(double, double, char const*, TVirtualPadPainter::ETextMode) (in libGpad.so) (TPadPainter.cxx:474)
 0x000000010601fda1 in TPad::PaintText(double, double, char const*) (in libGpad.so) (TPad.cxx:3934)
 0x0000000105cf87e8 in TLatex::Analyse(double, double, TextSpec_t, char const*, int) (in libGraf.so) (TLatex.cxx:1806)
 0x0000000105cfb537 in TLatex::PaintLatex(double, double, double, double, char const*) (in libGraf.so) (TLatex.cxx:2118)
 0x0000000105cd34a2 in TGaxis::PaintAxis(double, double, double, double, double&, double&, int&, char const*, double, bool) (in libGraf.so) (TGaxis.cxx:1594)
 0x0000000106fdec92 in THistPainter::PaintAxis(bool) (in libHistPainter.so) (THistPainter.cxx:4202)
 0x0000000106fdcc4c in THistPainter::Paint(char const*) (in libHistPainter.so) (THistPainter.cxx:3917)
 0x0000000104eb7a48 in TH1::Paint(char const*) (in libHist.so) (TH1.cxx:5709)
 0x000000010601bddc in TPad::PaintModified() (in libGpad.so) (TPad.cxx:3124)
 0x0000000105fef5a2 in TCanvas::Update() (in libGpad.so) (TCanvas.cxx:2129)
 0x0000000102f14961 in TCint::UpdateAllCanvases() (in libCore.so) (TCint.cxx:2210)
 0x0000000102f1419d in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:539)
 0x0000000102f14abf in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:624)
 0x0000000102f137ed in TCint::EndOfLineAction() (in libCore.so) (TCint.cxx:423)
 0x0000000104497dc2 in TRint::HandleTermInput() (in libRint.so) (TRint.cxx:609)
 0x0000000104494e9a in TTermInputHandler::Notify() (in libRint.so) (TRint.cxx:125)
 0x0000000104499299 in TTermInputHandler::ReadNotify() (in libRint.so) (TRint.cxx:117)
 0x0000000102f9838e in TUnixSystem::CheckDescriptors() (in libCore.so) (TUnixSystem.cxx:1381)
 0x0000000102f97d86 in TUnixSystem::DispatchOneEvent(bool) (in libCore.so) (TUnixSystem.cxx:1088)
 0x0000000102eaa4c3 in TSystem::InnerLoop() (in libCore.so) (TSystem.cxx:409)
 0x0000000102eaa2fa in TSystem::Run() (in libCore.so) (TSystem.cxx:358)
 0x0000000102e10924 in TApplication::Run(bool) (in libCore.so) (TApplication.cxx:1073)
 0x0000000104497368 in TRint::Run(bool) (in libRint.so) (TRint.cxx:455)
 0x0000000102dfea84 in main (in root.exe) (rmain.cxx:31)
 0x00007fff8ed5b5fd in start (in libdyld.dylib) + 1

Here’s another datapoint. If I try to draw a TBrowser I get this:

root [2] TBrowser t
Error in <TGVScrollBar::TGVScrollBar>: arrow_*.xpm not found

 *** Break *** segmentation violation
 Generating stack trace...
 0x000000010302309b in (anonymous namespace)::TerminalConfigUnix__handleSignal(int) (in libCore.so) (TerminalConfigUnix.cpp:37)
 0x00007fff896a55aa in _sigtramp (in libsystem_platform.dylib) + 26
 0x0000000000000009 in <unknown function>
 0x00000001063ef073 in TGListBox::Layout() (in libGui.so) (TGListBox.cxx:1500)
 0x00000001063b75ad in TGFrame::Resize(unsigned int, unsigned int) (in libGui.so) (TGFrame.cxx:577)
 0x00000001063eec55 in TGListBox::Resize(unsigned int, unsigned int) (in libGui.so) (TGListBox.cxx:1422)
 0x000000010636ad02 in TGComboBox::Init() (in libGui.so) (TGComboBox.cxx:296)
 0x000000010636a440 in TGComboBox::TGComboBox(TGWindow const*, char const*, int, unsigned int, unsigned long) (in libGui.so) (TGComboBox.cxx:249)
 0x000000010636a23b in TGComboBox::TGComboBox(TGWindow const*, char const*, int, unsigned int, unsigned long) (in libGui.so) (TGComboBox.cxx:250)
 0x000000010638a427 in TGFileBrowser::CreateBrowser() (in libGui.so) (TGFileBrowser.cxx:123)
 0x000000010638a21b in TGFileBrowser::TGFileBrowser(TGWindow const*, TBrowser*, unsigned int, unsigned int) (in libGui.so) (TGFileBrowser.cxx:109)
 0x0000000106389ea3 in TGFileBrowser::TGFileBrowser(TGWindow const*, TBrowser*, unsigned int, unsigned int) (in libGui.so) (TGFileBrowser.cxx:112)
 0x00000001068cd7f3 in G__G__Gui3_415_0_2(G__value*, char const*, G__param*, int) (in libGui.so) + 707
 0x0000000103ba7c6f in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in libCint.so) (Api.cxx:393)
 0x0000000103ce4af2 in G__execute_call (in libCint.so) (newlink.cxx:2413)
 0x0000000103ce5431 in G__call_cppfunc (in libCint.so) (newlink.cxx:2612)
 0x0000000103ca1695 in G__interpret_func (in libCint.so) (ifunc.cxx:5791)
 0x0000000103c83edc in G__getfunction (in libCint.so) (func.cxx:2660)
 0x0000000103ce15fc in G__new_operator (in libCint.so) (new.cxx:417)
 0x0000000103d2a9cd in G__exec_statement (in libCint.so) (parse.cxx:5783)
 0x0000000103c3bb73 in G__exec_tempfile_core (in libCint.so) (debug.cxx:266)
 0x0000000103c3b4a9 in G__exec_tempfile_fp (in libCint.so) (debug.cxx:807)
 0x0000000103d4c898 in G__process_cmd (in libCint.so) (pause.cxx:3343)
 0x0000000102f1422e in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:545)
 0x0000000102e0f0ae in TApplication::ProcessLine(char const*, bool, int*) (in libCore.so) (TApplication.cxx:924)
 0x0000000102e83930 in TROOT::ProcessLine(char const*, int*) (in libCore.so) (TROOT.cxx:1721)
 0x00000001064cf801 in TRootBrowser::ExecPlugin(char const*, char const*, char const*, int, int) (in libGui.so) (TRootBrowser.cxx:523)
 0x00000001064cc617 in TRootBrowser::InitPlugins(char const*) (in libGui.so) (TRootBrowser.cxx:805)
 0x00000001064ca1a5 in TRootBrowser::TRootBrowser(TBrowser*, char const*, unsigned int, unsigned int, char const*, bool) (in libGui.so) (TRootBrowser.cxx:120)
 0x00000001064ca060 in TRootBrowser::TRootBrowser(TBrowser*, char const*, unsigned int, unsigned int, char const*, bool) (in libGui.so) (TRootBrowser.cxx:124)
 0x00000001064d2107 in TRootBrowser::NewBrowser(TBrowser*, char const*, unsigned int, unsigned int, char const*) (in libGui.so) (TRootBrowser.cxx:1211)
 0x00000001068d6cb0 in G__G__Gui3_412_0_46(G__value*, char const*, G__param*, int) (in libGui.so) + 608
 0x0000000103bb505a in Cint::G__CallFunc::Execute(void*) (in libCint.so) (CallFunc.cxx:440)
 0x0000000102f24b47 in Cint::G__CallFunc::ExecInt(void*) (in libCore.so) (CallFunc.h:101)
 0x0000000102f206e9 in TCint::CallFunc_ExecInt(void*, void*) const (in libCore.so) (TCint.cxx:2601)
 0x0000000102f73a46 in TMethodCall::Execute(void*, long&) (in libCore.so) (TMethodCall.cxx:377)
 0x0000000102e694ba in TMethodCall::Execute(long&) (in libCore.so) (TMethodCall.h:112)
 0x0000000102e65d92 in TPluginHandler::ExecPlugin(int, ...) (in libCore.so) (TPluginManager.cxx:323)
 0x00000001064ff9a0 in TRootGuiFactory::CreateBrowserImp(TBrowser*, char const*, unsigned int, unsigned int, char const*) (in libGui.so) (TRootGuiFactory.cxx:90)
 0x0000000102e1cccf in TBrowser::TBrowser(char const*, char const*, TBrowserImp*, char const*) (in libCore.so) (TBrowser.cxx:104)
 0x0000000102e1cb55 in TBrowser::TBrowser(char const*, char const*, TBrowserImp*, char const*) (in libCore.so) (TBrowser.cxx:107)
 0x000000010312dce0 in G__G__Base1_85_0_3(G__value*, char const*, G__param*, int) (in libCore.so) + 4704
 0x0000000103ba7c6f in Cint::G__ExceptionWrapper(int (*)(G__value*, char const*, G__param*, int), G__value*, char*, G__param*, int) (in libCint.so) (Api.cxx:393)
 0x0000000103ce4af2 in G__execute_call (in libCint.so) (newlink.cxx:2413)
 0x0000000103ce5431 in G__call_cppfunc (in libCint.so) (newlink.cxx:2612)
 0x0000000103ca1695 in G__interpret_func (in libCint.so) (ifunc.cxx:5791)
 0x0000000103c83edc in G__getfunction (in libCint.so) (func.cxx:2660)
 0x0000000103c422c1 in G__define_var (in libCint.so) (decl.cxx:2897)
 0x0000000103d388b2 in G__defined_type(G__FastAllocString&, int) (in libCint.so) (parse.cxx:4652)
 0x0000000103d2e211 in G__exec_statement (in libCint.so) (parse.cxx:6672)
 0x0000000103c3bb73 in G__exec_tempfile_core (in libCint.so) (debug.cxx:266)
 0x0000000103c3b4a9 in G__exec_tempfile_fp (in libCint.so) (debug.cxx:807)
 0x0000000103d4c898 in G__process_cmd (in libCint.so) (pause.cxx:3343)
 0x0000000102f1422e in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) (in libCore.so) (TCint.cxx:545)
 0x0000000102e0f0ae in TApplication::ProcessLine(char const*, bool, int*) (in libCore.so) (TApplication.cxx:924)
 0x0000000104497cab in TRint::HandleTermInput() (in libRint.so) (TRint.cxx:584)
 0x0000000104494e9a in TTermInputHandler::Notify() (in libRint.so) (TRint.cxx:125)
 0x0000000104499299 in TTermInputHandler::ReadNotify() (in libRint.so) (TRint.cxx:117)
 0x0000000102f9838e in TUnixSystem::CheckDescriptors() (in libCore.so) (TUnixSystem.cxx:1381)
 0x0000000102f97d86 in TUnixSystem::DispatchOneEvent(bool) (in libCore.so) (TUnixSystem.cxx:1088)
 0x0000000102eaa4c3 in TSystem::InnerLoop() (in libCore.so) (TSystem.cxx:409)
 0x0000000102eaa2fa in TSystem::Run() (in libCore.so) (TSystem.cxx:358)
 0x0000000102e10924 in TApplication::Run(bool) (in libCore.so) (TApplication.cxx:1073)
 0x0000000104497368 in TRint::Run(bool) (in libRint.so) (TRint.cxx:455)
 0x0000000102dfea84 in main (in root.exe) (rmain.cxx:31)
 0x00007fff8ed5b5fd in start (in libdyld.dylib) + 1

Which debugger do you recommend I try? I’m not that familiar with debugging on OSX.

Chris