Bug 301669

Summary: zypper segfaults when using non english letters in repo name
Product: [openSUSE] openSUSE 10.3 Reporter: Miquel A. Noguera <ibz>
Component: libzyppAssignee: Jan Kupec <jkupec>
Status: RESOLVED DUPLICATE QA Contact: Klaus Kämpf <kkaempf>
Severity: Major    
Priority: P5 - None CC: mvidner, nospamm
Version: Beta 1   
Target Milestone: ---   
Hardware: Other   
OS: openSUSE 10.3   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: gdb --args zypper update

Description Miquel A. Noguera 2007-08-18 17:12:19 UTC
hydros:~ # zypper nr Guru Gurú
Repository Guru renamed to Gurú
hydros:~ # zypper ref
Refreshing 'Packman'
Refreshing 'Gurú'
Refreshing 'rbos'
Refreshing 'oss'
Refreshing 'non-oss'
Refreshing 'Update'
All repositories have been refreshed.
hydros:~ # zypper update
* Reading repository 'packman' cache
* Reading repository 'Gurú' cache
Segmentation fault
hydros:~ #

:-(
Comment 1 Miquel A. Noguera 2007-08-18 17:17:46 UTC
hydros:~ # uname -r
2.6.22.3-3-default
hydros:~ # cat /etc/SuSE-release
openSUSE 10.3 (i586) Beta2
VERSION = 10.3
hydros:~ # rpm -qv zypper
zypper-0.8.11-2
hydros:~ #
Comment 2 Martin Vidner 2007-08-23 16:20:49 UTC
It works for me.

If you can still reproduce it, please
1) install zypper-debuginfo and libzypp-debuginfo
2) run "gdb --args zypper update" (or whatever command crashes)
3) "r"  to run zypper under the debugger
4) "bt" to get a stack backtrace - attach it here
Comment 3 Cristian Rodriguez 2007-08-23 23:40:35 UTC
Works for me as well.. I used repository names

"ñaca-ñaca" 
"ñìú€"

with 

 rpm -q libzypp zypper
libzypp-3.18.2-4
zypper-0.8.14-4
Comment 4 Miquel A. Noguera 2007-08-24 15:28:33 UTC
Created attachment 159755 [details]
gdb --args zypper update

Here you are the steps i followed:

hydros:/etc/apt # zypper sa http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.3/RPMS Gurú
* Adding repository 'Gurú'
Repository 'Gurú' successfully added:
Enabled: Yes
Autorefresh: Yes
URL: http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.3/RPMS

:-)

hydros:/etc/apt # zypper update
* Reading repository 'Gurú' cache
Segmentation fault

