On Wed, May 13, 2009 at 11:14 PM, Braden McDaniel <[email protected]> wrote: > On Wed, 2009-05-13 at 15:09 +0800, 明覺 wrote: >> I compiled the example gtkglextmm program gears.cc(attached) > > There's no reason to attach source code that is part of the GtkGLExt > distribtion to mailing list messages. We know where to find it. :-) > >> to >> a.out, it can start and display successfully, but if i resize the >> window, a segmentation fault error will occur, here is the error info >> from valgrind. any advice to solve it? thanks > > The actual failure is happening inside of Mesa (presumably) code. > glXWaitX isn't reasonably close to line 659 in trunk Mesa; so you'll > need to track this down in the source to whatever version you're using. > > You should probably try turning up the verbosity in valgrind to see if > it will tell you *what* value was uninitialized; though looking at the > right line 659 might make that apparent.
thank you for the information, here is the ouput of valgrind, how could i solve it? and someone said that it's caused by video driver error, is that possible? ----------------------------------------------------------------------------------------- ==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) > > -- > Braden McDaniel <[email protected]> > > _______________________________________________ > gtkglext-list mailing list > [email protected] > http://mail.gnome.org/mailman/listinfo/gtkglext-list > -- 我的操作系統是Gnu/Linux Debian/gNewSense Gnome Mozilla Gmail/Evolution Gtkmm/Gtkglextmm Scim Totem Pidgin. _______________________________________________ gtkglext-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkglext-list
