Bug 525339

Summary: libzypp segfaults on ARM while writing to log (was: yast2: ycpc when compiling in ARM environment)
Product: [openSUSE] openSUSE 11.2 Reporter: Forgotten User 0RO3Kla3Ru <forgotten_0RO3Kla3Ru>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P3 - Medium CC: forgotten_0RO3Kla3Ru, ma
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: trace from zypper --help
0001-Create-LogControlImpl-on-demand-instead-of-using-a-s.patch
gdb trace for segfault with patch applied to libzypp
Attempt to prevent the SEGV.

Description Forgotten User 0RO3Kla3Ru 2009-07-27 00:07:17 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.0.11) Gecko/2009060200 SUSE/3.0.11-0.1.1 Firefox/3.0.11

Starting to compile yast for openSUSE@ARM I'm now stuck compiling the package "yast2" .

qemu: uncaught target signal 11 (Segmentation fault) - core dumped
make[3]: *** [WorkflowManager.ybc] Segmentation fault
make[3]: Leaving directory `/usr/src/packages/BUILD/yast2-2.18.21/library/control/src'

legolas:/usr/src/packages/BUILD/yast2-2.18.21/library/control/src> gdb /usr/bin/ycpc qemu_ycpc_20090727-015330_14272.core
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "<string>", line 27, in <module>
ImportError: No module named os.path
GNU gdb (GDB) SUSE (6.8.50.20090302-7.3)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv5tel-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/lib/libycp.so.3...done.
Loaded symbols for /usr/lib/libycp.so.3
Reading symbols from /usr/lib/libycpvalues.so.3...done.
Loaded symbols for /usr/lib/libycpvalues.so.3
Reading symbols from /usr/lib/YaST2/plugin/libpy2wfm.so.2...done.
Loaded symbols for /usr/lib/YaST2/plugin/libpy2wfm.so.2
Reading symbols from /usr/lib/YaST2/plugin/libpy2scr.so.2...done.
Loaded symbols for /usr/lib/YaST2/plugin/libpy2scr.so.2
Reading symbols from /usr/lib/libscr.so.2...done.
Loaded symbols for /usr/lib/libscr.so.2
Reading symbols from /lib/libxcrypt.so.2...done.
Loaded symbols for /lib/libxcrypt.so.2
Reading symbols from /usr/lib/liby2.so.2...done.
Loaded symbols for /usr/lib/liby2.so.2
Reading symbols from /usr/lib/liby2util.so.4...done.
Loaded symbols for /usr/lib/liby2util.so.4
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/lib/libblocxx.so.6...done.
Loaded symbols for /usr/lib/libblocxx.so.6
Reading symbols from /lib/libpcre.so.0...done.
Loaded symbols for /lib/libpcre.so.0
Reading symbols from /usr/lib/YaST2/plugin/liby2dbus.so.2...done.
Loaded symbols for /usr/lib/YaST2/plugin/liby2dbus.so.2
Reading symbols from /usr/lib/libpolkit-dbus.so.2...done.
Loaded symbols for /usr/lib/libpolkit-dbus.so.2
Reading symbols from /usr/lib/libpolkit.so.2...done.
Loaded symbols for /usr/lib/libpolkit.so.2
Reading symbols from /lib/libdbus-1.so.3...done.
Loaded symbols for /lib/libdbus-1.so.3
Reading symbols from /lib/libutil.so.1...done.
Loaded symbols for /lib/libutil.so.1
Reading symbols from /usr/lib/libstdc++.so.6...done.
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.12-gdb.py", line 26, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
  File "/usr/lib/python2.6/site-packages/gdb/libstdcxx/v6/printers.py", line 19, in <module>
    import itertools
ImportError: No module named itertools
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.3...done.
Loaded symbols for /lib/ld-linux.so.3
Reading symbols from /usr/lib/libssl.so.0.9.8...done.
Loaded symbols for /usr/lib/libssl.so.0.9.8
Reading symbols from /usr/lib/libcrypto.so.0.9.8...done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.8
Reading symbols from /lib/libselinux.so.1...done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /lib/libexpat.so.1...done.
Loaded symbols for /lib/libexpat.so.1
Reading symbols from /lib/libz.so.1...done.
Loaded symbols for /lib/libz.so.1
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Reading symbols from /usr/lib/YaST2/plugin/libpy2lang_perl.so...done.
Loaded symbols for /usr/lib/YaST2/plugin/libpy2lang_perl.so
Reading symbols from /usr/lib/perl5/5.10.0/armv5tel-linux-thread-multi/CORE/libperl.so...done.
Loaded symbols for /usr/lib/perl5/5.10.0/armv5tel-linux-thread-multi/CORE/libperl.so
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/YaST2/plugin/libpy2UI.so.2...done.
Loaded symbols for /usr/lib/YaST2/plugin/libpy2UI.so.2
Reading symbols from /usr/lib/libyui.so.3...done.
Loaded symbols for /usr/lib/libyui.so.3
Reading symbols from /usr/lib/YaST2/plugin/libpy2Pkg.so.2...done.
Loaded symbols for /usr/lib/YaST2/plugin/libpy2Pkg.so.2
Reading symbols from /usr/lib/libzypp.so.610...done.
Loaded symbols for /usr/lib/libzypp.so.610
Reading symbols from /usr/lib/librpm-4.4.so...done.
Loaded symbols for /usr/lib/librpm-4.4.so
Reading symbols from /usr/lib/libhal.so.1...done.
Loaded symbols for /usr/lib/libhal.so.1
Reading symbols from /usr/lib/libhal-storage.so.1...done.
Loaded symbols for /usr/lib/libhal-storage.so.1
Reading symbols from /usr/lib/libcurl.so.4...done.
Loaded symbols for /usr/lib/libcurl.so.4
Reading symbols from /usr/lib/libxml2.so.2...done.
Loaded symbols for /usr/lib/libxml2.so.2
Reading symbols from /usr/lib/librpmdb-4.4.so...done.
Loaded symbols for /usr/lib/librpmdb-4.4.so
Reading symbols from /usr/lib/librpmio-4.4.so...done.
Loaded symbols for /usr/lib/librpmio-4.4.so
Reading symbols from /lib/liblzma.so.0...done.
Loaded symbols for /lib/liblzma.so.0
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libbz2.so.1...done.
Loaded symbols for /lib/libbz2.so.1
Reading symbols from /lib/libpopt.so.0...done.
Loaded symbols for /lib/libpopt.so.0
Reading symbols from /lib/libuuid.so.1...done.
Loaded symbols for /lib/libuuid.so.1
Reading symbols from /usr/lib/libidn.so.11...done.
Loaded symbols for /usr/lib/libidn.so.11
Reading symbols from /usr/lib/libldap-2.4.so.2...done.
Loaded symbols for /usr/lib/libldap-2.4.so.2
Reading symbols from /usr/lib/libgssapi_krb5.so.2...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /usr/lib/libkrb5.so.3...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /usr/lib/libk5crypto.so.3...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /lib/libcom_err.so.2...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /lib/libkeyutils.so.1...done.
Loaded symbols for /lib/libkeyutils.so.1
Reading symbols from /lib/libresolv.so.2...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /usr/lib/liblber-2.4.so.2...done.
Loaded symbols for /usr/lib/liblber-2.4.so.2
Reading symbols from /usr/lib/libsasl2.so.2...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/libkrb5support.so.0...done.
Loaded symbols for /usr/lib/libkrb5support.so.0
Core was generated by `/usr/bin/ycpc -c -M. -I. -q -M ../../modules -M ../../xml/src -M ../../wizard/s'.
Program terminated with signal 11, Segmentation fault.
#0  0x425be6ec in std::ostream::sentry::sentry(std::ostream&) () from /usr/lib/libstdc++.so.6
(gdb) bt
#0  0x425be6ec in std::ostream::sentry::sentry(std::ostream&) () from /usr/lib/libstdc++.so.6
#1  0x425c1a88 in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, int) () from /usr/lib/libstdc++.so.6
#2  0x425c1ea4 in std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) () from /usr/lib/libstdc++.so.6
#3  0x433801c4 in zypp::sat::detail::PoolImpl::PoolImpl (this=0x434ae260)
    at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/sat/detail/PoolImpl.cc:176
