Bug 395464

Summary: UI:installation-second-stage: Making a screenshot kills YaST /AKA/ Can't run YOU because of missing update repository. But I did update configuration during installation.
Product: [openSUSE] openSUSE 11.0 Reporter: Ladislav Michnovic <lmichnovic>
Component: YaST2Assignee: Stefan Hundhammer <shundhammer>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Blocker    
Priority: P2 - High CC: dmacvicar, forgotten_h13THG8RK1, locilka, lslezak, michael.meeks, tgoettlicher
Version: RC 1Flags: visnov: SHIP_STOPPER?
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 396372    
Attachments: y2logs

Description Ladislav Michnovic 2008-05-29 15:13:22 UTC
Created attachment 218917 [details]
y2logs

Running Yast Online Update shows me error: No active update repository available.
But I did update configuration during installation and wrote it was me succesfull.
Comment 1 Stanislav Visnovsky 2008-06-02 12:25:15 UTC
What is the output of 'zypper lr -d'
Comment 2 Ladislav Michnovic 2008-06-02 12:28:00 UTC
I have already reinstalled the machine. ;(
Comment 3 Ladislav Michnovic 2008-06-02 12:29:48 UTC
But zypper sl showed me only one repository. The installation media.
Comment 4 Stanislav Visnovsky 2008-06-02 12:44:55 UTC
Lado, any idea? inst_suse_register seems to add the repository for updates.
Comment 5 Ladislav Slezák 2008-06-02 13:03:23 UTC
Accoding to the logs Pkg::SourceSaveAll() call is missing. The update repository is registered and correctly used during installation. But it is not saved to the installed system, it's simply lost :-(

inst_suse_register.ycp contains this code:

    if (Mode::normal())
    {   // (bnc#395333)
        y2milestone ("Current sources: %1",  Pkg::SourceGetCurrent (true));
        // #172665
        Pkg::SourceSaveAll();
        Pkg::TargetFinish ();
        Wizard::CloseDialog();
    }


So the repositories are save only in a running system, not in installation.
Comment 7 Lukas Ocilka 2008-06-02 13:22:36 UTC
I don't think this is correct ...
Well, sources SHOULD be stored after they are registered but the reason why they weren't is different:

In the final dialog:
2008-05-29 13:20:33 <3> linux-p2mm(4290) [liby2] genericfrontend.cc(log_backtrace):97 Back trace:

   Frame  0: /usr/lib/liby2.so.2  log_backtrace()
   Frame  1: /usr/lib/liby2.so.2  signal_handler(int)
   Frame  2: [0xffffe400]
   Frame  3: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGApplication::makeScreenShot(std::string)
   Frame  4: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGUI::makeScreenShot()
   Frame  5: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGWindow::key_pressed_cb(_GtkWidget*, _GdkEventKey*, YGWindow*)
   Frame  6: /usr/lib/libgtk-x11-2.0.so.0 [0xb6f3fe16]
   Frame  7: /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x1ab) [0xb6c2ac3b]
