Bug 1031411

Summary: [abrt] gnome-software-3.10.3-1.fc20: gtk_widget_get_accessible: Process /usr/bin/gnome-software was killed by signal 11 (SIGSEGV)
Product: [Fedora] Fedora Reporter: Mark Tinberg <mtinberg>
Component: gnome-softwareAssignee: Richard Hughes <rhughes>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: dan.mashal, mclasen, rhughes, weidemann.m
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/ca737fbe6b3c1448ed462987434a9cf208cf2b01
Whiteboard: abrt_hash:6292ac97d4f190fb87e277580c0c8578bb24147b
Fixed In Version: PackageKit-0.8.15-2.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-12 05:01:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: cgroup
none
File: core_backtrace
none
File: dso_list
none
File: environ
none
File: exploitable
none
File: limits
none
File: maps
none
File: open_fds
none
File: proc_pid_status
none
File: var_log_messages none

Description Mark Tinberg 2013-11-17 17:47:50 UTC
Description of problem:
While installing software in the GNOME Classic environment I clicked on the notification icon in the lower right which brings up the notification bar on the bottom and moused over the icon for GNOME Software which then proceeded to crash.  I may also have clicked on the GNOME Software icon which indicated there was a recent notification.

Version-Release number of selected component:
gnome-software-3.10.3-1.fc20

Additional info:
reporter:       libreport-2.1.9
backtrace_rating: 4
cmdline:        gnome-software
crash_function: gtk_widget_get_accessible
executable:     /usr/bin/gnome-software
kernel:         3.11.8-300.fc20.i686+PAE
runlevel:       N 5
type:           CCpp
uid:            1000

Truncated backtrace:
Thread no. 1 (10 frames)
 #0 gtk_widget_get_accessible at gtkwidget.c:12703
 #1 app_state_changed at gs-app-tile.c:69
 #2 g_cclosure_marshal_VOID__PARAM at gmarshal.c:1042
 #8 g_object_notify_by_spec_internal at gobject.c:1141
 #9 g_object_notify at gobject.c:1183
 #10 gs_app_set_state at gs-app.c:322
 #11 set_state_idle_cb at gs-plugin-loader.c:1637
 #17 pk_task_install_packages_sync at pk-task-sync.c:145
 #18 gs_plugin_app_install at gs-plugin-packagekit.c:320
 #19 gs_plugin_loader_run_action at gs-plugin-loader.c:1536

Comment 1 Mark Tinberg 2013-11-17 17:47:56 UTC
Created attachment 825226 [details]
File: backtrace

Comment 2 Mark Tinberg 2013-11-17 17:47:59 UTC
Created attachment 825227 [details]
File: cgroup

Comment 3 Mark Tinberg 2013-11-17 17:48:01 UTC
Created attachment 825228 [details]
File: core_backtrace

Comment 4 Mark Tinberg 2013-11-17 17:48:04 UTC
Created attachment 825229 [details]
File: dso_list

Comment 5 Mark Tinberg 2013-11-17 17:48:06 UTC
Created attachment 825230 [details]
File: environ

Comment 6 Mark Tinberg 2013-11-17 17:48:09 UTC
Created attachment 825231 [details]
File: exploitable

Comment 7 Mark Tinberg 2013-11-17 17:48:11 UTC
Created attachment 825232 [details]
File: limits

Comment 8 Mark Tinberg 2013-11-17 17:48:14 UTC
Created attachment 825233 [details]
File: maps

Comment 9 Mark Tinberg 2013-11-17 17:48:16 UTC
Created attachment 825234 [details]
File: open_fds

Comment 10 Mark Tinberg 2013-11-17 17:48:19 UTC
Created attachment 825235 [details]
File: proc_pid_status

Comment 11 Mark Tinberg 2013-11-17 17:48:21 UTC
Created attachment 825236 [details]
File: var_log_messages

Comment 12 Matthias Clasen 2014-01-02 21:44:50 UTC
The stacktrace shows thread 1 (a worker thread) and thread 3 (the main thread) using the same main context (0x8e272c8) and the set_state_idle_cb gets run in the worker thread, instead of the main thread (which is the intention).

Comment 13 Matthias Clasen 2014-01-02 22:04:38 UTC
The source of the problem is 

https://gitorious.org/packagekit/packagekit/source/54eccb8ad43f1570fa58562f671bc58b57493eab:lib/packagekit-glib2/pk-task-sync.c#L127-137

This code creates a mainloop with the default context - if you use that function in a worker thread, using g_idle_add to push stuff to the main thread stops working.

I think two things are needed to fix this:

- in PackageKit: use g_main_context_ref_thread_default() instead of NULL as context for any mainloops you create

- in gnome-software: push a thread default context in the worker thread(s)

Comment 14 Matthias Clasen 2014-01-03 01:51:24 UTC
Looks like bug 1036352 is the same.

Comment 15 Fedora Update System 2014-01-07 14:04:06 UTC
PackageKit-0.8.15-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/PackageKit-0.8.15-2.fc20

Comment 16 Fedora Update System 2014-01-08 07:52:41 UTC
Package PackageKit-0.8.15-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing PackageKit-0.8.15-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-0390/PackageKit-0.8.15-2.fc20
then log in and leave karma (feedback).

Comment 17 Fedora Update System 2014-01-12 05:01:02 UTC
PackageKit-0.8.15-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.