So the trivial fix for the traceback is to add a length of -1 as the third argument, but this causes some issues deeper down:
(software-center-gtk3:14662): Gdk-CRITICAL **: gdk_display_get_default_screen: assertion `GDK_IS_DISPLAY (display)' failed
(software-center-gtk3:14662): Gtk-CRITICAL **: gtk_invisible_new_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(software-center-gtk3:14662): Gtk-CRITICAL **: gtk_widget_add_events: assertion `GTK_IS_WIDGET (widget)' failed
(software-center-gtk3:14662): Gtk-CRITICAL **: gtk_widget_get_window: assertion `GTK_IS_WIDGET (widget)' failed
(software-center-gtk3:14662): Gtk-CRITICAL **: gtk_selection_owner_set_for_display: assertion `GDK_IS_DISPLAY (display)' failed
So the trivial fix for the traceback is to add a length of -1 as the third argument, but this causes some issues deeper down:
(software- center- gtk3:14662) : Gdk-CRITICAL **: gdk_display_ get_default_ screen: assertion `GDK_IS_DISPLAY (display)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_invisible_ new_for_ screen: assertion `GDK_IS_SCREEN (screen)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_widget_ add_events: assertion `GTK_IS_WIDGET (widget)' failed
(software- center- gtk3:14662) : Gdk-CRITICAL **: gdk_display_ get_default_ screen: assertion `GDK_IS_DISPLAY (display)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_invisible_ new_for_ screen: assertion `GDK_IS_SCREEN (screen)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_widget_ add_events: assertion `GTK_IS_WIDGET (widget)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_widget_ get_window: assertion `GTK_IS_WIDGET (widget)' failed
(software- center- gtk3:14662) : Gtk-CRITICAL **: gtk_selection_ owner_set_ for_display: assertion `GDK_IS_DISPLAY (display)' failed