#4  0x43380458 in zypp::sat::detail::PoolMember::myPool () at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/sat/detail/PoolImpl.cc:164
#5  0x432d6f64 in zypp::IdString::IdString (this=0x40074c28, str_r=0x434aedb0 "")
    at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/IdString.cc:32
#6  0x433083d8 in zypp::PoolQueryAttr::PoolQueryAttr (this=0x434ada1c, cstr_r=0x434aedb0 "")
    at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/PoolQuery.cc:821
#7  0x433010d0 in __static_initialization_and_destruction_0 (__initialize_p=<value optimized out>, __priority=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/PoolQuery.cc:844
#8  global constructors keyed to PoolQuery.cc(void) (__initialize_p=<value optimized out>, __priority=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.10.3/zypp/PoolQuery.cc:1496
#9  0x4008f0e4 in call_init (l=<value optimized out>, argc=14, argv=0x4007ef4c, env=0x56008) at dl-init.c:85
#10 0x4008f204 in _dl_init (main_map=0x178e18, argc=14, argv=0x4007ef4c, env=0x56008) at dl-init.c:134
#11 0x4009361c in dl_open_worker (a=<value optimized out>) at dl-open.c:527
#12 0x4008ed14 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>,
    operate=<value optimized out>, args=0x40074f98) at dl-error.c:178
