Ticket #140 (closed crash: fixed)

Opened 6 years ago

Last modified 4 years ago

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

comment:1 Changed 6 years ago by jeremyhu@…

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

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 5 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 5 years ago by jeremyhu@…

comment:6 Changed 5 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 5 years ago by rwoodsmall@…

  • Cc rwoodsmall@… added

Cc Me!

comment:8 Changed 5 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@…

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

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.