Bug 18709 - REGRESSION - last mad update broke ABI
Summary: REGRESSION - last mad update broke ABI
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 5
Hardware: i586 Linux
Priority: Normal critical
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: has_procedure advisory MGA5-32-OK MGA...
Keywords: validated_update
Depends on:
Blocks:
 
Reported: 2016-06-14 21:13 CEST by José Jorge
Modified: 2016-06-22 18:37 CEST (History)
7 users (show)

See Also:
Source RPM: mad
CVE:
Status comment:


Attachments

Description José Jorge 2016-06-14 21:13:23 CEST
The libmad #18567 security update has changed the ABI, so packages that use it must be rebuilt.
Comment 1 José Jorge 2016-06-14 21:15:08 CEST
A rebuild of gstreamer0.10-plugins-ugly has fixed the problem on a i586 system, let's push it to updates_testing.
Comment 2 José Jorge 2016-06-14 21:40:07 CEST
How to test : while one can try to play an mp3 file through clementine or a radio through radiotray, here is a direct gstreamer test :

gst-launch-0.10 filesrc location=somefile.mp3 ! mad ! alsasink

with the bug you get an error and no sound, with the updated packages you can listen the file.

Assignee: lists.jjorge => qa-bugs

Comment 3 José Jorge 2016-06-14 21:49:27 CEST
Suggested advisory:
========================

Updated gstreamer0.10-plugins-ugly package fix a regression in mp3 playing

========================

Updated packages in core/updates_testing:
========================
gstreamer0.10-plugins-ugly-0.10.19-14.1.mga5.x86_64.rpm
gstreamer0.10-sid-0.10.19-14.1.mga5.x86_64.rpm
gstreamer0.10-a52dec-0.10.19-14.1.mga5.x86_64.rpm
gstreamer0.10-mpeg-0.10.19-14.1.mga5.x86_64.rpm
gstreamer0.10-cdio-0.10.19-14.1.mga5.x86_64.rpm
gstreamer0.10-twolame-0.10.19-14.1.mga5.x86_64.rpm

Source RPMs: 
gstreamer0.10-plugins-ugly-0.10.19-14.1.mga5.src.rpm

Tainted:
========

gstreamer0.10-plugins-ugly-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-plugins-ugly-debuginfo-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-lame-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-x264-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-amrnb-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-amrwbdec-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-sid-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-a52dec-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-mpeg-0.10.19-14.1.mga5.tainted.x86_64.rpm
gstreamer0.10-cdio-0.10.19-14.1.mga5.tainted.x86_64.rpm 

Source RPMs: 
gstreamer0.10-plugins-ugly-0.10.19-14.1.mga5.tainted.src.rpm

Status: NEW => ASSIGNED

José Jorge 2016-06-14 21:58:33 CEST

Whiteboard: (none) => has_procedure

William Kenney 2016-06-14 22:58:11 CEST

CC: (none) => wilcal.int

Comment 4 Fred Thuillier 2016-06-14 23:28:38 CEST
Here it works (local storage, nas via nfs, and with the gstreamer test). Thanks

CC: (none) => fred.thuillier

Comment 5 David Walser 2016-06-15 00:28:12 CEST
Let's slow down for a minute.

Shlomi reported some regressions in playback with an mp3 file with the updated libmad.  So, if we can't get a resolution to that issue, we might just be better off reverting the libmad update.  Otherwise, there's more that needs to be rebuilt than just gstreamer0.10-plugins-ugly, as mplayer/mencoder and sox are also now broken, which means probably everything using it is (also including k3b, audacity, normalize, cdrdao and several other things).

In fact, we might just want to revert the libmad update for now and deal with this once we have a better idea of how to move forward.

CC: (none) => luigiwalser, shlomif
Whiteboard: has_procedure => has_procedure feedback