#13 0x40092d10 in _dl_open (file=0x178dd4 "/usr/lib/YaST2/plugin/libpy2Pkg.so.2", mode=-2147483391, caller_dlopen=0x422cdc14, nsid=-2,
    argc=14, argv=0x4007ef4c, env=0x56008) at dl-open.c:615
#14 0x4230bafc in dlopen_doit (a=<value optimized out>) at dlopen.c:67
#15 0x4008ed14 in _dl_catch_error (objname=<value optimized out>, errstring=<value optimized out>, mallocedp=<value optimized out>,
    operate=<value optimized out>, args=0x400751f8) at dl-error.c:178
#16 0x4230bf74 in _dlerror_run (operate=0x4230ba88 <dlopen_doit>, args=0x400751f8) at dlerror.c:164
#17 0x4230ba58 in __dlopen (file=0x425be6e4 "", mode=18) at dlopen.c:88
#18 0x422cdc14 in Y2PluginComponent::loadPlugin(char const*) () from /usr/lib/liby2.so.2
#19 0x422ce678 in Y2PluginComponent::Y2PluginComponent(std::string, char const*, char const*, char const*) () from /usr/lib/liby2.so.2
#20 0x422ceda4 in Y2CCPlugin::provideNamespace(char const*) () from /usr/lib/liby2.so.2
#21 0x422bf488 in Y2ComponentBroker::getNamespaceComponent(char const*) () from /usr/lib/liby2.so.2
#22 0x421d9dc8 in Import::import(std::string const&, Y2Namespace*) () from /usr/lib/libycpvalues.so.3
#23 0x421da7d4 in Import::Import(std::string const&, Y2Namespace*) () from /usr/lib/libycpvalues.so.3
#24 0x42140b20 in Scanner::yylex() () from /usr/lib/libycp.so.3
#25 0x421289cc in yylex () from /usr/lib/libycp.so.3
#26 0x4212ca9c in yyparse(void*) () from /usr/lib/libycp.so.3
#27 0x42126d7c in Parser::parse(SymbolTable*, SymbolTable*) () from /usr/lib/libycp.so.3
#28 0x0000bb3c in parsefile(char const*) ()
#29 0x0000d810 in compilefile(char const*, char const*) ()
#30 0x0000dcfc in processfile(char const*, char const*) ()
#31 0x0000fc30 in main ()


