Bug 1145782
Summary: | [abrt] gnome-software: gs_shell_back_button_cb(): gnome-software killed by SIGSEGV | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Ryan Lerch <rlerch> | ||||||||||||||||||||||||
Component: | gnome-software | Assignee: | Richard Hughes <rhughes> | ||||||||||||||||||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||||||||||||||
Severity: | unspecified | Docs Contact: | |||||||||||||||||||||||||
Priority: | unspecified | ||||||||||||||||||||||||||
Version: | 21 | CC: | 2xj82, fedor.butikov, Hapoofesgeli, james, jfrieben, kalevlember, kdubrick, manawadalla, mclasen, panospolychronis, rhughes, zach | ||||||||||||||||||||||||
Target Milestone: | --- | ||||||||||||||||||||||||||
Target Release: | --- | ||||||||||||||||||||||||||
Hardware: | x86_64 | ||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||
URL: | https://retrace.fedoraproject.org/faf/reports/bthash/40fc0b654abab17473ee78c93f8589bf729d744b | ||||||||||||||||||||||||||
Whiteboard: | abrt_hash:8fb2434fd6f917d75fc7f9ed79643e38b33a7110 | ||||||||||||||||||||||||||
Fixed In Version: | gnome-software-3.14.3-1.fc21 | Doc Type: | Bug Fix | ||||||||||||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||||||||||||
Clone Of: | Environment: | ||||||||||||||||||||||||||
Last Closed: | 2015-03-09 08:27:37 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
Ryan Lerch
2014-09-23 18:17:48 UTC
Created attachment 940527 [details]
File: backtrace
Created attachment 940528 [details]
File: cgroup
Created attachment 940529 [details]
File: core_backtrace
Created attachment 940530 [details]
File: dso_list
Created attachment 940531 [details]
File: environ
Created attachment 940532 [details]
File: exploitable
Created attachment 940533 [details]
File: limits
Created attachment 940534 [details]
File: maps
Created attachment 940535 [details]
File: open_fds
Created attachment 940536 [details]
File: proc_pid_status
Created attachment 940537 [details]
File: var_log_messages
How did you use gnome-software to open an rpm ? Downloaded the RPM with Firefox, then chose "open with software installer" option. Right clicking the RPM in nautilus works too i haven't been able to reproduce the crash, but I guess I can see how the initial state could be wrong, leading to the back button being visible despite the back_entry_stack being empty. 1) The button is set as visible in the gnome-software.ui file 2) gs_shell_change_mode does: widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "button_back")); gtk_widget_set_visible (widget, !g_queue_is_empty (priv->back_entry_stack)); and 3) and the clicked handler for the button assumes the queue is not empty: entry = g_queue_pop_head (priv->back_entry_stack); gs_shell_change_mode (shell, entry->mode, entry->app, entry->category, FALSE); So, we may have found a user here (Ryan), who managed to click the back button before gs_shell_change_mode has run. One fix would be to not make the back button visible initially. Another would be to silently exit from the clicked handler when the queue is empty. I eyeballed the code, trying to find a path where we show the window but don't run gs_shell_change_mode(), but I've failed to find one. My attempts to reproduce the crash have failed as well. I did catch two other bugs in this area while poking around though, https://git.gnome.org/browse/gnome-software/commit/?id=1a06f3b49e3052ee42fd9c3db04fa8ee636fbb91 and https://git.gnome.org/browse/gnome-software/commit/?id=c09169032a2de46e8d8fc0bd5c6a21e7bfd8ee61 -- might be possible that one of those somehow fixes the crash / stack underflow as well. > One fix would be to not make the back button visible initially. Another > would be to silently exit from the clicked handler when the queue is empty. Other buttons in gnome-software.ui are set up in the same way, initially visible in the ui file and then hidden / shown in gs_shell_change_mode() as needed. If we have a code path that doesn't run gs_shell_change_mode(), we'll probably have other buttons with wrong visiblity as well, not just the back button. To fix the crash, I think the best way for now would be to return from the clicked handler and log a warning -- hopefully this will help catch the root cause of this in the future. I've pushed https://git.gnome.org/browse/gnome-software/commit/?id=facb84ebc865cb81a8711253f806f5c87c5421f7 to that effect. *** Bug 1174497 has been marked as a duplicate of this bug. *** gnome-software-3.14.3-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/gnome-software-3.14.3-1.fc21 Package gnome-software-3.14.3-1.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing gnome-software-3.14.3-1.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2015-2843/gnome-software-3.14.3-1.fc21 then log in and leave karma (feedback). gnome-software-3.14.3-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |