Bug 449306

Summary: Crash in package manager when conflict appears
Product: [openSUSE] openSUSE 11.0 Reporter: Michal Čihař <mcihar>
Component: YaST2Assignee: Jiri Srain <jsrain>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P3 - Medium CC: dmacvicar, forgotten_h13THG8RK1, locilka, mmeeks
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 11.0   
Whiteboard: maint:released:11.0:22049
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 447986    
Attachments: yast logs
Screenshot of empty conflict dialog

Description Michal Čihař 2008-11-26 15:07:01 UTC
When some conflict appears, YaST sometimes crashes, sometimes opens empty dialog to resolve conflict and sometimes it just works. I can not say the difference when which action happens, but I'm usually able to reproduce either blank Window (with Gtk warnings on console) or the crash.

Backtrace:

#0  0x00007f18e9374c22 in g_type_check_is_value_type () from /usr/lib64/libgobject-2.0.so.0
No locals.
#1  0x00007f18ea97703e in _gtk_tree_data_list_check_type (type=139744970866560) at gtktreedatalist.c:91
	type_list = {20, 12, 16, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 80, 0}
#2  0x00007f18ea989e20 in IA__gtk_tree_store_new (n_columns=8) at gtktreestore.c:275
	type = 1108664976
	retval = (GtkTreeStore *) 0x7f18e958ff80
	args = {{gp_offset = 48, fp_offset = 0, overflow_arg_area = 0x4214e160, reg_save_area = 0x4214e070}}
	i = 6
	__PRETTY_FUNCTION__ = "IA__gtk_tree_store_new"
#3  0x00007f18eadb3875 in YGPackageSelector::resolveProblems () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#4  0x00007f18eadcb6a2 in Ypp::Impl::resolveProblems () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#5  0x00007f18eadd011a in Ypp::Impl::finishTransactions () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#6  0x00007f18eadd07b2 in Ypp::Package::install () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#7  0x00007f18eadb49ad in PackageControl::install_clicked_cb () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#8  0x00007f18e935a20d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
No locals.
#9  0x00007f18e936e08c in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0
No locals.
#10 0x00007f18e936f50e in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
No locals.
#11 0x00007f18e936fa53 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
No locals.
#12 0x00007f18ea7d5b0d in gtk_real_button_released (button=0x7f18e958ff80) at gtkbutton.c:1484
No locals.
#13 0x00007f18e935a20d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
No locals.
#14 0x00007f18e936d9a9 in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0
No locals.
#15 0x00007f18e936f50e in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
No locals.
#16 0x00007f18e936fa53 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
No locals.
#17 0x00007f18ea7d4cad in gtk_button_button_release (widget=0x7f18e958ff80, event=0x0) at gtkbutton.c:1377
No locals.
---Type <return> to continue, or q <return> to quit---
#18 0x00007f18ea8a4998 in _gtk_marshal_BOOLEAN__BOXED (closure=0x10b27d0, return_value=0x4214f130, 
    n_param_values=<value optimized out>, param_values=0x4214f1e0, invocation_hint=<value optimized out>, 
    marshal_data=0x7f18ea7d4c90) at gtkmarshalers.c:84
	data1 = (gpointer) 0x7f18e00274d0
	data2 = (gpointer) 0x4214e158
	v_return = <value optimized out>
	__PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED"
#19 0x00007f18e935a20d in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0
No locals.
#20 0x00007f18e936dd6d in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0
No locals.
#21 0x00007f18e936f392 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0
No locals.
#22 0x00007f18e936fa53 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0
No locals.
#23 0x00007f18ea9b9a8e in gtk_widget_event_internal (widget=0x7f18e00274d0, event=0x7f18e0041740)
    at gtkwidget.c:4678
	signal_num = <value optimized out>
	return_val = 0
#24 0x00007f18ea89d513 in IA__gtk_propagate_event (widget=0x7f18e00274d0, event=0x7f18e0041740)
    at gtkmain.c:2337
	tmp = (GtkWidget *) 0x111c660
	handled_event = -536602816
	__PRETTY_FUNCTION__ = "IA__gtk_propagate_event"