Reproducible: Always

Steps to Reproduce:
1. compile yast2 in ARM worker with qemu-arm emulation
2.
3.
Actual Results:  
segfault

Expected Results:  
complete build
Comment 1 Forgotten User 0RO3Kla3Ru 2009-07-27 00:09:23 UTC
Bug submitted to keep track on progress and find solution.
Comment 2 Marcus Meissner 2009-07-27 08:15:01 UTC
segv in libzypp
Comment 3 Michael Andres 2009-07-27 09:59:11 UTC
Well, when loading plugin/libpy2Pkg.so.2. 

Maybe the plugin was linked against an older libzypp and needs to be recompiled (updated) first.
Comment 4 Forgotten User 0RO3Kla3Ru 2009-07-27 10:20:37 UTC
These testbuilds are done in an local obs instance - thus it should be compiled in the right order. -> I'm just providing the dependencies one-by-one, so libzypp is a fresh build.
Comment 5 Michael Andres 2009-07-27 12:28:16 UTC
(Are you able to build and run zypper?)

The location is indeed somewhat special, as this usually is the very first attempt to write something a logfile. Maybe we refer to some static variable, which is on ARM not yet initialized. 

I'll review the code...
Comment 6 Forgotten User 0RO3Kla3Ru 2009-07-27 13:10:02 UTC
zypper build:  yes
zypper run :   no   

segfault at same position, see attached log
Comment 7 Forgotten User 0RO3Kla3Ru 2009-07-27 13:13:01 UTC
Created attachment 308020 [details]
trace from zypper --help
Comment 8 Michael Andres 2009-07-27 15:02:10 UTC
Created attachment 308127 [details]
0001-Create-LogControlImpl-on-demand-instead-of-using-a-s.patch
Comment 9 Michael Andres 2009-07-27 15:04:42 UTC
Fixed in libzypp-6.11.2. 

In case you don't want to update to the latest libzypp version, the patch should alpply to 6.10.3 as well.
Comment 10 Forgotten User 0RO3Kla3Ru 2009-07-27 16:56:00 UTC
Patch applies and:

Wrote: /usr/src/packages/SRPMS/yast2-2.18.21-1.src.rpm
Wrote: /usr/src/packages/RPMS/armv5tel/yast2-2.18.21-1.armv5tel.rpm
Wrote: /usr/src/packages/RPMS/armv5tel/yast2-devel-doc-2.18.21-1.armv5tel.rpm

works !

Thanks for the quick fix. I'll report also for zypper.
Comment 11 Forgotten User 0RO3Kla3Ru 2009-07-27 17:20:42 UTC
report for zypper: 
elrond:/> uname -a
Linux elrond 2.6.25.20-0.4-default #1 SMP 2009-06-01 09:57:12 +0200 armv5tel armv5tel armv5tel GNU/Linux

elrond:/> zypper lr
Keine Repositories bestimmt. Verwenden Sie das Kommando 'zypper addrepo', um ein oder mehrere Repositories hinzuzufügen.
elrond:/> zypper ar -r http://download.opensuse.org/repositories/Base:/build:/arm:/cross/crosscompiled/Base:build:arm:cross.repo
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Speicherzugriffsfehler

