Comment 22 for bug 355242

Revision history for this message
In , Shi-minjue (shi-minjue) wrote :

the bug exists in mesa 7.4.2, 7.5, 7.6 and the git checkout on May 14, here is the debug info from valgrind, and the crash can be reproduced by the gears.cc program which is an example file of gtkglextmm.
-----------------------------------------------------------------------------------------
==3503== ERROR SUMMARY: 3 errors from 2 contexts (suppressed: 275 from 5)
==3503==
==3503== 1 errors in context 1 of 2:
==3503== Conditional jump or move depends on uninitialised value(s)
==3503== at 0x5F8BF98: glXWaitGL (glxcmds.c:620)
==3503== by 0x5AD6730: _gdk_gl_context_destroy (gdkglcontext-x11.c:95)
==3503== by 0x5ABA8B1: gdk_gl_context_destroy (gdkglcontext.c:118)
==3503== by 0x5243BC1: gtk_gl_widget_unrealize (gtkglwidget.c:149)
==3503== by 0x9CB211C: g_closure_invoke (gclosure.c:767)
==3503== by 0x9CC5C2A: signal_emit_unlocked_R (gsignal.c:3247)
==3503== by 0x9CC7021: g_signal_emit_valist (gsignal.c:2980)
==3503== by 0x9CC74F2: g_signal_emit (gsignal.c:3037)
==3503== by 0x792ED61: gtk_widget_unrealize (in
/usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== by 0x7934ABC: gtk_widget_unparent (in
/usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== by 0x783C257: (within /usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== by 0x9CB211C: g_closure_invoke (gclosure.c:767)
==3503== Uninitialised value was created by a heap allocation
==3503== at 0x4C2391E: malloc (vg_replace_malloc.c:207)
==3503== by 0x5FACEFD: driCreateScreen (drisw_glx.c:362)
==3503== by 0x5F8DDEE: __glXInitialize (glxext.c:622)
==3503== by 0x5F8918C: GetGLXPrivScreenConfig (glxcmds.c:183)
==3503== by 0x5F8A00E: glXChooseVisual (glxcmds.c:1304)
==3503== by 0x5AD60CB: gdk_gl_config_new_common (gdkglconfig-x11.c:519)
==3503== by 0x5ABA1EE: gdk_gl_config_new_rgb (gdkglconfig.c:193)
==3503== by 0x5ABA316: gdk_gl_config_new_by_mode_common (gdkglconfig.c:210)
==3503== by 0x503A75A: Gdk::GL::Config::create(Gdk::GL::ConfigMode)
(in /usr/lib/libgdkglextmm-x11-1.2.so.0.0.0)
==3503== by 0x4149FB: SurfaceView::SurfaceView(bool) (SurfaceView.cc:81)
==3503== by 0x415171: MechanicalSystemUi::MechanicalSystemUi() (Ui.cc:19)
==3503== by 0x40E1D0: main (main.cc:66)
==3503==
==3503== 2 errors in context 2 of 2:
==3503== Conditional jump or move depends on uninitialised value(s)
==3503== at 0x5F8BE57: glXWaitX (glxcmds.c:659)
==3503== by 0x9CB211C: g_closure_invoke (gclosure.c:767)
==3503== by 0x9CC5C2A: signal_emit_unlocked_R (gsignal.c:3247)
==3503== by 0x9CC7021: g_signal_emit_valist (gsignal.c:2980)
==3503== by 0x9CC74F2: g_signal_emit (gsignal.c:3037)
==3503== by 0x792D269: gtk_widget_size_allocate (in
/usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== by 0x783F157: (within /usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== by 0x9CB206E: g_closure_invoke (gclosure.c:767)
==3503== by 0x9CC5512: signal_emit_unlocked_R (gsignal.c:3177)
==3503== by 0x9CC7021: g_signal_emit_valist (gsignal.c:2980)
==3503== by 0x9CC74F2: g_signal_emit (gsignal.c:3037)
==3503== by 0x792D269: gtk_widget_size_allocate (in
/usr/lib/libgtk-x11-2.0.so.0.1600.1)
==3503== Uninitialised value was created by a heap allocation
==3503== at 0x4C2391E: malloc (vg_replace_malloc.c:207)
==3503== by 0x5FACEFD: driCreateScreen (drisw_glx.c:362)
==3503== by 0x5F8DDEE: __glXInitialize (glxext.c:622)
==3503== by 0x5F8918C: GetGLXPrivScreenConfig (glxcmds.c:183)
==3503== by 0x5F8A00E: glXChooseVisual (glxcmds.c:1304)
==3503== by 0x5AD60CB: gdk_gl_config_new_common (gdkglconfig-x11.c:519)
==3503== by 0x5ABA1EE: gdk_gl_config_new_rgb (gdkglconfig.c:193)
==3503== by 0x5ABA316: gdk_gl_config_new_by_mode_common (gdkglconfig.c:210)
==3503== by 0x503A75A: Gdk::GL::Config::create(Gdk::GL::ConfigMode)
(in /usr/lib/libgdkglextmm-x11-1.2.so.0.0.0)
==3503== by 0x4149FB: SurfaceView::SurfaceView(bool) (SurfaceView.cc:81)
==3503== by 0x415171: MechanicalSystemUi::MechanicalSystemUi() (Ui.cc:19)
==3503== by 0x40E1D0: main (main.cc:66)