Bug 5104 - candidate update of urpmi for mga1 (urpmi-6.40.2)
Summary: candidate update of urpmi for mga1 (urpmi-6.40.2)
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 1
Hardware: All Linux
Priority: Normal major
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard:
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2012-03-25 22:16 CEST by Thierry Vignaud
Modified: 2012-03-29 09:04 CEST (History)
4 users (show)

See Also:
Source RPM: urpmi-6.40.3
CVE:
Status comment:


Attachments
Shows gurpmi stalled soon after it started. (260.66 KB, image/png)
2012-03-26 15:02 CEST, claire robinson
Details
Shows the failure after it restarted 10 mins later. (63.05 KB, image/png)
2012-03-26 15:03 CEST, claire robinson
Details

Description Thierry Vignaud 2012-03-25 22:16:01 CEST
We need to push this fix to mga1 users prior to mga2 coming out and thus before we offer them to live upgrade to mga2.

Advisory:
==========
This update of urpmi fixes gurpmi so that, when performing a live upgrade, it updates the necessary packages it needs (mga#5066).

How to test:
============
See Bug #5066.
Try to perform a live upgrade from mga1 to cauldron:
- save your virtual machine
- urpmi.removemedia -a
- add cauldron media
- run guprmi --auto-select

It will fail.

Restore your VM
Apply this update.
Now gurpmi will install perl-{Glib,Gtk2} as priority upgrades prior to restart, thus enabling live upgrade to work
Comment 1 Thierry Vignaud 2012-03-25 22:22:21 CEST
Makes that urpmi-6.40.3

Source RPM: urpmi => urpmi-6.40.3

Comment 2 Dave Hodgins 2012-03-25 23:33:54 CEST
Note for qa testers, you can use
urpmi.update Core
urpmi --media "Core Updates Testing" urpmi gurpmi

to install just these two packages from testing.

I'll be testing i586 shortly.

CC: (none) => davidwhodgins

Comment 3 Dave Hodgins 2012-03-26 00:17:11 CEST
Testing complete on i586 for the srpm
urpmi-6.40.3-1.mga1.src.rpm

I restored my Mageia 1 test install using an image that contains
a clean kde+gnome+lxdm install + updates, installed the updats
testing urpmi and gurpmi packages, then used mgaapplet-cauldron
from bug 5065 to start the upgrade to Cauldron, and let it run
until after urpmi restarted, and it started installing the bulk
of distro upgrade.
Comment 4 claire robinson 2012-03-26 09:44:06 CEST
testing x86_64
Comment 5 Luan Pham 2012-03-26 10:12:57 CEST
Complete testing on i586 environment and everything work after 3 hours upgrade.

CC: (none) => pham182b

Comment 6 claire robinson 2012-03-26 10:53:29 CEST
On a minimal installation, without a DE gurpmi fails with..

Gtk-WARNING **: cannot open display: at /usr/bin/gurpmi line 29
Comment 7 claire robinson 2012-03-26 11:19:22 CEST
gurpmi only works inside an running DE. Even after installing task-gnome, running drakx11 and rebooting it didn't failed with the same message until I started gnome and ran it in a terminal.
Comment 8 claire robinson 2012-03-26 11:20:10 CEST
s/didn't failed/failed/
Comment 9 Thierry Vignaud 2012-03-26 11:30:17 CEST
That's unrelated to this update
Comment 10 claire robinson 2012-03-26 12:49:56 CEST
Agreed that this is not a regression but it is missing dependencies Thierry.
Comment 11 claire robinson 2012-03-26 13:49:50 CEST
Trying to reproduce the problem..

I've noticed that it stalls. It's probably down to the mirror but it doesn't seem to get going again. I have to use ctrl-c to kill it and restart the process.

It sits at 0% of any particular package waiting for the download to start, which never does. It doesn't seem to timeout and restart the download, or possibly does and I didn't leave it long enough, but I did leave it for a good while.

After downloading 67 packages and updating gurpmi it gives a message that the computer should be restarted for glibc but clicking Ok then carries on anyway.

# rpm -q gurpmi
gurpmi-6.40.1-1.mga1

# urpmi.removemedia -a

# urpmi.addmedia --distrib ftp://ftp.linuxcabal.org/pub/mirrors/Mageia/distrib/cauldron/x86_64

restarting urpmi                                                              
*** This build of Gtk2 was compiled with gtk+ 2.24.8, but is currently running with 2.24.4, which is too old.  We'll continue, but expect problems!
urpmi was restarted, and the list of priority packages did not change

I've not been able to reproduce the failure in the existing package beyond noticing this message and the request to reboot. I've tried several times now with gnome and lxde DE's. It also stalled during the upgrade process downloading 767 packages.

I'll try the update candidate
Comment 12 claire robinson 2012-03-26 15:01:24 CEST
# rpm -q gurpmi
gurpmi-6.40.3-1.mga1

No difference noticed.

It did not complete the upgrade due to stalling, it didn't get very far at all.

After 9-10 minutes it continued but failed after a few seconds saying it was missing the package that it had failed on. It asked if I wanted to try and continue anyway and saying No exited gurpmi.

The error in terminal when it continued was..

... retrieving failed: curl: (56) Recv failure: Connection reset by peer

I took some screenshots to show what I mean.
Comment 13 claire robinson 2012-03-26 15:02:32 CEST
Created attachment 1856 [details]
Shows gurpmi stalled soon after it started.
Comment 14 claire robinson 2012-03-26 15:03:20 CEST
Created attachment 1857 [details]
Shows the failure after it restarted 10 mins later.
Comment 15 Thierry Vignaud 2012-03-26 15:16:50 CEST
That's totally related to the changes.
What's more your screenshot show that you're using linuxcabal which is quite slow and unreliable for 2 weeks
Comment 16 claire robinson 2012-03-26 15:32:36 CEST
Trying with a different mirror it still stalls.

...retrieving failed: curl: (28) connect() timed out!

It seems not to handle curl connection errors very well.
Comment 17 claire robinson 2012-03-26 15:34:08 CEST
I'm just attempting to find problems, that is the whole point of QA isn't it??

We may as well not bother otherwise.

This mirror is a 10Gb ftp://ftp.fi.muni.cz
Comment 18 claire robinson 2012-03-26 15:36:20 CEST
I will not bother with further testing and allow somebody else to 'Ok' it for you.

Currently, I've not been able to reproduce the problem and not noticed any difference with the update candidate.

I have found several 'unrelated' issues though.
Comment 19 Dave Hodgins 2012-03-26 19:34:12 CEST
Claire, For the test are you starting with a Mageia 1 install without
updates testing enabled?

Are you using the mgaapplet-cauldron from bug 5065?

I've now done i586 upgrades using this for kde, gnome, and lxde installs.
Comment 20 claire robinson 2012-03-26 19:51:27 CEST
Yes to without updates testing Dave. I was using # gurpmi --auto-select

I've tried it with gnome/lxde and with existing/candidate installed. Started from a bare bones minimal installation and used drakx11 and urpmi task-lxde or task-gnome. I haven't tried with kde though but after spending 5 hours on it, and apparently wasting my time (comment 9 & comment 15), I've been unable to reproduce the error you found.

Apart from that though, it doesn't actually work anyway.
Comment 21 Dave Hodgins 2012-03-26 22:17:14 CEST
The bug only shows up when using gurpmi to upgrade from Mageia 1
to cauldron.  The only change is adding requires to ensure all
needed packages get installed from cauldron, before urpmi restarts.
Comment 22 claire robinson 2012-03-27 01:53:36 CEST
Thats right Dave yeah. It doesn't show up for me though x86_64. It installs 60 odd packages and restarts with or without the update candidate.

In the process of testing though I found that it is either missing dependencies or a check for an X environment and an error message. It has to be run inside a terminal in an X environment and fails with a cryptic message without it. A test for X and meaningful error message would be a good solution or adding the necessary requires.

It also stalls and fails whenever there is any issue with the download process which, during an upgrade, is a substantial process. 

It stalled and failed every single time for me, not only during the upgrade process but also in the process of downloading priority packages before it restarts to begin the upgrade process. Checked with various mirrors. It doesn't handle curl errors at all from what I can tell.

It also gives or rather doesn't suppress a warning requesting a reboot when glibc is installed, it carries on anyway when the warning is accepted without rebooting.
Comment 23 Dave Hodgins 2012-03-27 02:46:40 CEST
(In reply to comment #22)
> Thats right Dave yeah. It doesn't show up for me though x86_64. It installs 60
> odd packages and restarts with or without the update candidate.

I'm very surprised that it would work without the update
candidate.

> In the process of testing though I found that it is either missing dependencies
> or a check for an X environment and an error message. It has to be run inside a
> terminal in an X environment and fails with a cryptic message without it. A
> test for X and meaningful error message would be a good solution or adding the
> necessary requires.

$ rpm -q -i gurpmi|grep Summary
Summary     : User mode rpm GUI install

Most gui programs behave the same way.

> It also stalls and fails whenever there is any issue with the download process
> which, during an upgrade, is a substantial process. 
> 
> It stalled and failed every single time for me, not only during the upgrade
> process but also in the process of downloading priority packages before it
> restarts to begin the upgrade process. Checked with various mirrors. It doesn't
> handle curl errors at all from what I can tell.

Ouch.  That would get frustrating very quickly.  But, I don't think
that's a regression.  Would you mind opening a new bug report on
gurpmi and validating this one, as without this update, the
mgaapplet-cauldron will not work (at least on i586), even for
people who are not having mirror problems.

> It also gives or rather doesn't suppress a warning requesting a reboot when
> glibc is installed, it carries on anyway when the warning is accepted without
> rebooting.

I agree that's something that should be looked at. Possibly the warning
message about the need for a good internet connection, to also warn about the need to ignore messages "should reboot for ...", or something
to that affect.  Again though, that would be a new bug report about
mgaonline, not urpmi/gurpmi.
Comment 24 claire robinson 2012-03-27 11:33:03 CEST
(In reply to comment #23)
> (In reply to comment #22)
> > Thats right Dave yeah. It doesn't show up for me though x86_64. It installs 60
> > odd packages and restarts with or without the update candidate.
> 
> I'm very surprised that it would work without the update
> candidate.


You are absolutely right Dave! I have double checked my method this morning, I have been using urpmi-6.40.3-1 with gurpmi-6.40.1-1 so gurpmi was restarting without error. I apologise for the confusion.

# rpm -qa | grep urpmi
gurpmi-6.40.1-1.mga1
urpmi-6.40.1-1.mga1

installing
perl-Gtk2-1.242.0-2.mga2.x86_64.rpm
perl-Glib-1.251.0-2.mga2.x86_64.rpm
created transaction for installing on / (remove=0, install=0, upgrade=62)
removing upgraded package perl-Gtk2-1.230.0-5.mga1.x86_64
removing upgraded package perl-Glib-1.230.0-8.mga1.x86_64

restarting urpmi                                                              
urpmi was restarted, and the list of priority packages did change: rpm,perl-URPM,perl-MDV-Distribconf,urpmi,meta-task,glibc,aria2,gurpmi vs rpm,perl-URPM,perl-MDV-Distribconf,urpmi,meta-task,glibc,aria2,gurpmi,perl-Glib,perl-Gtk2

/usr/bin/perl: symbol lookup error: /usr/lib/../lib64/libgdk-x11-2.0.so.0: undefined symbol: _XGetRequest


So I can reproduce the initial bug.


I am not sure we should be validating something which consistently fails at the one thing it is supposed to do, but I'll create separate bugs for the other bugs as there is obviously no interest in addressing them here. We have fallen foul of doing this in the past and I don't think it is a good way of working so I am loath to do so.
Comment 25 claire robinson 2012-03-27 12:29:43 CEST
bug 5125 and bug 5126 created.
Comment 26 Dave Hodgins 2012-03-29 04:45:53 CEST
I'll go ahead and validate this one as Claire testing does
show that the bug exists and is fixed in x86-64.

Could someone from the sysadmin team push the srpm
urpmi-6.40.3-1.mga1.src.rpm
from Core Updates Testing to Core Updates.

Advisory.  This update to gurpmi fixes a problem that would
prevent upgrading from Mageia 1 to Mageia 2.
Comment 27 Dave Hodgins 2012-03-29 04:47:51 CEST
Sorry, Really validating this time.

Could someone from the sysadmin team push the srpm
urpmi-6.40.3-1.mga1.src.rpm
from Core Updates Testing to Core Updates.

Advisory.  This update to gurpmi fixes a problem that would
prevent upgrading from Mageia 1 to Mageia 2.

https://bugs.mageia.org/show_bug.cgi?id=5104

Keywords: (none) => validated_update
CC: (none) => sysadmin-bugs

Comment 28 D Morgan 2012-03-29 09:04:59 CEST
done

Status: NEW => RESOLVED
CC: (none) => dmorganec
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.