Log attached. Should I open a new bugreport ?
Comment 12 Forgotten User 0RO3Kla3Ru 2009-07-27 17:21:48 UTC
Created attachment 308179 [details]
gdb trace for segfault with patch applied to libzypp
Comment 13 Michael Andres 2009-07-29 10:17:04 UTC
(In reply to comment #11)
> Log attached. Should I open a new bugreport ?

No, we can collect those startup issues here.
Comment 14 Forgotten User 0RO3Kla3Ru 2009-08-26 11:18:31 UTC
There's another one while running zypper ref:
#0  0x40352740 in putStream (message_r=<value optimized out>,         
    line_r=<value optimized out>, func_r=<value optimized out>,         
    level_r=<value optimized out>, this=<value optimized out>,          
    file_r=<value optimized out>, group_r=<value optimized out>)          
    at /usr/src/packages/BUILD/libzypp-6.13.1/zypp/base/LogControl.cc:295

#1  putStream (message_r=<value optimized out>, line_r=<value optimized out>,  
    func_r=<value optimized out>, level_r=<value optimized out>,          
    this=<value optimized out>, file_r=<value optimized out>,         
    group_r=<value optimized out>)          
    at /usr/src/packages/BUILD/libzypp-6.13.1/zypp/base/LogControl.cc:376  

#2  zypp::base::logger::Loglinebuf::writeout (message_r=<value optimized out>, 
    line_r=<value optimized out>, func_r=<value optimized out>,         
    level_r=<value optimized out>, this=<value optimized out>,          
    file_r=<value optimized out>, group_r=<value optimized out>)          
    at /usr/src/packages/BUILD/libzypp-6.13.1/zypp/base/LogControl.cc:155  

#3  0x4034f944 in zypp::base::logger::Loglinebuf::overflow
    (this=0xbec2f508, ch=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.13.1/zypp/base/LogControl.cc:141  

#4  0x40550188 in std::basic_ostream<char, std::char_traits<char>>::put(char)()
    from /usr/lib/libstdc++.so.6  

#5  0x40550278 in std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::---Type <return> to continue, or q <return> to
quit---
char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)
()
   from /usr/lib/libstdc++.so.6                                                 

#6  0x401411c8 in operator<< (this=<value optimized out>, __pf=<value optimized out>)
    at /usr/include/c++/4.4/ostream:113                                                  

#7  zypp::media::MediaHandler::release (this=<value optimized out>,
    __pf=<value optimized out>)                                                 
    at /usr/src/packages/BUILD/libzypp-6.13.1/zypp/media/MediaHandler.cc:701  

#8  0x4013a3b0 in zypp::media::MediaAccess::close (this=0x169388)  



