Re: [GtkGLExt] Is it a bug of gtkglext?



On Wed, May 13, 2009 at 11:14 PM, Braden McDaniel <braden endoframe com> 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 <braden endoframe com>
>
> _______________________________________________
> gtkglext-list mailing list
> gtkglext-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtkglext-list
>



-- 
我的操?系統是Gnu/Linux Debian/gNewSense Gnome Mozilla Gmail/Evolution
Gtkmm/Gtkglextmm Scim Totem Pidgin.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]