Bug 309376

Summary: Install stops on Reading repository 'openSUSE-10.3-DVD 10.3' cache when installing as domU
Product: [openSUSE] openSUSE 10.3 Reporter: Stephen Shaw <stshaw>
Component: YaST2Assignee: Ladislav Slezák <lslezak>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Blocker    
Priority: P5 - None CC: coolo, gs, locilka, lslezak, mvidner, peter
Version: Beta 3   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: No install as DomU

Description Stephen Shaw 2007-09-10 22:48:27 UTC
Don't know why, but stops there.  top doesn't show anything as running either.  I have the y2log file, will attach.

This is on 32/64 amd/intel domain-0.  Beta 2 seemed to work without this problem.
Comment 1 Stephen Shaw 2007-09-10 22:49:17 UTC
Created attachment 163098 [details]
No install as DomU

This is the y2log from the domU. openSUSE 10.3 beta3  with or without additional repos it does this
Comment 3 Martin Vidner 2007-09-11 11:22:16 UTC
*** Bug 308529 has been marked as a duplicate of this bug. ***
Comment 4 Stanislav Visnovsky 2007-09-11 11:29:28 UTC
Might be the problem with missing 'reading cache' callback?
Comment 5 Ladislav Slezák 2007-09-11 11:49:00 UTC
No, all callbacks are called correctly:

2007-09-10 18:15:19 <1> linux(2433) [wfm] Callbacks.cc(start):435 ProgressStart: id:17, Building repository 'openSUSE-10.3-DVD 
10.3' cache
2007-09-10 18:15:29 <1> linux(2433) [wfm] Callbacks.cc(finish):472 ProgressFinish: id:17, Building repository 'openSUSE-10.3-DV
D 10.3' cache

2007-09-10 18:15:29 <1> linux(2433) [wfm] Callbacks.cc(start):435 ProgressStart: id:225, Reading repository 'openSUSE-10.3-DVD 10.3' cache
2007-09-10 18:15:31 <1> linux(2433) [wfm] Callbacks.cc(finish):472 ProgressFinish: id:225, Reading repository 'openSUSE-10.3-DVD 10.3' cache

2007-09-10 18:53:09 <1> linux(2433) [wfm] Callbacks.cc(start):435 ProgressStart: id:244, Adding repository 'openSUSE-10.3-DVD 10.3'
2007-09-10 18:53:09 <1> linux(2433) [wfm] Callbacks.cc(finish):472 ProgressFinish: id:244, Adding repository 'openSUSE-10.3-DVD 10.3'
Comment 6 Martin Vidner 2007-09-11 11:54:00 UTC
I think I got it... thanks to Stano for the hint.
See below how the progress popup is closed only if it contains `progress_widget, but the widget is only present if the UI supports animation.
Lada, please fix the callbacks.

PackageCallbacks.ycp:

global void ProgressEnd(integer id)
{
    y2milestone("ProgressFinish: %1", id);

    if (!Mode::commandline() && IsProgressPopup())
    {
        UI::CloseDialog();
    }
}

boolean IsProgressPopup()
{
    return UI::WidgetExists(`id(`progress_widget)) &&
      UI::WidgetExists(`id(`callback_progress_popup));
}

ProgressStart:
...
        if ( UI::GetDisplayInfo()["HasAnimationSupport"]:false )
        {
          progressw = `HVCenter(`MinSize( _tick_movie_x, _tick_movie_y, `ReplacePoint(`id(`rp_progress), `Image(`id (`progress_widget), `opt(`animated), _tick_movie, "progress_wi
        }
        else
        {
          string label = (tick_progress) ? tick_labels[current_tick]:"/" : sformat("%1: %2", progress_task, val_raw);
          progressw = `Label(label);
        }
Comment 7 Stanislav Visnovsky 2007-09-11 12:17:53 UTC
IsProgressPopup() is also the reason why the tick callback does not move at all.
Comment 8 Stephan Kulow 2007-09-11 12:33:12 UTC
is there an ETA?
Comment 9 Lukas Ocilka 2007-09-11 12:47:46 UTC
ETA is today :)

I've checked that during ProgressFinish in ncurses
  * `id(`progress_widget) doesn't exist
  * `id(`callback_progress_popup) exists

That's really why UI::CloseDialog() is not called...

Lslezak has a fix...
Comment 10 Ladislav Slezák 2007-09-11 13:44:57 UTC
Fixed in SVN rev. 40852.
Comment 11 Ladislav Slezák 2007-09-11 14:05:37 UTC
Fixed in yast2-packager-2.15.77
Comment 12 Stephen Shaw 2007-09-11 14:08:19 UTC
Thank you sooooo much.  I'm not able to test opensuse 10.3 as a domU without this.  How fast will this make it into factory? (so that I can install from factory) 
Comment 13 Lukas Ocilka 2007-09-11 14:16:41 UTC
yast2-packager-2.15.77 has been just sent to the autobuild...
Comment 14 Ladislav Slezák 2007-09-11 15:17:26 UTC
To comment #12: you should be able to install domU over ssh (with forwarded X) or over VNC, in Qt it works correctly.