RootX11ErrorHandler error with XQuartz 2.7.8


I’m bringing up this issue.
A few days ago, XQuartz team updated XQuartz 2.7.8 and replied to my ticket that the version will solve the problem described below.
But, still the problem remains. So, I reopened the ticket.
If anyone experienced this or knew how to solve this problem,
please let me know.

You can reproduce the problem with mac connected to any linux server
and run ROOT and type
to open TEveManager via X forwarding.

Thank you.

Maybe I’m the only one suffering from this error.
The below is error message when I used XQuartz 2.7.7 with some TEve classes.

Is it because of XQuartz? It doesn’t show up when I used XQuartz 2.7.6.

Thank you in advance.


Error in : GLXBadContextTag (TGLWidget XID: 6292620, XREQ: 150)
TGLWidget: 6292620
TGVerticalFrame: 6292120
TGLSAFrame: 6292109
TGCompositeFrame: 6292108
TEveCompositeFrameInTab: 6292101
TGCompositeFrame: 6292100
TGTab: 6291588
TGHorizontalFrame: 6291579
TGVerticalFrame: 6291578
TGHorizontalFrame: 6291576
TGVerticalFrame: 6291565
TEveBrowser: 6291564
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock

I’ll check.

It works fine for me:

$ ssh -Y
* ********************************************************************
* Welcome to, SLC, 6.7
* Archive of news is available in /etc/motd-archive
* Reminder: You have agreed to comply with the CERN computing rules
* Puppet environment: production
* Puppet hostgroup: bi/inter/plus/live/login
* LXPLUS Public Login Service
* ********************************************************************

$ csh
[couet@lxplus0074 ~]$ source /afs/
[couet@lxplus0074 ~]$ source /afs/
[couet@lxplus0074 ~]$ root
  | Welcome to ROOT 6.04/06                    |
  |                                            (c) 1995-2014, The ROOT Team |
  | Built for linuxx8664gcc                                                 |
  | From heads/v6-04-00-patches@v6-04-04-12-g9436735, Oct 13 2015, 12:34:29 |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'              |

root [0] TEveManager::Create()
(class TEveManager *) 0x5d50470
root [1] 

I can see the TEveManager window


This means my mac has some problem? or ROOT installed in my remote machine has problem?

Hmm, I don’t know where to start.

I’m using El Capitan with XQuartz 2.7.8 having nvidia graphic cards.

Thank you

Can you try to do the same I did with lxplus ? If it works it means that your remote machine has problems. If not it means the Mac has an issue.

Thanks for the advice.

I tried on Scientific Linux 6.3 and Centos 6.7 remotely and
both gave me the same result.

root [0] TEveManager::Create()
Error in : GLXBadContextTag (TGLWidget XID: 6292743, XREQ: 150)
TGLWidget: 6292743
TGVerticalFrame: 6292222
TGLSAFrame: 6292211
TGCompositeFrame: 6292210
TEveCompositeFrameInTab: 6292203
TGCompositeFrame: 6292202
TGTab: 6291764
TGHorizontalFrame: 6291755
TGVerticalFrame: 6291754
TGHorizontalFrame: 6291752
TGVerticalFrame: 6291741
TEveBrowser: 6291740
Error in TGLLockable::TakeLock: ‘TGLViewerBase’ unable to take DrawLock, already DrawLock

This happens after I installed XQuartz 2.7.7 and 2.7.8.
XQuartz 2.7.6 was just okay.
So, I reported this bug in XQuartz team.

This happens independent of LIBGL_ALWAYS_INDIRECT flag.


can you display a TCanvas ?
Can you display a simple xclock ? (outside root).

Yes for both.

It seems that everything is working fine except TEve.

How about pure GL? I don’t remember of anything special Eve would do with GL.

Can you run with XSync set to true (in rootrc or via gEnv) in gdb and set breakpoint in ROOT’s error handler … then we’ll see which call actually gets the error first.

This is my comment on xquartz bug report which shows what went wrong before the fix … comment:11

As you can see, the gl context creation suceeds… and then when we try to make the context current the thing reports an error, as if it misplaced the handle that it gave to us during creation.


Could you give me a specific procedure what to do?

I’m not that skilled programmer so most part of what you said is black and white :open_mouth:

Since the only thing I do after running ROOT is just type in TEveManager::Create(),

just teach me how to set XSync on and gdb thing.

Thank you alot. I’m suffering this problem after I updated OSX to Yosemite and about to break my mac due to this :blush:

Don’t worry then … I’ll do it next week, it gets quite hairy :slight_smile:

xquartz-2.7.6 doesn’t run on osx-10.11?

Each version gives me different bug :blush:

At least with 2.7.6 I can “use” it.

It’s the bug I’m having with 2.7.6

All the canvases become transparent so that it’s showing the other 3D plot through it :confused:

Well, with 2.7.8 I cannot do anything so I have to live with 2.7.6 =D>

Oh, yess … that’s a funny one. Grr, etc.

It seems that the problem right above your last reply is related to the graphics driver in OSX.

I tried to install Scientific linux and ubuntu on Parallels and

if I turned on graphics acceleration in Parallels, TEve crashes on both OSs.

Not simply crashing, X server restarted on both OSs.

LOL. I wish your efforts and Apple team can solve this problem.