Bug 19618 - Update candidate: perl-URPM
Summary: Update candidate: perl-URPM
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: All Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA5-32-OK MGA5-64-OK advisory
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2016-10-18 20:20 CEST by Thierry Vignaud
Modified: 2016-11-03 10:03 CET (History)
5 users (show)

See Also:
Source RPM: perl-URPM-5.06.3-1.mga5
CVE:
Status comment:


Attachments

Description Thierry Vignaud 2016-10-18 20:20:06 CEST
Description of problem:
Advisory:
==========
This update of perl-URPM fixes 2 issues:
- prevent rpmdrake from crashing if /etc/urpmi/skip.list contains an invalid regular expression (mga#15353)
- fix reporting size on big packages on x86_64 (mga#19571)

There's a more complete (but more invasive fix) in upcoming Mageia 6 for the later.

List of generated packages:
=============================
perl-URPM-5.06.2-2.mga5.i586.rpm
perl-URPM-5.06.2-2.mga5.x86_64.rpm

How to reproduce:
=================
For the first bug:
- put eg "/*nvidia-current/" in /etc/urpmi/skip.list 
- run rpmdrake, it'll crash
- update perl-URPM
- re-run rpmdrake, it won't crash

For the second bug:
- enable the debug media for Core Updates
- Run: urpmq -i kernel-desktop-4.4.16-1.mga5-debuginfo|grep Size
  It should display an invalid (negative size)

Now that perl-URPM has been updated on the servers, the synthesis files contains the right size and locally the new perl-URPM, once updated, should enable to report the right size.
Comment 1 Herman Viaene 2016-10-19 16:30:40 CEST
MGA5-32 on Acer D620 Xfce
Tested existing config with /etc/urpmi/skip.list as described above. rpmdrake crashes.
Commented out the line "/*nvidia-current/" in /etc/urpmi/skip.list to be able to update.
Did update of perl-URPM-5.06.2-2.mga5.i586.rpm, closed MCC, opened again, checked correct version is installed.
Removed commenting the line "/*nvidia-current/" in /etc/urpmi/skip.list , saved file, ran rpmdrake, results in I think the same crash
Crash info below:

  Can't use an undefined value as a subroutine reference at /usr/lib/perl5/vendor_perl/5.20.1/i386-linux-thread-multi/URPM/Resolve.pm line 1958.
  Perl's trace:
  drakbug::bug_handler() called from /usr/lib/perl5/vendor_perl/5.20.1/i386-linux-thread-multi/URPM/Resolve.pm:1958
  URPM::compute_flags() called from /usr/lib/perl5/vendor_perl/5.20.1/urpm/media.pm:846
  urpm::media::_compute_flags_for_skiplist() called from /usr/lib/perl5/vendor_perl/5.20.1/urpm/media.pm:740
  urpm::media::configure() called from /usr/lib/perl5/vendor_perl/5.20.1/Rpmdrake/open_db.pm:157
  Rpmdrake::open_db::open_urpmi_db() called from /usr/lib/perl5/vendor_perl/5.20.1/Rpmdrake/pkg.pm:444
  Rpmdrake::pkg::get_pkgs() called from /usr/lib/perl5/vendor_perl/5.20.1/Rpmdrake/gui.pm:642
  Rpmdrake::gui::pkgs_provider() called from /usr/libexec/drakrpm:804
  main::__ANON__() called from /usr/lib/perl5/vendor_perl/5.20.1/rpmdrake.pm:415
  rpmdrake::slow_func() called from /usr/libexec/drakrpm:804
  main::run_treeview_dialog() called from /usr/libexec/drakrpm:847

Gebruikte thema: oxygen-gtk

CC: (none) => herman.viaene

Comment 2 Thomas Andrews 2016-10-20 15:46:09 CEST
Not a test, exactly, but activating the updates testing repositories requires me to update this package before revealing the other packages ready for testing. While I did not attempt to test it, so far, on x86-64, no problems noted.

CC: (none) => andrewsfarm

Comment 3 Mageia Robot 2016-10-20 16:22:52 CEST
commit 49d5faf692708da20ce26dd4e0b7d6ab6da2b71f
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Thu Oct 20 16:20:01 2016 +0200

    fix crash introduced by mga#15353 fix (mga#19618)
    
    rationale:
    - {debug_URPM} only exists if we're in debug mode
    - as this is an actual error, let's just always report it
    
    bug introduced in commit 070f1be3d5c3aa813f61d061c2a0fd38c2477c08
---
 Commit Link:
   http://gitweb.mageia.org/software/rpm/perl-URPM/commit/?id=49d5faf692708da20ce26dd4e0b7d6ab6da2b71f

 Bug links:
   Mageia
      https://bugs.mageia.org/15353
      https://bugs.mageia.org/19618
Comment 4 Mageia Robot 2016-10-20 16:27:42 CEST
commit 9921c980dc294b6ce31450c2160a5247d4f04e6d
Author: Thierry Vignaud <thierry.vignaud@...>
Date:   Thu Oct 20 16:20:01 2016 +0200

    fix crash introduced by mga#15353 fix (mga#19618)
    
    rationale:
    - {debug_URPM} only exists if we're in debug mode
    - as this is an actual error, let's just always report it
    
    bug introduced in commit 070f1be3d5c3aa813f61d061c2a0fd38c2477c08
    
    (cherry picked from commit 49d5faf692708da20ce26dd4e0b7d6ab6da2b71f)
---
 Commit Link:
   http://gitweb.mageia.org/software/rpm/perl-URPM/commit/?id=9921c980dc294b6ce31450c2160a5247d4f04e6d

 Bug links:
   Mageia
      https://bugs.mageia.org/15353
      https://bugs.mageia.org/19618
Comment 5 Thierry Vignaud 2016-10-20 16:35:03 CEST
I fixed Angelo's fix and bumped the package version
Sorry for the mess, I should have checked more the fix that was commited in git.

Source RPM: perl-URPM-5.06.2-2.mga5 => perl-URPM-5.06.3-1.mga5

Comment 6 James Kerr 2016-10-23 09:30:29 CEST
On mga5-64

added /*nvidia-current/ to skip.list
rpmdrake crashed on opening

$ urpmq -i kernel-desktop-4.4.16-1.mga5-debuginfo|grep Size
    ftp://www.mirrorservice.org/sites/mageia.org/pub/mageia/distrib/5/x86_64/media/debug/core/updates/media_info/20161021-080950-info.xml.lzma
Size        : -1102491331                  Architecture: x86_64


Updated perl-URPM:

# urpmi --media "Core Updates Testing" perl-URPM
    ftp://www.mirrorservice.org/sites/mageia.org/pub/mageia/distrib/5/x86_64/media/core/updates_testing/perl-URPM-5.06.3-1.mga5.x86_64.rpm
installing perl-URPM-5.06.3-1.mga5.x86_64.rpm from /var/cache/urpmi/rpms

added /*nvidia-current/ to skip.list
rpmdrake opens normally

$ urpmq -i kernel-desktop-4.4.16-1.mga5-debuginfo|grep Size
Size        : -1102491331                  Architecture: x86_64


Only the first of the two bugs described seems to have been fixed.

CC: (none) => jim

Comment 7 Thomas Backlund 2016-10-23 09:40:03 CEST
And this is the one installed on BS:

[root@duvel ~]# rpm -qa |grep perl-URPM
perl-URPM-5.06.3-1.mga5

CC: (none) => tmb

Comment 8 Thierry Vignaud 2016-10-23 10:30:35 CEST
(In reply to James Kerr from comment #6)
> Only the first of the two bugs described seems to have been fixed.

For the pkg size, synthesis need to be rebuild with the fixed perl-URPM in order to report the right sizes...
Comment 9 Thomas Backlund 2016-10-23 11:02:09 CEST
Well, the first fixed perl-URPM was installed on Oct 15th.

The second on:
Oct 18 22:11:07 duvel.mageia.org [RPM][19827]: install perl-URPM-5.06.2-2.mga5.x86_64: success


and the third on:
# rpm -qa --last |grep perl-URPM
perl-URPM-5.06.3-1.mga5.x86_64                Thu 20 Oct 2016 06:07:31 PM CEST


And for example kernel-4.4.22-1.mga5 got pushed on mirrors on Oct 18th:
http://advisories.mageia.org/MGASA-2016-0345.html

And kernel-4.4.26-1.mga5 got built and pushed on mirrors on Oct 20th:
http://advisories.mageia.org/MGASA-2016-0347.html


but still:
]$ urpmq -i kernel-desktop-4.4.26-1.mga5-debuginfo|grep Size
Size        : -1102108237                  Architecture: x86_64


Now I know genhdlist2 does not update metadata on already indexed rpms (as found out when we removed kernel module versions way back to fix upgrade bug), but that should not be the case atleast with the 4.4.26 one...
Thomas Andrews 2016-10-23 14:38:48 CEST

CC: andrewsfarm => (none)

Comment 10 Lewis Smith 2016-10-24 11:52:54 CEST
(In reply to Thierry Vignaud from comment #8)
> For the pkg size, synthesis need to be rebuild with the fixed perl-URPM in
> order to report the right sizes...

Thanks for this clarification. How/when is this likely to  happen? Just asking, not pressing.

CC: (none) => lewyssmith

Comment 11 Thomas Backlund 2016-10-24 16:43:26 CEST
(In reply to Lewis Smith from comment #10)
> (In reply to Thierry Vignaud from comment #8)
> > For the pkg size, synthesis need to be rebuild with the fixed perl-URPM in
> > order to report the right sizes...
> 
> Thanks for this clarification. How/when is this likely to  happen? Just
> asking, not pressing.


Every time something is uploaded to testing or moved to updates, the hdlists and synthesis are rebuilt... so something is still missing from this update...
Comment 12 Herman Viaene 2016-11-02 12:06:30 CET
MGA5-32 on Acer D620 Xfce
No installation issues
Tested version perl-URPM-5.06.3-1. again
no crash anymore with line "/*nvidia-current/" in /etc/urpmi/skip.list , OK
at CLI as root
# urpmq -i kernel-desktop-4.4.16-1.mga5-debuginfo|grep Size
reg ex problem: Quantifier follows nothing in regex; marked by <-- HERE in m/(?:* <-- HERE nvidia-current)/ at /usr/lib/perl5/vendor_perl/5.20.1/i386-linux-thread-multi/URPM/Resolve.pm line 1950.

    $MIRRORLIST: media/debug/core/updates/media_info/20161101-002945-info.xml.lzma
Size        : 2114678058                   Architecture: i586
seems OK

Whiteboard: (none) => MGA5-32-OK

Comment 13 Thierry Vignaud 2016-11-02 13:17:30 CET
Yeah, the real fix for very big packages will be mga6.

So I suggests to remove this from the advisory:


Advisory:
==========
This update of perl-URPM prevents rpmdrake from crashing if /etc/urpmi/skip.list contains an invalid regular expression (mga#15353)

List of generated packages:
=============================
perl-URPM-5.06.2-2.mga5.i586.rpm
perl-URPM-5.06.2-2.mga5.x86_64.rpm
Comment 14 Lewis Smith 2016-11-02 21:17:26 CET
Puzzled by comment 13, which cites version 5.06.2-2; I think this should be 5.06.3-1.

Herman Comment 1 showed that version 5.06.2-2 did *not* fix the regex problem.
James Comment 6 and Herman Comment 12 showed that 5.06.3-1 did fix it, but not the wrong length one.

The pruned Advisory in Comment 13 now omits the 'wrong length' issue, but the version given 5.06.2-2 is that which did *not* fix the error cited (regex).
So the Advisory text should be as per comment 13, but the SRPM version 5.06.3-1 .

If you agree, I will do the Advisory accordingly & OK & validate this update.
Comment 15 James Kerr 2016-11-02 21:55:35 CET
(In reply to Lewis Smith from comment #14)

> So the Advisory text should be as per comment 13, but the SRPM version
> 5.06.3-1 .
> 
> If you agree, I will do the Advisory accordingly & OK & validate this update.

I agree.
Comment 16 Lewis Smith 2016-11-03 08:25:10 CET
Thanks James.
OK'd for x64; validated; advisory uploaded.

Keywords: (none) => validated_update
Whiteboard: MGA5-32-OK => MGA5-32-OK MGA5-64-OK advisory
CC: (none) => sysadmin-bugs

Comment 17 Mageia Robot 2016-11-03 10:03:29 CET
An update for this issue has been pushed to the Mageia Updates repository.

http://advisories.mageia.org/MGAA-2016-0132.html

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


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