Bug 391644

Summary: zypper loops when command line argument is (miss) given as package or capability
Product: [openSUSE] openSUSE 11.0 Reporter: Carlos Gonçalves <cgoncalves>
Component: libzyppAssignee: Jan Kupec <jkupec>
Status: RESOLVED FIXED QA Contact: Duncan Mac-Vicar <dmacvicar>
Severity: Critical    
Priority: P5 - None CC: robin.knapp
Version: Beta 3Flags: coolo: SHIP_STOPPER-
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: zypper logs

Description Carlos Gonçalves 2008-05-16 20:57:26 UTC
Created attachment 216103 [details]
zypper logs

Seems that any zypper command with --no-recommends makes zypper looping, using 100% of the CPU and A LOT of disk space with its logs.

Just to have an idea: leaving 'zypper in -t pattern KDE3 --no-recommends' for ~2minutes (Ctrl+C ftw!) took +700MB of space...
Comment 1 Carlos Gonçalves 2008-05-16 20:58:15 UTC
linux:/home/beta3 # du -sh /var/log/zypper.log
1003M   /var/log/zypper.log

JFYI ;-)
Comment 2 Robin Knapp 2008-05-17 12:22:31 UTC
This happens if you append options after the <name> argument.

I had the same when I called:

zypper -v install koffice2-kword --debug-solver


It loops here:

2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-misc.cc(install_remove):539 trying: =debug-solver edition: debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):315 capstr: =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):320 new capstr:  =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):325 new capstr:  = debug-solver 


Even if our syntax is wrong, zypper shouldn't be stuck in an endless loop; maybe it's the "--" which deselects and selects a package at once (my first guess)
Comment 3 Robin Knapp 2008-05-17 12:24:02 UTC
more context:

008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-misc.cc(install_remove):539 trying: -debug=solver edition: solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):315 capstr: -debug=solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):320 new capstr: -debug =solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):325 new capstr: -debug = solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-misc.cc(install_remove):539 trying: =debug-solver edition: debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):315 capstr: =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):320 new capstr:  =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):325 new capstr:  = debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-misc.cc(install_remove):539 trying: -debug=solver edition: solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):315 capstr: -debug=solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):320 new capstr: -debug =solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):325 new capstr: -debug = solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-misc.cc(install_remove):539 trying: =debug-solver edition: debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):315 capstr: =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):320 new capstr:  =debug-solver
2008-05-17 14:19:34 <0> linux(7556) [zypper] zypper-utils.cc(preparse_cap_str):325 new capstr:  = debug-solver
Comment 4 Duncan Mac-Vicar 2008-05-20 13:20:45 UTC
Fixed in zypper revision r10166, passing to Jan so he can close it when the package is submitted.
Comment 5 Jan Kupec 2008-05-23 09:27:47 UTC
submitted