Comment 6 José Jorge 2016-06-15 07:45:39 CEST
(In reply to David Walser from comment #5)
> Shlomi reported some regressions in playback with an mp3 file with the

With which software? I am trying to see which ones are affected : 

 - audacity works both MP3 import and export
 - mplayer stucks
 - k3b crashes
Comment 7 Thomas Backlund 2016-06-15 08:43:32 CEST
Yeah, we could push an updated libmad package that reverts the security fix for now unless vlc guys find out fast a way to fix libmad without breaking abi

CC: (none) => tmb

Comment 8 Shlomi Fish 2016-06-15 11:31:03 CEST
(In reply to José Jorge from comment #6)
> (In reply to David Walser from comment #5)
> > Shlomi reported some regressions in playback with an mp3 file with the
> 
> With which software? I am trying to see which ones are affected : 
> 

See https://trac.videolan.org/vlc/ticket/17052 .

>  - audacity works both MP3 import and export
>  - mplayer stucks
>  - k3b crashes
Comment 9 Shlomi Fish 2016-06-15 11:37:49 CEST
(In reply to José Jorge from comment #6)
> (In reply to David Walser from comment #5)
> > Shlomi reported some regressions in playback with an mp3 file with the
> 
> With which software? I am trying to see which ones are affected : 
> 
>  - audacity works both MP3 import and export
>  - mplayer stucks

mplayer and mpv work mostly fine here with some .mp3 I tried. Can you upload an offending mp3?


>  - k3b crashes
Comment 10 José Jorge 2016-06-15 12:17:38 CEST
(In reply to Shlomi Fish from comment #9)
> mplayer and mpv work mostly fine here with some .mp3 I tried. Can you upload
> an offending mp3?

Maybe your mplayer is not using libmad?

I get this on any mp3 file :

==========================================================================
Trying to force audio codec driver family libmad...
Opening audio decoder: [libmad] libmad mpeg audio decoder

and it stays forever here until Ctrl + C.
Comment 11 Shlomi Fish 2016-06-15 12:48:35 CEST
José Jorge:

I am getting this:

shlomif@telaviv1:~/Download/Video$ mplayer scomber_-_Face_in_the_Crowd.mp3 
MPlayer 1.2.1-2.mga6.tainted-5.3.1 (C) 2000-2016 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing scomber_-_Face_in_the_Crowd.mp3.
libavformat version 56.40.101 (external)
Audio only file format detected.
Clip info:
 Title: Face in the Crowd (ft. Copperh
 Artist: Scomber
 Album: ccMixter
 Year: 2016
 Comment: 
 Genre: Unknown
Load subtitles in ./
==========================================================================
Trying to force audio codec driver family libmad...
Opening audio decoder: [libmad] libmad mpeg audio decoder
AUDIO: 44100 Hz, 2 ch, s16le, 258.2 kbit/18.30% (ratio: 32276->176400)
Selected audio codec: [mad] afm: libmad (libMAD MPEG layer 1-2-3)
==========================================================================
AO: [pulse] Init failed: Connection refused
Failed to initialize audio driver 'pulse'
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:  21.0 (21.0) of 221.0 (03:41.0)  0.6% 

Exiting... (Quit)
shlomif@telaviv1:~/Download/Video$ 


shlomif@telaviv1:/home/music/Music/shlomif-Download$ grep mad /proc/`pgrep mplayer`/maps
7f8597ef0000-7f8597f0e000 r-xp 00000000 08:09 4063673                    /usr/lib64/libmad.so.0.2.1
7f8597f0e000-7f859810e000 ---p 0001e000 08:09 4063673                    /usr/lib64/libmad.so.0.2.1
7f859810e000-7f859810f000 r--p 0001e000 08:09 4063673                    /usr/lib64/libmad.so.0.2.1
7f859810f000-7f8598110000 rw-p 0001f000 08:09 4063673                    /usr/lib64/libmad.so.0.2.1
shlomif@telaviv1:/home/music/Music/shlomif-Download$ 


============

so it seems mplayer is using libmad. Can you try in a new UNIX user account?
Comment 12 David Walser 2016-06-15 12:49:38 CEST
I confirm that mplayer freezes with the updated libmad.
Comment 13 Shlomi Fish 2016-06-15 13:28:45 CEST
(In reply to David Walser from comment #12)
> I confirm that mplayer freezes with the updated libmad.

is it on i586 or x86-64? I'm on x86-64.
Comment 14 David Walser 2016-06-15 13:29:46 CEST
(In reply to Shlomi Fish from comment #13)
> (In reply to David Walser from comment #12)
> > I confirm that mplayer freezes with the updated libmad.
> 
> is it on i586 or x86-64? I'm on x86-64.

i586.
Comment 15 JanKusanagi 2016-06-16 21:21:42 CEST
I get the freezes in mplayer also, when trying to play an MP3 file, or a video with the MP3 codec for the audio.

Downgrading libmad0 to the version in "Core Release" fixed the issue.

This is on Mageia 5, i586.

CC: (none) => jan-bugs

Comment 16 José Jorge 2016-06-17 08:42:30 CEST
So what? Shall I push a libmad unpatched? We have much users that use i586!
Comment 17 David Walser 2016-06-17 12:28:13 CEST
(In reply to José Jorge from comment #16)
> So what? Shall I push a libmad unpatched? We have much users that use i586!

Yes, unless someone can fix the patch to not break the original ABI.  There was some discussion about how to do that in the QA meeting yesterday, but I don't understand ABIs enough to help with that.
Comment 18 Shlomi Fish 2016-06-17 14:51:56 CEST
(In reply to David Walser from comment #17)
> (In reply to José Jorge from comment #16)
> > So what? Shall I push a libmad unpatched? We have much users that use i586!
> 
> Yes, unless someone can fix the patch to not break the original ABI.  There
> was some discussion about how to do that in the QA meeting yesterday, but I
> don't understand ABIs enough to help with that.

Please try again with rel 20 of libmad which I just submitted to http://pkgsubmit.mageia.org/ .
Comment 19 David Walser 2016-06-17 14:56:14 CEST
(In reply to Shlomi Fish from comment #18)
> (In reply to David Walser from comment #17)
> > (In reply to José Jorge from comment #16)
> > > So what? Shall I push a libmad unpatched? We have much users that use i586!
> > 
> > Yes, unless someone can fix the patch to not break the original ABI.  There
> > was some discussion about how to do that in the QA meeting yesterday, but I
> > don't understand ABIs enough to help with that.
> 
> Please try again with rel 20 of libmad which I just submitted to
> http://pkgsubmit.mageia.org/ .

You'll need to build it in Mageia 5 updates_testing for most of us to be able to try it.

Also, please remember when you rename a patch to use svn mv, so that we can easily see the changes in the patch in svnweb (as well as retaining history).
Comment 20 Shlomi Fish 2016-06-17 15:44:01 CEST
(In reply to David Walser from comment #19)
> (In reply to Shlomi Fish from comment #18)
> > (In reply to David Walser from comment #17)
> > > (In reply to José Jorge from comment #16)
> > > > So what? Shall I push a libmad unpatched? We have much users that use i586!
> > > 
> > > Yes, unless someone can fix the patch to not break the original ABI.  There
> > > was some discussion about how to do that in the QA meeting yesterday, but I
> > > don't understand ABIs enough to help with that.
> > 
> > Please try again with rel 20 of libmad which I just submitted to
> > http://pkgsubmit.mageia.org/ .
> 
> You'll need to build it in Mageia 5 updates_testing for most of us to be
> able to try it.
> 

Done.
Comment 21 José Jorge 2016-06-18 16:08:09 CEST
(In reply to Shlomi Fish from comment #20)
> > > 
> > > Please try again with rel 17 of libmad which I just submitted to
> > > http://pkgsubmit.mageia.org/ .
> > 

This fixes the bug for mplayer and clementine (gstreamer). So I assign it to qa :


- please remove from updates_testing gstreamer packages of comment3
- please test libmad update
 
Suggested advisory:
========================

Updated libmad package fix a regression in mp3 playing on 32 bit systems

========================

Updated packages in core/updates_testing:

lib64mad-0.15.1b-17.1.mga5
lib64mad-devel-0.15.1b-17.1.mga5.x86_64.rpm

libmad-0.15.1b-17.1.mga5
libmad-devel-0.15.1b-17.1.mga5.i586.rpm

SRPM :
mad-0.15.1b-17.1.mga5.src.rpm
José Jorge 2016-06-18 16:09:25 CEST

Whiteboard: has_procedure feedback => has_procedure MGA5-32-OK

José Jorge 2016-06-18 16:11:38 CEST

Source RPM: gstreamer0.10-plugins-ugly => mad

José Jorge 2016-06-18 16:13:50 CEST

Summary: clementine crashes playing mp3 files => REGRESSION - last mad update broke ABI

Comment 22 David Walser 2016-06-18 18:52:33 CEST
Thanks Shlomi!

Amazingly, even VLC works without needed a rebuild.  Confirmed mplayer and sox are OK now.
Comment 23 David Walser 2016-06-18 19:36:27 CEST
Sysadmins, please remove the gstreamer0.10-plugins-ugly rebuilds (core and tainted) from updates_testing.

CC: (none) => sysadmin-bugs

Comment 24 David Walser 2016-06-20 00:55:13 CEST
Shlomi, I see you added further fixes to mad in Cauldron.  I'm guessing we need those for the Mageia 5 build as well?
Comment 25 Shlomi Fish 2016-06-20 11:12:42 CEST
(In reply to David Walser from comment #24)
> Shlomi, I see you added further fixes to mad in Cauldron.  I'm guessing we
> need those for the Mageia 5 build as well?

I think so - yes.
Comment 26 Shlomi Fish 2016-06-20 14:30:59 CEST
(In reply to Shlomi Fish from comment #25)
> (In reply to David Walser from comment #24)
> > Shlomi, I see you added further fixes to mad in Cauldron.  I'm guessing we
> > need those for the Mageia 5 build as well?
> 
> I think so - yes.

please test  mad-0.15.1b-17.2.mga5 in mga5 core/updates_testing.
Comment 27 José Jorge 2016-06-20 20:27:36 CEST
(In reply to Shlomi Fish from comment #26)
> please test  mad-0.15.1b-17.2.mga5 in mga5 core/updates_testing.

Tested again for 32bit. Both mplayer and gstreamer are ok.
Comment 28 José Jorge 2016-06-21 08:58:38 CEST
Tested on x86_64. Previous version did some glitches in the sound of some mp3 files through clementine. Now it does not anymore. Seems that we can validate this update!

Whiteboard: has_procedure MGA5-32-OK => has_procedure MGA5-32-OK MGA5-64-OK

Comment 29 José Jorge 2016-06-21 09:02:23 CEST
Suggested advisory:
========================

Updated mad package fix a regression in mp3 playing through gstreamer, mplayer and several other software using this library.

This update fixes crashes in 32 bit and sound glitches in 64 bit.

========================

Updated packages in core/updates_testing:
========================
libmad0-0.15.1b-17.2.mga5.i586.rpm
libmad0-devel-0.15.1b-17.2.mga5.i586.rpm

lib64mad0-0.15.1b-17.2.mga5.x86_64.rpm
lib64mad0-devel-0.15.1b-17.2.mga5.x86_64.rpm

Source RPMs: 
mad-0.15.1b-17.2.mga5.src.rpm
Comment 30 José Jorge 2016-06-21 09:05:10 CEST
Please sysadmins, don't forget to remove the gstreamer0.10-plugins-ugly rebuilds of comment 3 (core and tainted) from updates_testing.

Keywords: (none) => validated_update

Comment 31 claire robinson 2016-06-22 16:10:44 CEST
Thanks everybody. Advisory uploaded.

Whiteboard: has_procedure MGA5-32-OK MGA5-64-OK => has_procedure advisory MGA5-32-OK MGA5-64-OK

Comment 32 Mageia Robot 2016-06-22 18:37:15 CEST
An update for this issue has been pushed to the Mageia Updates repository.

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

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


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