:-(

hydros:/etc/apt # zypper install zypper-debuginfo libzypp-debuginfo
* Reading repository 'Gurú' cache
Segmentation fault

:-(

hydros:/etc/apt # apt-get install zypper-debuginfo libzypp-debuginfo
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  libzypp-debuginfo zypper-debuginfo
0 upgraded, 2 newly installed, 0 removed and 0 not upgraded.
Need to get 20.8MB of archives.
After unpacking 60.1MB of additional disk space will be used.
Get:1 http://download.opensuse.org SL-OSS-factory-debug/inst-source-debug/suse/ libzypp-debuginfo 3.18.2-4 [20.5MB]
Get:2 http://download.opensuse.org SL-OSS-factory-debug/inst-source-debug/suse/ zypper-debuginfo 0.8.14-4 [232kB]
Fetched 20.8MB in 8m35s (40.2kB/s)
Checking GPG signatures...
Committing changes...
Preparing...                ########################################### [100%]
   1:libzypp-debuginfo      ########################################### [ 50%]
   2:zypper-debuginfo       ########################################### [100%]
Done.

:-)
Comment 5 Cristian Rodriguez 2007-08-24 19:46:40 UTC
(In reply to comment #4 from Miquel A. Noguera)

> hydros:/etc/apt # zypper update
> * Reading repository 'Gurú' cache
> Segmentation fault
> 
> :-(
> 
>

works for me again .. 

martin : can this be influenced by the locale ?

Miquel: what is your locale  (type locale without arguments in the command line)
Comment 6 Cristian Rodriguez 2007-08-24 20:06:47 UTC
ohh.. I can reproduce it now :(


#zypper sa
http://ftp.gwdg.de/pub/linux/misc/suser-guru/rpm/10.3/RPMS Gurú

# zypper update -t package

 Reading repository 'Various php-applications (openSUSE_Factory)' cache
* Reading repository 'http://download.opensuse.org/distribution/SL-OSS-factory/inst-source/' cache
* Reading repository 'http://download.opensuse.org/distribution/SL-Factory-non-oss/inst-source-extra/' cache
* Reading repository 'PHP extensions (openSUSE_Factory)' cache
* Reading repository 'Gurú' cache
Segmentation fault (oops)

(gdb) bt full
#0  0xb785b6ef in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string () from /usr/lib/libstdc++.so.6
No symbol table info available.
#1  0xb7acd7c1 in zypp::RWCOW_pointer<zypp::ProgressData::Data, zypp::rw_pointer::Shared<zypp::ProgressData::Data> >::assertUnshared (this=0xbfba5b7c)
    at /usr/src/debug/libzypp-3.18.2/zypp/ProgressData.h:150
No locals.
#2  0xb7dc6ea4 in zypp::CombinedProgressData::operator() (this=0xa5e0670, progress=@0x9adf478) at /usr/src/debug/libzypp-3.18.2/zypp/base/PtrTypes.h:404
No locals.
#3  0xb7afc824 in boost::detail::function::function_obj_invoker1<zypp::CombinedProgressData, bool, zypp::ProgressData const&>::invoke (function_obj_ptr=
      {obj_ptr = 0xa5e0670, const_obj_ptr = 0xa5e0670, func_ptr = 0xa5e0670, data = "p"}, a0=@0x9adf478) at /usr/include/boost/function/function_template.hpp:119
No locals.
#4  0xb7dc7087 in boost::function1<bool, zypp::ProgressData const&, std::allocator<void> >::operator() (this=0x8ce6190, a0=@0x9adf478)
    at /usr/include/boost/function/function_template.hpp:576
No locals.
#5  0xb7dc64ce in zypp::ProgressData::report (this=0x9adf478) at /usr/src/debug/libzypp-3.18.2/zypp/ProgressData.cc:74
        newVal = 4455366304
        goOn = <value optimized out>
        __FUNCTION__ = "report"
#6  0xb7bfed9f in ~RepoImpl (this=0x9adf390) at /usr/src/debug/libzypp-3.18.2/zypp/ProgressData.h:200
No locals.
#7  0xb7bdf3e0 in zypp::repo::intrusive_ptr_release (ptr_r=0x9adf390) at /usr/src/debug/libzypp-3.18.2/zypp/base/ReferenceCounted.h:80
No locals.
#8  0x080a01bd in �
                   $�&�����9��� ()
No symbol table info available.
#9  0x080a9e66 in cond_load_resolvables ()
No symbol table info available.
#10 0x08074d53 in � ()
No symbol table info available.
#11 0x08075391 in �U��E� ()
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#12 0x0807781a in �}� t8�m�tB�Mȸ ()
No symbol table info available.
Comment 7 Cristian Rodriguez 2007-08-24 21:06:35 UTC
looks like this is the same issue of #299543
Comment 8 Peter Buschbacher 2007-08-24 22:21:33 UTC
I'm not 100% sure if this is the same as bug #299543 as I can't find 'locals' or 'symbol table' in the backtrack there, but I made it just with 'bt' not with 'bt full' and from yast2 sw_single and not from zypper, while the Problem there seems to be in zypper.
The guru Repository is a bad example for this one because it's not set up yet and contains no packages now - just some metadata. Please try if there is a problem with non-english letters with a working repository. Then we have two different bugs. I'd suggest to rename 'factory-debug' to something else because it is not too big and refreshes faster.
 
Comment 9 Miquel A. Noguera 2007-08-25 08:55:28 UTC
miquel@hydros:~> locale
LANG=es_ES.UTF-8
LC_CTYPE="es_ES.UTF-8"
LC_NUMERIC="es_ES.UTF-8"
LC_TIME="es_ES.UTF-8"
LC_COLLATE="es_ES.UTF-8"
LC_MONETARY="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"
LC_PAPER="es_ES.UTF-8"
LC_NAME="es_ES.UTF-8"
LC_ADDRESS="es_ES.UTF-8"
LC_TELEPHONE="es_ES.UTF-8"
LC_MEASUREMENT="es_ES.UTF-8"
LC_IDENTIFICATION="es_ES.UTF-8"
LC_ALL=

miquel@hydros:~> su -
Contraseña:
hydros:~ # locale
LANG=POSIX
LC_CTYPE=es_ES.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
hydros:~ #
Comment 10 Klaus Kämpf 2007-08-29 15:49:18 UTC

*** This bug has been marked as a duplicate of bug 299680 ***