After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 697427 - Unreferencing GtkStatusIcon object causes abort
Unreferencing GtkStatusIcon object causes abort
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkStatusIcon
3.8.x
Other Linux
: Normal normal
: ---
Assigned To: gtkdev
gtkdev
Depends on:
Blocks:
 
 
Reported: 2013-04-06 12:56 UTC by Chris Vine
Modified: 2013-04-08 14:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Test case for GtkStatusIcon (925 bytes, text/plain)
2013-04-06 12:56 UTC, Chris Vine
  Details
Unreferencing a GtkPlug could cause abort; Fix #697427 (1.04 KB, patch)
2013-04-06 15:35 UTC, Olivier Brunel (jjacky)
none Details | Review

Description Chris Vine 2013-04-06 12:56:19 UTC
Created attachment 240838 [details]
Test case for GtkStatusIcon

Unreferencing a GtkStatusIcon object triggers an assertion as follows:

Gtk:ERROR:gtkwidget.c:14129:gtk_widget_unregister_window: assertion failed: (user_data == widget)
Aborted

A trivial test case demonstrating this is attached.

The bug was introduced somewhere in GTK+-3.7 and manifests itself in GTK+-3.8.0.
Comment 1 Olivier Brunel (jjacky) 2013-04-06 15:35:34 UTC
Created attachment 240844 [details] [review]
Unreferencing a GtkPlug could cause abort; Fix #697427

Note that I'm not very familiar with the whole GtkPlug/GtkSocket process, so I may have missed something.

FYI I believe the bug would also cause any app with a GtkStatusIcon to crash when e.g. changing the active WM.
Comment 2 Chris Vine 2013-04-06 18:11:44 UTC
"Unreferencing a GtkPlug could cause abort; Fix #697427"

This fixes the problem for me with audacious and two other programs which insert a status icon in the system tray (or whatever it is now called).  Without it, audacious and one of the others fail to clean up correctly, leading to a potential loss of data (in the case of audacious, a failure to store preferences).
Comment 3 Benjamin Otte (Company) 2013-04-08 14:35:31 UTC
Fixed in b662e96e7e8ec83ee64ace74dd4d834a2a2c177d.