|
Bugzilla – Full Text Bug Listing |
| Summary: | Software manager crash when i select some package in installed list (64-bit arch) | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.3 | Reporter: | Andrey Gankov <gankov> |
| Component: | YaST2 | Assignee: | Michael Meeks <michael.meeks> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Major | ||
| Priority: | P5 - None | CC: | forgotten_h13THG8RK1 |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE 10.3 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
log
error massage error massage debugfile debugfile-2 |
||
|
Description
Andrey Gankov
2008-01-08 05:16:13 UTC
Created attachment 189671 [details]
log
It seems to be Gtk UI related... Hi Andrey! Clarify this to me: 1. does it crash on every installed package? 2. if not, does it crash persistently on the same packages (like the compiz you mention)? 3. do you get a window titled xmessage after the crash? what does it say? Also, try this for me if you will (as root): /usr/lib/YaST2/bin/y2base sw_single qt Try to do some stuff there to see if it crashes too (search for compiz, select it, check the info tabs, mark it for removal, etc -- just don't click on the Accept button ;)). Thanks! 1 - no, crash on some package. 2 - I can not catch package when crash happens. If first software manager crash on compiz package, i run software manager again and on same package crash not happen. 3 - i can't copy massage, i attach screen shot. When i run "/usr/lib/YaST2/bin/y2base sw_single qt" crash not happens. I little time used that mode, may be randomness. Created attachment 194027 [details]
error massage
Created attachment 194028 [details]
error massage
Alright, so let's give the debugger a try, okay? As root (use "su", not "su -"): gdb --args /usr/lib/YaST2/bin/y2base sw_single gtk (you may have to press Return a couple times here.) run (try to crash it.) breakpoint (tell us the ouput.) Since there was no other report of such a crash, coupled with the weird characters on markup, it seems like something related to internationalization. So, tell me what "echo $LANG" outputs. Also, do "LANG=en" in the terminal as root, and check if the thing crashes. correction: where it says "breakpoint", I meant "backtrace". I understand how reproduce that crash. My steps to reproduce: 1 - run software manager 2 - found and select any package ( i search "rar") 3 - click install button for rar package 4 - search new package ( i search "compiz") 5 - When i select package "compiz-fusion-gnome" in left list, crash happens 100% I use Russian language. debug info: linux-acer:/home/andrew # gdb --args /usr/lib/YaST2/bin/y2base sw_single gtk GNU gdb 6.6.50.20070726-cvs Copyright (C) 2007 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-suse-linux"... (no debugging symbols found) Using host libthread_db library "/lib64/libthread_db.so.1". (gdb) run Starting program: /usr/lib/YaST2/bin/y2base sw_single gtk (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 0x2ae60ba2f5c0 (LWP 8035)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [New Thread 0x40800950 (LWP 8043)] [New Thread 0x41001950 (LWP 8210)] [Thread 0x41001950 (LWP 8210) exited] [New Thread 0x41802950 (LWP 8211)] [Thread 0x41802950 (LWP 8211) exited] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x40800950 (LWP 8043)] 0x00002ae60f4cbffd in YGUtils::escape_break_lines () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 (gdb) breaktrace Undefined command: "breaktrace". Try "help". (gdb) backtrace #0 0x00002ae60f4cbffd in YGUtils::escape_break_lines () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 #1 0x00002ae60f4f96c1 in PackageInformation::setPackage () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 #2 0x00002ae60f4fc48f in PackageSelector::package_clicked_cb () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 #3 0x00002ae60de2bd2f in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0 #4 0x00002ae60de3e1fd in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0 #5 0x00002ae60de3fc55 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0 #6 0x00002ae60de40043 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0 #7 0x00002ae60f988d16 in gtk_tree_view_real_set_cursor () from /usr/lib64/libgtk-x11-2.0.so.0 #8 0x00002ae60f98f91e in gtk_tree_view_button_press () from /usr/lib64/libgtk-x11-2.0.so.0 #9 0x00002ae60f89abbf in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib64/libgtk-x11-2.0.so.0 #10 0x00002ae60de2bd2f in g_closure_invoke () from /usr/lib64/libgobject-2.0.so.0 #11 0x00002ae60de3e5f6 in signal_emit_unlocked_R () from /usr/lib64/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #12 0x00002ae60de3f989 in g_signal_emit_valist () from /usr/lib64/libgobject-2.0.so.0 #13 0x00002ae60de40043 in g_signal_emit () from /usr/lib64/libgobject-2.0.so.0 #14 0x00002ae60f9a2325 in gtk_widget_event_internal () from /usr/lib64/libgtk-x11-2.0.so.0 #15 0x00002ae60f893ed2 in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0 #16 0x00002ae60f894e75 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0 #17 0x00002ae60fd4d75c in gdk_event_dispatch () from /usr/lib64/libgdk-x11-2.0.so.0 #18 0x00002ae60d044304 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 #19 0x00002ae60d0475fd in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0 #20 0x00002ae60d047ace in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #21 0x00002ae60f4cd12c in YGUI::userInput () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 #22 0x00002ae6087e5054 in YUI::doUserInput () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #23 0x00002ae6087e56bb in YUI::evaluateUserInput () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 ---Type <return> to continue, or q <return> to quit--- #24 0x00002ae60f4ce9bb in YGUI::runPkgSelection () from /usr/lib64/YaST2/plugin/libpy2gtk.so.2 #25 0x00002ae6087e26dd in YUI::evaluateRunPkgSelection () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #26 0x00002ae60880b165 in Y2UINamespace::RunPkgSelection () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #27 0x00002ae60881abe8 in Y2UIFunction::evaluateCall_int () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #28 0x00002ae6087de4db in YUI::uiThreadMainLoop () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #29 0x00002ae6087de52e in start_ui_thread () from /usr/lib64/YaST2/plugin/libpy2UI.so.2 #30 0x00002ae6096b3020 in start_thread () from /lib64/libpthread.so.0 #31 0x00002ae60b7acf8d in clone () from /lib64/libc.so.6 #32 0x0000000000000000 in ?? () (gdb) Hi. So, I'm not sure what could be wrong in that code. It would be great if you could upgrade your yast-gtk to our SVN 10.3 backport version. I added there a couple of log message so we know what text is triggering the crash, in case it still happens. Upgrade Instructions: Make sure you have installed: yast2-devel yast2-devtools yast2-core-devel libzypp-devel gettext-devel Do: svn checkout http://svn.opensuse.org/svn/yast/trunk/gtk/10_3/ yast-gtk cd yast-gtk make -f Makefile.cvs make && sudo make install Now, run as follows (as root) and get us the "debugfile": /usr/lib/YaST2/bin/y2base sw_single gtk -l debugfile I can not found package "yast2-devel". I found yast2-devel-doc only. When i run "make -f Makefile.cvs" Error: linux-acer:/home/andrew/yast-gtk # make -f Makefile.cvs y2tool y2autoconf y2autoconf: Generating toplevel configure.in y2tool y2automake y2automake: Copying automakefiles for inclusion y2automake: Generating toplevel Makefile.am autoreconf --force --install make: autoreconf: Команда не найдена make: *** [all] Ошибка 127 translate: make: autoreconf: command not found make: *** [all] error 127 You're right, there is no yast2-devel in 10.3. I guess it was merged with the core-devel or our notes was wrong. With regard to your compilation error, I assumed you had the basics installed there. I guess the following are enough: gcc g++ autoconf automake glib2-devel cairo-devel gtk2-devel You can instead install the "C/C++ development" and "Gnome development" patterns. (patterns are sets of packages) Btw, you can remove all these packages (or patterns) after you've installed the thing, as they are just used to compile the source code to the executable form. Hi, new interface is very nice. But bag happens. debugfile in attachment. Created attachment 195840 [details]
debugfile
Thanks. So, I think this is caused by this embarrassing artifact: as the C++ string index we were the usual "unsigned int"-eger type, when we should use "size_type", and you're probably using the 64-bit edition of opensuse (right?), and STL probably uses a long or something there. :/ Could you repeat comment #10 and report back to us? Thanks again. :) Yes, I use 64-bit version. I recompile yast-gtk. And all ok. I can not reproduce that bug, software manager no crash, when i do as before. I guess what bug is fixed. Whatever the case debugfile(2) in attachments. Created attachment 196111 [details]
debugfile-2
Alright, thanks for reporting in time for 11.0. This bug will serve me as a lesson to not be so relaxed in the future with regard to honoring the library's variable type. ;) Closing... *** Bug 379025 has been marked as a duplicate of this bug. *** Great to know that this is fixed. When will be YOU release? I have update system and this bug is still present on 10.3 I guess we would need to re-assign to someone from that team... Btw, 64-bit users should use the qt tool because we didn't support selecting the correct architecture which would be a problem anyhow. |