Bug 339756

Summary: Image Creator consumes a huge amount of resources and then fails
Product: [openSUSE] openSUSE 10.3 Reporter: Cornelius Schumacher <cschum>
Component: YaST2Assignee: Ladislav Slezák <lslezak>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P5 - None CC: jsuchome, schubi, tgoettlicher
Version: Final   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST log
Patch for /usr/share/YaST2/include/product-creator/dialogs.ycp

Description Cornelius Schumacher 2007-11-07 10:21:37 UTC
I tried to use the Image Creator to build a Fate appliance.

After starting the creator and filling out the fields on the first page I added the Fate repository from the Build Service and started the software selection. It took something like twenty minutes until it actually appeared. During this time the message "Reading package database" was displayed. YaST was using something like 500 MB of RAM at this point.

After that I clicked on a selection to remove it and the message "Checking dependencies" was shown. It took another 40 minutes and 500 MB of RAM until this was done.

Finally I was able to select Fate and clicked on done. I was returned to the non-detailed package view and when I clicked "next", YaST was closed instead of allowing to build the image.
Comment 1 Cyril Hrubis 2007-11-08 11:08:00 UTC
Please attach y2logs. If you are in doubt follow:

http://en.opensuse.org/Bugs/YaST

Thanks!
Comment 2 Cornelius Schumacher 2007-11-08 13:51:10 UTC
Created attachment 182615 [details]
YaST log
Comment 3 Thomas Göttlicher 2007-11-12 09:49:20 UTC
Reassigning to maintainer.
Comment 4 Ladislav Slezák 2007-11-12 12:51:35 UTC
It seems that the solver desperately searches for the solution:

2007-11-07 09:51:42 <1> monalisa(20587) [wfm] product-creator/dialogs.ycp:944 Pkg Builtin called: PkgSolve
2007-11-07 09:51:42 <1> monalisa(20587) [zypp] Resolver.cc(resolvePool):1289 pool has been CHANGED --> resetting solverresults
2007-11-07 09:51:42 <1> monalisa(20587) [zypp] Resolver.cc(resolvePool):1318 Resolver::resolvePool()
2007-11-07 09:51:43 <1> monalisa(20587) [zypp] Resolver.cc(resolveDependencies):881 Resolver::resolveDependencies()
2007-11-07 09:51:43 <1> monalisa(20587) [zypp] QueueItemRequire.cc(process):589 Have 2 providers for [package] (namedcap) libXaw8.so.8

...

2007-11-07 09:51:45 <1> monalisa(20587) [zypp] QueueItemRequire.cc(process):614 Look for language fallback ko:U__s_[S3:2][package]bundle-lang-common-ko-10.3-44.noarch
2007-11-07 09:51:45 <1> monalisa(20587) [zypp] QueueItemRequire.cc(process):614 Look for language fallback ca:U__s_[S3:2][package]bundle-lang-common-ca-10.3-44.noarch

...

2007-11-07 09:51:49 <1> monalisa(20587) [zypp] QueueItemRequire.cc(process):614 Look for language fallback cs:U__s_[S3:1][package]bundle-lang-common-cs-10.3-44.noarch
2007-11-07 10:11:33 <1> monalisa(20587) [zypp] Resolver.cc(resolveDependencies):1082 Max VALID solver runs ( 10 ) reached -> ex
it

The problem is that a language is not selected so the solver cannot choose the relevant language packages and it's trapped in a loop.
Comment 5 Ladislav Slezák 2007-11-12 13:04:19 UTC
Created attachment 182989 [details]
Patch for /usr/share/YaST2/include/product-creator/dialogs.ycp

This is a preliminary (simple) patch which sets the UI language in the package manager.

A better solution is to remember the languages set by user and preset them again in the next run.
Comment 6 Ladislav Slezák 2007-11-12 13:06:46 UTC
Jiri, we have to extend the API in runPackageSelector(), we need to pass a list with languages.
Comment 7 Jiří Suchomel 2007-11-12 13:18:25 UTC
I think your solution from comment 5 is actually better than extending the API. Anyway it is IMHO bug in solver which is unable to bring reasonable default value.
Comment 8 Ladislav Slezák 2007-11-12 16:02:56 UTC
Fixed in yast2-product-creator-2.16.5 (STABLE)