Opened 6 years ago

Closed 4 years ago

#140 closed crash (Fixed)

AIGLX: XQuartz 2.2.3 crash when managing multiple OpenGL rendering contexts

Reported by: DonE33333@… Owned by: jeremyhu@…
Priority: Nice to Have Milestone: 2.4.0
Component: GLX Version: 2.3.0 (xserver-1.4.2-apple5)
Keywords: Cc: rwoodsmall@…, fredrik@…, mark.moorcroft@…

Description

Large application with Motif GUI causes XQuartz crash when managing multiple OpenGL rendering contexts. Reported to Apple - Apple Bug Tracker ID # 5979038.

The XQuartz carsh looks to be the same as your ticket #135.

Summary:
A large X11/Motif based application has multiple windows where
OpenGL w/GLX API is used to do graphics rendering. One window along
with it's Motif GUI panel is dismissed. When attempting to make this
window visible again, we crash.

We see also similar, but intermittent, crashes
when exiting the application.

We don't crash if our application is run under gdb. We *do* crash
if our application is started and gdb is subsequently
attached. Couldn't find a reliable way to repeat this crash until
recently and a hanging problem was eliminated by upgrading to X11 2.2.1.
The crashing goes back for several version of X11.

Notes:
Previously reported this crash as part of bug #5853028.

Crash logs indicate we're trying to set the OpenGL context
from the window manager. Running in X sync mode was no help.
Inserting glFinish calls prior to glxMakeCurrentContext was
no help.

A crash log of X11 is attached below. Here's a gdb tracenback of
our app...

Call graph:

2499 Thread_2503
2499 start
2499 main
2499 DisplayWaitForEvent
2499 XtAppNextEvent
2499 DoOtherSources
2499 FVUpdateTimerRtn
2499 fv_update_screen
2499 update_plots
2499 GraphSetDriver
2499 GraphCalcLayout
2499 GraphGetSize
2499 DoreGraphGetSize
2499 DdInqExtent
2499 dor_device_inq_extent
2499 dor_device_set_current_device
2499 Pr_togl_device_become_current_driver
2499 MakeContextCurrent
2499 _XReply
2499 _XRead
2499 poll$UNIX2003

The XQuartz dump is the same as ticket #135's.

Change History (12)

comment:1 Changed 6 years ago by jeremyhu@…

  • Milestone set to 2.3.2
  • Version set to 2.3.0 (xserver-1.4)

comment:2 Changed 6 years ago by jeremyhu@…

  • Milestone changed from 2.3.2 to 2.4.0

comment:3 Changed 6 years ago by jeremyhu@…

  • Owner changed from jeremyhu@… to gstaplin@…

comment:4 Changed 6 years ago by jeremyhu@…

From email:

This has not been a problem for a while. We discovered removing a setting of LIBGL_ALWAYS_INDIRECT would avoid the crashing. We were setting this variable as a workaround for a problem with a Power Mac release of our product.

...

So this may still be an issue with AIGLX, but since it's *just* AIGLX, it's not as high a priority right now...

comment:5 Changed 6 years ago by jeremyhu@…

comment:6 Changed 6 years ago by rwoodsmall@…

I'm seeing a possibly related crash in Wine 1.1.15 with Xquartz 2.3.3 beta1. Wine uses multiple OpenGL contexts as well as sharing display lists, so this could also be related to bug report #196. The crash I'm seeing occurs in glMakeCurrent/glXMakeCurrent, and occurs with vanilla Wine code and the Xquartz-provided 2.3.3 beta1 disk image.

comment:7 Changed 6 years ago by rwoodsmall@…

  • Cc rwoodsmall@… added

Cc Me!

comment:8 Changed 6 years ago by jeremyhu@…

  • Cc fredrik@… mark.moorcroft@… added

comment:9 Changed 5 years ago by jeremyhu@…

  • Owner changed from gstaplin@… to jeremyhu@…
  • Summary changed from XQuartz 2.2.3 crash when managing multiple OpenGL rendering contexts to AIGLX: XQuartz 2.2.3 crash when managing multiple OpenGL rendering contexts

Can you tell me if the AIGLX changes in 2.4.1_alpha1 have fixed this issue for you?

comment:10 Changed 4 years ago by wsiegrist@…

  • Component changed from xserver to GLX

comment:11 Changed 4 years ago by jeremyhu@…

  • Milestone changed from OpenGL.framework DRI to later

comment:12 Changed 4 years ago by jeremyhu@…

  • Milestone changed from later to 2.4.0
  • Resolution set to fixed
  • Status changed from new to closed

This was marked as closed / fixed back in March 2009: <rdar://problem/6378945>

Please open a new bug report if you still have issues.

Note: See TracTickets for help on using tickets.