Bug 12041 - Bubble click callbacks are not fired
Summary: Bubble click callbacks are not fired
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: i586 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Thierry Vignaud
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 11778
  Show dependency treegraph
 
Reported: 2013-12-18 18:27 CET by Colin Guthrie
Modified: 2013-12-21 13:57 CET (History)
1 user (show)

See Also:
Source RPM: libnotify, perl-Gtk3-Notify, mgaonline
CVE:
Status comment:


Attachments
WIP but glib/gtk create threads behind our back and segfault (2.38 KB, patch)
2013-12-21 01:16 CET, Thierry Vignaud
Details | Diff

Description Colin Guthrie 2013-12-18 18:27:56 CET
When an upgrade notification comes in the "Install Updates" action on the notification bubble does not fire trigger the attached event.

I'm not sure if this is a problem in perl-Gtk3-Notify or mgaoline's usage of it.



Reproducible: 

Steps to Reproduce:
Thierry Vignaud 2013-12-19 10:02:07 CET

Source RPM: mgaonline => libnotify, perl-Gtk3-Notify, mgaonline

Comment 1 Thierry Vignaud 2013-12-19 12:11:24 CET
Any message if you run mgaapplet from the command line?

Keywords: (none) => NEEDINFO

Comment 2 Colin Guthrie 2013-12-19 12:29:49 CET
Will have a look, but normally I just check "journalctl -f" as a user to see all error output from processes started in the user session and it's got nothing in it, so I suspect not.

One observation I did make is that perl-Gtk3-Notify package has no binary data in it unlike perl-Gtk2-Notify. As a slightly educated guess I'd say this is due to the gobject introspection that is possible in Gtk3 and thus the binary bit isn't needed... I got lost looking at the code from then on - perl is not my strong point as you know :)

Will let you know tho'.
Comment 3 Colin Guthrie 2013-12-20 10:45:40 CET
Yup, as suspected, there is no further output on the terminal if run manually. Testing under gnome, didn't try other desktops.
Comment 4 Thierry Vignaud 2013-12-20 23:37:37 CET
But how could have such notifications in cauldron?
We explicitely disable them on Cauldron...
Comment 5 Thierry Vignaud 2013-12-20 23:41:36 CET
I misread updates for upgrade
Thierry Vignaud 2013-12-21 00:08:45 CET

Status: NEW => ASSIGNED
Blocks: (none) => 11778
Keywords: NEEDINFO => (none)

Comment 6 Thierry Vignaud 2013-12-21 01:16:53 CET
Created attachment 4652 [details]
WIP but glib/gtk create threads behind our back and segfault
Comment 7 Thierry Vignaud 2013-12-21 02:10:58 CET
Which I've a fix for:
since we cannot prevent glib/gtk to spawn threads behind our back, we
can at least try to prevent segfaults due to mixing threads with secular
forks by exec()ing immediately
Comment 8 Thierry Vignaud 2013-12-21 02:32:19 CET
I though I'd a fix but even using run_program::get_stdout instead of `ip addr` in network::tools cause the segfault.
Once commented, mgaapplet no more crash.
I suspect this can explain quite some net_applet crashes too (same issue regarding libnotify and glib/gtk: those create threads and we mix fork()s with them...)

CC: (none) => mageia

Comment 9 Thierry Vignaud 2013-12-21 02:56:36 CET
Too bad https://developer.gnome.org/gio/unstable/GSubprocess.html will only be in next major version of glib
Comment 10 Mageia Robot 2013-12-21 03:11:41 CET
commit 67cbacd2c1cc61fcc8a4cb8ca2d567bebec7a814
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Sat Dec 21 03:09:24 2013 +0100

    prevent segfaulting b/c of fork vs threads (mga#12041)
    
    the issue is that glib/gtk create threads behind us
    however threads & fork() don't behave well when mixed...
---
 Commit Link:
   http://gitweb.mageia.org/software/drakx-net/commit/?id=67cbacd2c1cc61fcc8a4cb8ca2d567bebec7a814
Comment 11 Thierry Vignaud 2013-12-21 03:17:32 CET
Segfault fixed in drakx-net-2.6.
I suspect that I've closed quite a lot of the stange net_applet segfaults we saw along the years.

See https://bugzilla.redhat.com/show_bug.cgi?id=835112 & http://permalink.gmane.org/gmane.comp.bug-tracking.abrt.devel/2633 for another fork() vs hidden glib threads segfault.

I'll issue a new mgaonline too.
Comment 12 Thierry Vignaud 2013-12-21 03:20:31 CET
Fixed in git

Status: ASSIGNED => RESOLVED
Resolution: (none) => FIXED

Comment 13 Mageia Robot 2013-12-21 03:33:00 CET
commit 95b9cd06f14a9817090584d72830df870c591acc
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Sat Dec 21 03:17:55 2013 +0100

    fix doing nothing when clicking on notifications buttons (mga#12041)
---
 Commit Link:
   http://gitweb.mageia.org/software/mgaonline/commit/?id=95b9cd06f14a9817090584d72830df870c591acc
Comment 14 Colin Guthrie 2013-12-21 13:57:34 CET
Did you mean to do that "More Information2" thing in the above commit? Seems like it was just for testing...

Note You need to log in before you can comment on or make changes to this bug.