Looks like  DGB << "foo bar"   is causing this (same for #12).
Comment 15 Michael Andres 2009-09-10 12:52:44 UTC
Created attachment 317614 [details]
Attempt to prevent the SEGV.

In case it helps, it will be present in libzypp-6.14.4
Comment 16 Forgotten User 0RO3Kla3Ru 2009-09-19 08:29:05 UTC
Hi Michael!

Hot news from the openSUSE Conference :

legolas:/etc> zypper in xorg-x11-*
Loading repository data...
Reading installed packages...
[...]
Resolving package dependencies...

The following NEW packages are going to be installed:
  xorg-x11-driver-input xorg-x11-fonts xorg-x11-libX11-unstable-devel xorg-x11-libXext-unstable-devel xorg-x11-libxcb-unstable-devel
  xorg-x11-proto-unstable-devel xorg-x11-server-extra xorg-x11-server-rdp

8 new packages to install.
Overall download size: 33.6 MiB. After the operation, additional 67.2 MiB will be used.
Continue? [y/n/?] (y):
Retrieving package xorg-x11-fonts-7.4-5.1.noarch (1/8), 24.0 MiB (30.3 MiB unpacked)
Installing: xorg-x11-fonts-7.4-5.1 [done]
Additional rpm output:
Starting SuSEconfig, the SuSE Configuration Tool...
Running module fonts only
Reading /etc/sysconfig and updating the system...
Executing /sbin/conf.d/SuSEconfig.fonts...
Creating fonts.{scale,dir} files ........
writing /etc/fonts/suse-font-dirs.conf
/etc/fonts/suse-hinting.conf unchanged
/etc/fonts/suse-bitmaps.conf unchanged
Creating cache files for fontconfig ............................
generating java font setup
Warning: cannot find a sans serif Japanese font. Japanese in Java might not work.
Warning: cannot find a serif Japanese font. Japanese in Java might not work.
Warning: cannot find a sans serif simplified Chinese font. Simplified Chinese in Java might not work.
Warning: cannot find a serif simplified Chinese font. Simplified Chinese in Java might not work.
Warning: cannot find a sans serif traditional Chinese font. Traditional Chinese in Java might not work.
Warning: cannot find a serif traditional Chinese font. Traditional Chinese in Java might not work.
Warning: cannot find a sans serif Korean font. Korean in Java might not work.
Warning: cannot find a serif Korean font. Korean in Java might not work.
Finished.


Retrieving package xorg-x11-server-extra-7.4-52.1.armv5tel (2/8), 6.3 MiB (26.5 MiB unpacked)
Installing: xorg-x11-server-extra-7.4-52.1 [done]
Retrieving package xorg-x11-proto-unstable-devel-7.3.99-3.1.armv5tel (3/8), 327.0 KiB (1.8 MiB unpacked)
Installing: xorg-x11-proto-unstable-devel-7.3.99-3.1 [done]
Retrieving package xorg-x11-server-rdp-7.3.99-6.1.armv5tel (4/8), 656.0 KiB (1.6 MiB unpacked)
Installing: xorg-x11-server-rdp-7.3.99-6.1 [done]
Retrieving package xorg-x11-driver-input-7.4-37.1.armv5tel (5/8), 349.0 KiB (996.0 KiB unpacked)
Installing: xorg-x11-driver-input-7.4-37.1 [done]
Retrieving package xorg-x11-libxcb-unstable-devel-7.3.99-2.9.armv5tel (6/8), 262.0 KiB (2.8 MiB unpacked)
Installing: xorg-x11-libxcb-unstable-devel-7.3.99-2.9 [done]
Retrieving package xorg-x11-libX11-unstable-devel-7.3.99-3.1.armv5tel (7/8), 1.7 MiB (3.0 MiB unpacked)
Installing: xorg-x11-libX11-unstable-devel-7.3.99-3.1 [done]
Retrieving package xorg-x11-libXext-unstable-devel-7.3.99-2.8.armv5tel (8/8), 81.0 KiB (154.0 KiB unpacked)
Installing: xorg-x11-libXext-unstable-devel-7.3.99-2.8 [done]
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault


zypper is now able to install packages. The segfault at the end can be backtraced to:

(gdb) bt
#0  0x00000020 in ?? ()
#1  0x423ad684 in putStream (message_r=<value optimized out>, line_r=<value optimized out>, func_r=<value optimized out>,
    level_r=<value optimized out>, this=<value optimized out>, file_r=<value optimized out>, group_r=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/base/LogControl.cc:295
#2  putStream (message_r=<value optimized out>, line_r=<value optimized out>, func_r=<value optimized out>,
    level_r=<value optimized out>, this=<value optimized out>, file_r=<value optimized out>, group_r=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/base/LogControl.cc:376
#3  zypp::base::logger::Loglinebuf::writeout (message_r=<value optimized out>, line_r=<value optimized out>,
    func_r=<value optimized out>, level_r=<value optimized out>, this=<value optimized out>, file_r=<value optimized out>,
    group_r=<value optimized out>) at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/base/LogControl.cc:155