#25 0x00007f18ea89e55b in IA__gtk_main_do_event (event=0x7f18e0041740) at gtkmain.c:1557
	event_widget = (GtkWidget *) 0x7f18e00274d0
	grab_widget = (GtkWidget *) 0x7f18e00274d0
	window_group = (GtkWindowGroup *) 0x111c660
	rewritten_event = (GdkEvent *) 0x0
	tmp_list = <value optimized out>
	__PRETTY_FUNCTION__ = "IA__gtk_main_do_event"
#26 0x00007f18ea4fe2ac in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, 
    user_data=<value optimized out>) at gdkevents-x11.c:2352
	display = <value optimized out>
	event = <value optimized out>
#27 0x00007f18e90c493a in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
No locals.
#28 0x00007f18e90c8040 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
No locals.
#29 0x00007f18e90c81dc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
No locals.
#30 0x00007f18ead96f24 in YGUI::waitInput () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#31 0x00007f18ef47251a in YDialog::waitForEvent () from /usr/lib64/libyui.so.3
No symbol table info available.
#32 0x00007f18ead976a9 in YGUI::runPkgSelection () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2
No symbol table info available.
#33 0x00007f18ef6e4f74 in YCP_UI::RunPkgSelection () from /usr/lib64/YaST2/plugin/libpy2UI.so.2
No symbol table info available.
#34 0x00007f18ef6cd7e6 in YUINamespace::RunPkgSelection () from /usr/lib64/YaST2/plugin/libpy2UI.so.2
No symbol table info available.
#35 0x00007f18ef6dd1a3 in YUIFunction::evaluateCall_int () from /usr/lib64/YaST2/plugin/libpy2UI.so.2
No symbol table info available.
#36 0x00007f18ef6edd02 in YCPBuiltinCaller::call () from /usr/lib64/YaST2/plugin/libpy2UI.so.2
No symbol table info available.
#37 0x00007f18ef44e683 in YUI::uiThreadMainLoop () from /usr/lib64/libyui.so.3
No symbol table info available.
#38 0x00007f18ef44e8ae in start_ui_thread () from /usr/lib64/libyui.so.3
No symbol table info available.
#39 0x00007f18f2198040 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#40 0x00007f18f103f0cd in clone () from /lib64/libc.so.6
No symbol table info available.

Gtk warnings:

(y2base:13636): Gtk-WARNING **: gtktreestore.c:277: Invalid type (null)


