I have investigated this issue, and the problem is that the _refresh_apps_with_app_cache method after the back button press is invoked twice, with the following stacktraces (removed most of the common part from the traces, like Gtk.main(), etc):
1. File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/widgets/backforward.py", line 83, in on_clicked
self.emit(button.signal_name)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 85, in on_nav_back_clicked
pane.on_nav_back_clicked(widget)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 277, in on_nav_back_clicked
vm.nav_back()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 221, in nav_back
self.navhistory.nav_back()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 77, in nav_back
nav_item.navigate_to()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 139, in navigate_to
self.view_state, self.callback)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 195, in display_page
callback(page, view_state)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 678, in display_app_view_page
self.refresh_apps()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 813, in refresh_apps
SoftwarePane.refresh_apps(self, query)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 417, in refresh_apps
self._refresh_apps_with_apt_cache(query)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
f(*args, **kwargs)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 439, in _refresh_apps_with_apt_cache
traceback.print_stack()
2. File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/widgets/backforward.py", line 83, in on_clicked
self.emit(button.signal_name)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 85, in on_nav_back_clicked
pane.on_nav_back_clicked(widget)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 277, in on_nav_back_clicked
vm.nav_back()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 221, in nav_back
self.navhistory.nav_back()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 77, in nav_back
nav_item.navigate_to()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/navhistory.py", line 139, in navigate_to
self.view_state, self.callback)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/session/viewmanager.py", line 195, in display_page
callback(page, view_state)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 678, in display_app_view_page
self.refresh_apps()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/availablepane.py", line 813, in refresh_apps
SoftwarePane.refresh_apps(self, query)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 417, in refresh_apps
self._refresh_apps_with_apt_cache(query)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
f(*args, **kwargs)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 440, in _refresh_apps_with_apt_cache
self.app_view.configure_sort_method(self._is_in_search_mode())
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 225, in configure_sort_method
self._use_combobox_without_sort_by_search_ranking()
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 157, in _use_combobox_without_sort_by_search_ranking
self.sort_methods_combobox.remove(self._SORT_BY_SEARCH_RANKING)
File "/usr/lib/python2.7/dist-packages/gi/types.py", line 43, in function
return info.invoke(*args, **kwargs)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/views/appview.py", line 135, in on_sort_method_changed
self.emit("sort-method-changed", self.sort_methods_combobox)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 296, in on_app_view_sort_method_changed
self._refresh_apps_with_apt_cache(query)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/utils.py", line 119, in wrapper
f(*args, **kwargs)
File "/home/evfool/Projects/ubuntu/sctrunk/softwarecenter/ui/gtk3/panes/softwarepane.py", line 439, in _refresh_apps_with_apt_cache
traceback.print_stack()
I have investigated this issue, and the problem is that the _refresh_ apps_with_ app_cache method after the back button press is invoked twice, with the following stacktraces (removed most of the common part from the traces, like Gtk.main(), etc):
1. File "/home/ evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ widgets/ backforward. py", line 83, in on_clicked emit(button. signal_ name) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 85, in on_nav_back_clicked on_nav_ back_clicked( widget) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 277, in on_nav_back_clicked evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 221, in nav_back navhistory. nav_back( ) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ navhistory. py", line 77, in nav_back item.navigate_ to() evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ navhistory. py", line 139, in navigate_to view_state, self.callback) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 195, in display_page evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/available pane.py" , line 678, in display_ app_view_ page refresh_ apps() evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/available pane.py" , line 813, in refresh_apps e.refresh_ apps(self, query) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 417, in refresh_apps _refresh_ apps_with_ apt_cache( query) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ utils.py" , line 119, in wrapper evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 439, in _refresh_ apps_with_ apt_cache print_stack( )
self.
File "/home/
pane.
File "/home/
vm.nav_back()
File "/home/
self.
File "/home/
nav_
File "/home/
self.
File "/home/
callback(page, view_state)
File "/home/
self.
File "/home/
SoftwarePan
File "/home/
self.
File "/home/
f(*args, **kwargs)
File "/home/
traceback.
2. File "/home/ evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ widgets/ backforward. py", line 83, in on_clicked emit(button. signal_ name) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 85, in on_nav_back_clicked on_nav_ back_clicked( widget) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 277, in on_nav_back_clicked evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 221, in nav_back navhistory. nav_back( ) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ navhistory. py", line 77, in nav_back item.navigate_ to() evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ navhistory. py", line 139, in navigate_to view_state, self.callback) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ session/ viewmanager. py", line 195, in display_page evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/available pane.py" , line 678, in display_ app_view_ page refresh_ apps() evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/available pane.py" , line 813, in refresh_apps e.refresh_ apps(self, query) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 417, in refresh_apps _refresh_ apps_with_ apt_cache( query) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ utils.py" , line 119, in wrapper evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 440, in _refresh_ apps_with_ apt_cache app_view. configure_ sort_method( self._is_ in_search_ mode()) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ views/appview. py", line 225, in configure_ sort_method _use_combobox_ without_ sort_by_ search_ ranking( ) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ views/appview. py", line 157, in _use_combobox_ without_ sort_by_ search_ ranking sort_methods_ combobox. remove( self._SORT_ BY_SEARCH_ RANKING) python2. 7/dist- packages/ gi/types. py", line 43, in function evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ views/appview. py", line 135, in on_sort_ method_ changed emit("sort- method- changed" , self.sort_ methods_ combobox) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 296, in on_app_ view_sort_ method_ changed _refresh_ apps_with_ apt_cache( query) evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ utils.py" , line 119, in wrapper evfool/ Projects/ ubuntu/ sctrunk/ softwarecenter/ ui/gtk3/ panes/softwarep ane.py" , line 439, in _refresh_ apps_with_ apt_cache print_stack( )
self.
File "/home/
pane.
File "/home/
vm.nav_back()
File "/home/
self.
File "/home/
nav_
File "/home/
self.
File "/home/
callback(page, view_state)
File "/home/
self.
File "/home/
SoftwarePan
File "/home/
self.
File "/home/
f(*args, **kwargs)
File "/home/
self.
File "/home/
self.
File "/home/
self.
File "/usr/lib/
return info.invoke(*args, **kwargs)
File "/home/
self.
File "/home/
self.
File "/home/
f(*args, **kwargs)
File "/home/
traceback.