#4  0x423aa8ac in zypp::base::logger::Loglinebuf::overflow (this=0x4006eba0, ch=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/base/LogControl.cc:141
#5  0x425aca08 in std::basic_ostream<char, std::char_traits<char> >::put(char) () from /usr/lib/libstdc++.so.6
#6  0x425acaf4 in std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&) () from /usr/lib/libstdc++.so.6
#7  0x4219aa4c in operator<< (this=<value optimized out>, __pf=<value optimized out>) at /usr/include/c++/4.4/ostream:113
#8  zypp::media::MediaHandler::release (this=<value optimized out>, __pf=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/media/MediaHandler.cc:701
#9  0x42193b7c in zypp::media::MediaAccess::close (this=0x3afc50) at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/media/MediaAccess.cc:224
#10 0x42194918 in zypp::media::MediaAccess::~MediaAccess (this=0x4006eba0, __in_chrg=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/media/MediaAccess.cc:59
#11 0x421dcf08 in checked_delete<zypp::media::MediaAccess> (x=<value optimized out>) at //usr/include/boost/checked_delete.hpp:34
#12 boost::detail::sp_counted_impl_p<zypp::media::MediaAccess>::dispose (x=<value optimized out>)
    at //usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
#13 0x0004d7ac in release (this=<value optimized out>) at //usr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp:102
#14 boost::detail::shared_count::~shared_count (this=<value optimized out>) at //usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#15 0x421da0c8 in ~shared_ptr (this=<value optimized out>, __in_chrg=<value optimized out>)
    at //usr/include/boost/smart_ptr/shared_ptr.hpp:160
#16 ~RW_pointer (this=<value optimized out>, __in_chrg=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/base/PtrTypes.h:266
#17 ~ManagedMedia (this=<value optimized out>, __in_chrg=<value optimized out>)
    at /usr/src/packages/BUILD/libzypp-6.14.2/zypp/media/MediaManager.cc:54
#18 ~pair (this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/bits/stl_pair.h:68
#19 destroy (this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/ext/new_allocator.h:115
#20 _M_destroy_node (this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:383
#21 std::_Rb_tree<unsigned int, std::pair<const unsigned int, zypp::media::<unnamed>::ManagedMedia>, std::_Select1st<std::pair<const unsigned int, zypp::media::<unnamed>::ManagedMedia> >, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, zypp::media::<unnamed>::ManagedMedia> > >::_M_erase(std::_Rb_tree_node<std::pair<const unsigned int, zypp::media::<unnamed>::ManagedMedia> > *) (
    this=<value optimized out>, __in_chrg=<value optimized out>) at /usr/include/c++/4.4/bits/stl_tree.h:972
#22 0x421dd880 in boost::detail::sp_counted_impl_p<zypp::media::MediaManager_Impl>::dispose() () from /usr/lib/libzypp.so.611
#23 0x0004d7ac in release (this=<value optimized out>) at //usr/include/boost/smart_ptr/detail/sp_counted_base_spin.hpp:102
#24 boost::detail::shared_count::~shared_count (this=<value optimized out>) at //usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#25 0x421dd47c in zypp::RW_pointer<zypp::media::MediaManager_Impl, zypp::rw_pointer::Shared<zypp::media::MediaManager_Impl> >::~RW_pointer(---Type <return> to continue, or q <return> to quit---
) () from /usr/lib/libzypp.so.611
#26 0x426fad38 in __cxa_finalize (d=0x424aa980) at cxa_finalize.c:56
#27 0x42156fe8 in __do_global_dtors_aux () from /usr/lib/libzypp.so.611
#28 0x4007f76c in _dl_fini () at dl-fini.c:243
#29 0x426fa954 in __run_exit_handlers (status=0, listp=0x42811454, run_list_atexit=true) at exit.c:78
#30 0x426fa954 in __run_exit_handlers (status=0, listp=0x42811454, run_list_atexit=true) at exit.c:78
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Comment 17 Michael Andres 2009-09-23 12:02:29 UTC
Is this with or without the patch from comment #15?
Comment 18 Michael Andres 2009-10-26 10:18:44 UTC
No more negative feedback, so it seems to work now; otherwise reopen.