Comment 8 Lukas Ocilka 2008-06-02 13:23:51 UTC
...Installation itself always stores sources when finishing YaST.
(I'd need to check this twice to be 135% sure)
Comment 9 Ladislav Slezák 2008-06-02 13:29:49 UTC
Lukas, you are right, I overlooked the segfault.

2008-05-29 13:20:05 <1> linux-p2mm(4290) [gtk] YGDialog.cc(key_pressed_cb):295 Caught YaST2 magic key combination
2008-05-29 13:20:33 <3> linux-p2mm(4290) [gtk] YGUI.cc(makeScreenShot):417 Couldn't save screen shot /root/yast2-000.png
2008-05-29 13:20:33 <3> linux-p2mm(4290) [liby2] genericfrontend.cc(signal_handler):149 got signal 11 at YCP file Wizard.ycp:593

It looks like an UI related problem.
Comment 10 Lukas Ocilka 2008-06-02 13:31:17 UTC
It seems that YGApplication::makeScreenShot(std::string) kills YaST.

HuHa: Please, try to find out what was wrong. Does the PrintScreen *always* kill the second stage?
Comment 11 Ladislav Michnovic 2008-06-02 13:52:09 UTC
(In reply to comment #10 from Lukas Ocilka)
> It seems that YGApplication::makeScreenShot(std::string) kills YaST.
> 
> HuHa: Please, try to find out what was wrong. Does the PrintScreen *always*
> kill the second stage?
> 

I'm sorry for not mentioning the segfault explicitly in the description. 
I reported the screenshot segfault as bug #395484.
Comment 12 Stephan Kulow 2008-06-02 14:16:29 UTC
the crash is in Y_G_dialog

*** This bug has been marked as a duplicate of bug 395484 ***
Comment 13 Duncan Mac-Vicar 2008-06-02 14:18:17 UTC
Not a bug on registration.

2008-05-29 13:06:00 <1> linux-p2mm(4290) [zypp] RepoManager.cc(buildCache):763 repo type is rpm-md
2008-05-29 13:06:00 <1> linux-p2mm(4290) [zypp] RepoManager.cc(buildCache):788 Executing: repo2solv.sh "/var/cache/zypp/raw/openSUSE-11.0-Updates" > "/var/cache/zypp/solv/openSUSE-11.0-Updates/solv"
2008-05-29 13:06:00 <1> linux-p2mm(4290) [zypp] RepoManager.cc(buildCache):842 Commit cache..
2008-05-29 13:06:00 <1> linux-p2mm(4290) [Pkg] Callbacks.cc(progress):454 ProgressProgress: id:19, Vytváram medzipamäť repozitára 'openSUSE-11.0-Updates': 0%
2008-05-29 13:06:00 <1> linux-p2mm(4290) [Pkg] Callbacks.cc(finish):471 ProgressFinish: id:19, Vytváram medzipamäť repozitára 'openSUSE-11.0-Updates'
2008-05-29 13:06:00 <1> linux-p2mm(4290) [YCP] PackageCallbacks.ycp:2493 ProgressFinish: 19
2008-05-29 13:06:00 <1> linux-p2mm(4290) [YCP] PackageCallbacks.ycp:2627 Setting stage: 3
2008-05-29 13:06:00 <1> linux-p2mm(4290) [Pkg] PkgProgress.cc(_receiver):95 PkgReceiver progress: 80 (80%), running: true
2008-05-29 13:06:00 <1> linux-p2mm(4290) [Pkg] Source_Create.cc(createManagedSource):353 Added source 'openSUSE-11.0-Updates': 'http://download.opensuse.org/update/11.0/', enabled: true, autorefresh: true
2008-05-29 13:06:00 <1> linux-p2mm(4290) [YCP] PackageCallbacks.ycp:2627 Setting stage: 4
2008-05-29 13:06:00 <1> linux-p2mm(4290) [Pkg] Source_Resolvables.cc(LoadResolvablesFrom):70 Loading resolvables from 'openSUSE-11.0-Updates', pool size at start: 6491

Actually the repository is correctly added. 

Then I see:

2008-05-29 13:15:08 <1> linux-p2mm(4290) [YCP] clients/inst_extrasources.ycp:135 Registered sources: ["http://cml.suse.cz/netboot/find/openSUSE-11.0-RC1-DVD-i386-Build0131-DVD1", "http://download.opensuse.org/update/11.0/"]
2008-05-29 13:15:08 <1> linux-p2mm(4290) [YCP] clients/inst_extrasources.ycp:45 Already registered: http://download.opensuse.org/update/11.0/

Then I see a crash:

2008-05-29 13:20:05 <0> linux-p2mm(4290) [gtk] YGUI.cc(makeScreenShot):402 screenshot: /root/yast2--000.png
2008-05-29 13:20:33 <0> linux-p2mm(4290) [gtk] YGUI.cc(makeScreenShot):415 Saving screen shot to /root/yast2-000.png
2008-05-29 13:20:33 <3> linux-p2mm(4290) [liby2] genericfrontend.cc(log_stored_debug):75 End of suppressed debugging messages
2008-05-29 13:20:33 <3> linux-p2mm(4290) [liby2] genericfrontend.cc(log_backtrace):97 Back trace:

   Frame  0: /usr/lib/liby2.so.2  log_backtrace()
   Frame  1: /usr/lib/liby2.so.2  signal_handler(int)
   Frame  2: [0xffffe400]
   Frame  3: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGApplication::makeScreenShot(std::string)
   Frame  4: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGUI::makeScreenShot()
   Frame  5: /usr/lib/YaST2/plugin/libpy2gtk.so.2  YGWindow::key_pressed_cb(_GtkWidget*, _GdkEventKey*, YGWindow*)
   Frame  6: /usr/lib/libgtk-x11-2.0.so.0 [0xb6f3fe16]

 think your repo was lost in another way.


Comment 14 Lukas Ocilka 2008-06-02 14:23:15 UTC
Duncan, the new repo was added but not stored (because of that crash) ...
Anyway, will be solved as bug 395484.