From: gnome-perl (bugzilla.gnome.org) <bug...@bu...> - 2008-01-06 04:54:58
|
If you have any questions why you received this email, please see the text at the end of this email. Replies to this email are NOT read, please see the text at the end of this email. You can add comments to this bug at: http://bugzilla.gnome.org/show_bug.cgi?id=507610 gnome-perl | Gtk2::GladeXML | Ver: unspecified Summary: gtk2-perl unthreads safe Product: gnome-perl Version: unspecified Platform: Other OS/Version: All Status: UNCONFIRMED Severity: critical Priority: Normal Component: Gtk2::GladeXML AssignedTo: gtk...@li... ReportedBy: ya...@so... QAContact: gtk...@li... GNOME version: 2.7/2.8 GNOME milestone: Unspecified Steps to reproduce: 1. In linux(Debian AMD64)log error messages when call $thread->join. 2. In windowsXP log error messages and crash when call $thread->join. 3. No mater use or not use gtk_idle_add, and if have "use Gtk2 -init -threads-init;" widgets didn't display correctly. Stack trace: Other information: glade file(threads.glade): <?xml version="1.0" standalone="no"?> <!--*- mode: xml -*--> <!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd"> <glade-interface> <widget class="GtkWindow" id="window1"> <property name="visible">True</property> <property name="title" translatable="yes">window1</property> <property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="window_position">GTK_WIN_POS_NONE</property> <property name="modal">False</property> <property name="resizable">True</property> <property name="destroy_with_parent">False</property> <property name="decorated">True</property> <property name="skip_taskbar_hint">False</property> <property name="skip_pager_hint">False</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <child> <widget class="GtkButton" id="button1"> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">button1</property> <property name="use_underline">True</property> <property name="relief">GTK_RELIEF_NORMAL</property> <property name="focus_on_click">True</property> <signal name="clicked" handler="on_button1_clicked" last_modification_time="Sat, 05 Jan 2008 15:07:29 GMT"/> </widget> </child> </widget> </glade-interface> perl script: use FindBin qw($Bin); use strict; use Gtk2 qw( -init -threads-init); use threads; use Glib; use Gtk2::GladeXML; my $flag; our $gladexml = Gtk2::GladeXML->new("$Bin/threads.glade"); $gladexml->signal_autoconnect_from_package('main'); # Glib::Idle->add(sub {on_button1_clicked()}); Gtk2->main; sub gtk_main_quit() {Gtk2->main_quit;} sub on_button1_clicked{ my $thread = threads->create(sub {print "Thread created\n"}); $thread->join; } symptom: click button1 three times log such messages or crash in windows. Thread created Thread created Thread created GLib-GObject-CRITICAL **: g_object_steal_qdata: assertion `G_IS_OBJECT (object)' failed during global destruction. GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed during global destruction. Thread created GLib-GObject-CRITICAL **: g_object_steal_qdata: assertion `G_IS_OBJECT (object)' failed during global destruction. GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed during global destruction. Thread created GLib-GObject-CRITICAL **: g_object_steal_qdata: assertion `G_IS_OBJECT (object)' failed during global destruction. GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed during global destruction. Thread created GLib-GObject-CRITICAL **: g_object_steal_qdata: assertion `G_IS_OBJECT (object)' failed during global destruction. GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed during global destruction. ...... -- See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received this email, why you can't respond via email, how to stop receiving emails (or reduce the number you receive), and how to contact someone if you are having problems with the system. You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=507610. |