(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_append: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_set_valist: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_append: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_set_valist: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_append: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_set_valist: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_append: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): Gtk-CRITICAL **: gtk_tree_store_set_valist: assertion `GTK_IS_TREE_STORE (tree_store)' failed

(y2base:13636): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
Comment 1 Lukas Ocilka 2008-11-26 15:08:33 UTC
What about attaching YaST logs :)?
Comment 2 Michal Čihař 2008-11-26 15:13:08 UTC
Created attachment 255833 [details]
yast logs
Comment 3 Michal Čihař 2008-11-26 15:13:51 UTC
They were already on the way, I just forgot to do it in one step...
Comment 4 Michal Čihař 2008-11-26 15:16:23 UTC
Created attachment 255834 [details]
Screenshot of empty conflict dialog
Comment 6 Forgotten User h13THG8RK1 2008-11-28 20:44:40 UTC
Known bug. The updates should cover this, no?

*** This bug has been marked as a duplicate of bug 399465 ***
Comment 7 Michal Čihař 2008-12-02 07:26:41 UTC
I have installed all updates available for 11.0 and I am still able to reproduce this...
Comment 8 Forgotten User h13THG8RK1 2008-12-03 01:24:10 UTC
It doesn't seem like bug 394309 's update got pushed for 64-bit (did it?). Or I guess this fix just wasn't included then.
Comment 9 Forgotten User h13THG8RK1 2008-12-05 17:40:36 UTC
Jiri, should we release an update for this? Who can get that done?
Comment 10 Jiri Srain 2009-01-05 11:15:27 UTC
I cannot find the fix even in SVN (in the 11.0 branch - according to the changelog). Has it been committed there?
Comment 11 Forgotten User h13THG8RK1 2009-01-08 03:43:19 UTC
Jiri, right, I've just been using http://svn.opensuse.org/svn/yast/trunk/gtk/ , which I make sure to still be compilable for a 11.0 system. Anyway, just fixed this bug on http://svn.opensuse.org/svn/yast/branches/SuSE-Linux-11_0-Branch/gtk/ if you prefer to push a surgical update.
Comment 12 Jiri Srain 2009-01-08 09:34:55 UTC
Thanks!

Please, always merge the changes into branches of products which should contain the patch; we do not use version from trunk for released products (even if it might work in this particular case, it does not work in general because of possible API changes).

Anja, could I get a SWAMP ID?
Comment 14 Duncan Mac-Vicar 2009-01-09 11:42:46 UTC
Ricardo, please submit the package to devel:updatestack there is a package named yast2-gtk-11.0 I will take care of the rest. (You can do the same in the future, just submit there)

It is really bad that you guys haven't splited the UI and package manager package yet :-/ Please look at it for 11.2 :-)

Comment 15 Michal Čihař 2009-01-12 10:43:50 UTC
Why needinfo on me? Is there any particular reason for that?
Comment 16 Forgotten User h13THG8RK1 2009-01-13 16:09:36 UTC
Duncan, not sure what you mean, I never package -gtk myself. Jiri, could you do that?
Comment 17 Duncan Mac-Vicar 2009-01-16 15:45:28 UTC
svn: '/svn/yast/!svn/bc/54712/tags/branch-Linux-11_0-2_16_15/gtk/VERSION' path not found

gtk> y2tool tagversion
yast2-gtk branch-Linux-11_0-2_16_15

Committed revision 54713.

Committed revision 54714.
gtk> make package
if [ -d ./CVS ]; then \
          cd . && ! cvs -q -n up 2>/dev/null | grep '^[MCAR] ';\
        else \
          cd . && ! LC_ALL=C svn status --show-updates --quiet | grep -v '^Status against revision' ;\
        fi
svn: Write error: Broken pipe
/usr/bin/y2tool check-textdomain .
Error: Missing textdomain in: /space/tmp/gtk/./src/ygtkwizard.c
make: *** [check-textdomain] Error 1
gtk>
Comment 18 Forgotten User h13THG8RK1 2009-01-16 17:18:22 UTC
Fixed that one Duncan. ygtkwizard.c was missing the Textdomain comment at the top.
Comment 19 Duncan Mac-Vicar 2009-01-16 17:55:09 UTC
-------------------------------------------------------------------
Tue Jul  1 01:29:47 CEST 2008 - jpr@suse.de

- Prevent crash configuring network printer (bnc #394309)
- Launch dep resolver on start (bnc #402316)

These changes are in the 11.0 branch, but I am not sure if they are there because someone submited trunk to the 11.0 branch or because jpr did not add the changes to svn .changes file....

Ricardo are those two bugfixes backported into the svn 11.0 branch so I can add it to the svn changes file?
Comment 20 Forgotten User h13THG8RK1 2009-01-16 18:19:55 UTC
Oh, I had forgotten that 2nd bug. Fixed it now.
Comment 21 Duncan Mac-Vicar 2009-01-19 10:46:34 UTC
Submitted, should appear as an online update soon.
Comment 22 Michael Meeks 2009-01-19 16:10:05 UTC
Wow - thanks Duncan :-)
Comment 23 Swamp Workflow Management 2009-02-04 10:26:59 UTC
Update released for: gnome-packagekit, libsatsolver, libsatsolver-devel, libsatsolver-perl, libsatsolver-ruby, libzypp, libzypp-devel, satsolver-tools, yast2-gtk, yast2-ncurses-pkg, yast2-online-update, yast2-online-update-frontend, yast2-packager, yast2-pkg-bindings, yast2-qt-pkg
Products:
openSUSE 11.0 (debug, i386, ppc, x86_64)