GNOME CANVAS (bug???)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

GNOME CANVAS (bug???)

Peter Simon

Hi List!

When I close my program with (x) button on the window's corner or with alt+F4
I get this error:

"nomeCanvas-CRITICAL **: file gnome-canvas.c: line 3723
(gnome_canvas_request_redraw): assertion `GNOME_IS_CANVAS (canvas)' failed,
<FILE> line 1678 during global destruction.
Segmentation fault"

Is there any way to handle to aviod this incident or is it a bug?
Temperaly I must to use the

kill 2, $$;

to kill the program instead of

Gtk2->main_quit;.

When I simply call from the program the Gtk2->main_quit; then this error
doesn't show. Of course the main window's destroy signal is handled.



--
Sincerely

Péter Simon (Pepó)

GPRS Easy Connect team
E-mail: [hidden email]
Web: http://www.easyconnect.linuxuser.hu
Skype: callto://tazmanordog
_______________________________________________
gtk-perl-list mailing list
[hidden email]
http://mail.gnome.org/mailman/listinfo/gtk-perl-list
Reply | Threaded
Open this post in threaded view
|

Re: GNOME CANVAS (bug???)

muppet-6

On Jun 20, 2005, at 12:49 AM, Peter Simon wrote:

> When I close my program with (x) button on the window's corner or  
> with alt+F4
> I get this error:
>
> "nomeCanvas-CRITICAL **: file gnome-canvas.c: line 3723
> (gnome_canvas_request_redraw): assertion `GNOME_IS_CANVAS (canvas)'  
> failed,
> <FILE> line 1678 during global destruction.
> Segmentation fault"
>
> Is there any way to handle to aviod this incident or is it a bug?

It's been ages since i've looked, but as i recall, this is a  
combination of a minor bug in libgnomecanvas and reference count  
cycles in your program.  The reference count cycle keeps the object  
alive in a zombie state, and a flag-checking bug causes the object to  
try to draw itself while in an invalid state.  Sometimes you'll see  
crashes at shutdown because of this.

Here's a related bug: http://bugzilla.gnome.org/show_bug.cgi?id=90259
Since the perl bindings take a reference, your code is probably not  
allowing this fix to happen naturally.

Try going through your code and looking for places where you have  
reference leaks, and try to plug them.  Sever ties between objects in  
the window's "destroy" handler, for example.

--
"it's hard to be eventful when you have this much style."
    - me, rationalizing yet another night of sitting at home.

_______________________________________________
gtk-perl-list mailing list
[hidden email]
http://mail.gnome.org/mailman/listinfo/gtk-perl-list