Bug 233685

Summary: zypper going into tight CPU loop (from cron, unsigned file question)
Product: [openSUSE] openSUSE 10.2 Reporter: Matthias Andree <matthias.andree>
Component: libzyppAssignee: Jan Kupec <jkupec>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: crrodriguez, mvidner
Version: Final   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Matthias Andree 2007-01-11 17:04:10 UTC
zypper-0.6.13-6 has burnt 37 minutes of CPU time here, on an Athlon XP 1800+ (1,4 GHz) machine -- apparently it got into an unterminated loop.

The command line is "zypper up -y -t patch --skip-interactive" as installed by YaST's automatic online update configuration facility.

Stracing zypper shows the following loop:

...
write(2, "(A)bort, (R)etry, (I)gnore?", 27) = 27
write(2, "\n", 1)                       = 1
write(2, "?", 1)                        = 1
write(2, "\n", 1)                       = 1
write(2, "(A)bort, (R)etry, (I)gnore?", 27) = 27
write(2, "\n", 1)                       = 1
write(2, "?", 1)                        = 1
write(2, "\n", 1)                       = 1
write(2, "(A)bort, (R)etry, (I)gnore?", 27) = 27
write(2, "\n", 1)                       = 1
write(2, "?", 1)                        = 1
write(2, "\n", 1)                       = 1
...

This is the stack backtrace after attaching GDB (only frames with symbolic names shown):

#3  0xb71ce5c7 in _IO_2_1_stderr_ () from /lib/libc.so.6
#4  0xb7154903 in __write_nocancel () from /lib/libc.so.6
#5  0xb71044d7 in _IO_new_file_write () from /lib/libc.so.6
#6  0xb71041a5 in new_do_write () from /lib/libc.so.6
#7  0xb710447f in _IO_new_do_write () from /lib/libc.so.6
#8  0xb7104da8 in _IO_new_file_overflow () from /lib/libc.so.6
#9  0xb7107633 in __overflow () from /lib/libc.so.6
#10 0xb71016c8 in putc () from /lib/libc.so.6
#11 0xb7282a7c in std::getline<char, std::char_traits<char>, std::allocator<char> > () from /usr/lib/libstdc++.so.6
#12 0xb7285c2d in std::ostream::put () from /usr/lib/libstdc++.so.6
#13 0xb7285d41 in std::endl<char, std::char_traits<char> > ()
   from /usr/lib/libstdc++.so.6
#14 0x08081987 in zypp::make_filter_begin<zypp::resfilter::ByKind, zypp::ResPool> ()
#15 0xb7c7834c in zypp::source::SourceImpl::provideFile ()
   from /usr/lib/libzypp.so.209
#16 0xb7cea69c in zypp::source::yum::YUMSourceImpl::downloadNeeded ()
   from /usr/lib/libzypp.so.209
#17 0xb7cf878e in zypp::source::yum::YUMSourceImpl::saveMetadataTo ()
   from /usr/lib/libzypp.so.209
#18 0xb7cf8dba in zypp::source::yum::YUMSourceImpl::storeMetadata ()
   from /usr/lib/libzypp.so.209
#19 0xb7cf935e in zypp::source::yum::YUMSourceImpl::factoryInit ()
   from /usr/lib/libzypp.so.209
#20 0xb7c72d9e in zypp::source::SourceImpl::factoryCtor ()
   from /usr/lib/libzypp.so.209
#21 0xb7ba8c46 in zypp::SourceFactory::createFrom ()
   from /usr/lib/libzypp.so.209
#22 0xb7bb4fcc in zypp::SourceManager::restore () from /usr/lib/libzypp.so.209
#23 0x0806673e in zypp::callback::ReceiveReport<zypp::DigestReport>::~ReceiveReport ()
#24 0x08066e05 in zypp::callback::ReceiveReport<zypp::DigestReport>::~ReceiveReport ()
#25 0x0805cb8a in zypp::KeyRingReport::askUserToAcceptUnsignedFile ()
#26 0x0805d6ab in zypp::KeyRingReport::askUserToAcceptUnsignedFile ()
#27 0xb70b9f9c in __libc_start_main () from /lib/libc.so.6
#28 0x08056081 in zypp::KeyRingReport::askUserToAcceptUnsignedFile ()
Comment 1 Martin Vidner 2007-02-27 13:32:56 UTC
Jano is taking over as the primary maintainer of zypper, I am a co-maintainer.
Comment 2 Jan Kupec 2007-07-17 13:03:01 UTC

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