Bug 388601

Summary: ogg123 does not play back flacs unless running under gdb
Product: [Fedora] Fedora Reporter: Christopher Aillon <caillon>
Component: libaoAssignee: Hans de Goede <hdegoede>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 8CC: bnocera, chris.brown, hdegoede
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-17 18:48:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Christopher Aillon 2007-11-17 17:44:20 UTC
I've got a pretty large collection of flacs over the years from my CD
collection, and the following results are 100% repeatable with every one of them.

% rpm -q vorbis-tools       
vorbis-tools-1.1.1.svn20070412-4.fc8
% ogg123 02.AF607105.flac                                                      
                                                                 
% echo $?
141
% gdb ogg123
GNU gdb Red Hat Linux (6.6-35.fc8rh)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run 02.AF607105.flac
Starting program: /usr/bin/ogg123 02.AF607105.flac

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/a2/5bd6b5d8835b9b43cdb1af2e5b832cf1006c08.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/80/e734b994e52883e8ff1a94c606fd626c725e8d.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/d8/8d70b9fa8cbf9e613d6306ab8857767268bb4c.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/4e/ec7febbe425329b678df438a3bb8c8d8b171b4.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/d5/d83f2af48a79db25feb92dc3ded66f9b0abd1a.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/03/5807c541381466da2f8457545e62c87066fd4f.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/08/47e52d609d30b0be7916c20f54baa732dff44f.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/e3/3448de964a5ca97b70edbdcea227c6ea5d3657.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/7c/f32ecc91202c1747b80e3356a6828ae7ee97e7.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/13/e7ce3022231431f7402aed8afd467f81d091f0.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/0d/605d38e5e2d23fb14837dd95144b2d330b946c.debug

warning: Missing the separate debug info file:
/usr/lib/debug/.build-id/87/d66bafb3c5d1af9e5a91a447ef5efcc0a3ec3c.debug
[New Thread -1210946672 (LWP 11052)]
[Thread -1210946672 (LWP 11052) exited]

Audio Device:   Advanced Linux Sound Architecture (ALSA) output

[New Thread -1210946672 (LWP 11053)]
Playing: 02.AF607105.flac
FLAC stream: 16 bits, 2 channel, 44100 Hz
Artist: Charlotte Gainsbourg
Album: 5:55 (US Edition)
Title: AF607105
Date: 2007
Track number: 02
Cddb: c4109d0e
[New Thread -1221575792 (LWP 11054)]
Time: 00:51.17 [03:38.98] of 04:30.15  (911.3 kbps)  Output Buffer  66.7%  
Program received signal SIGINT, Interrupt.
[Switching to Thread -1208846128 (LWP 11049)]
0x00110402 in __kernel_vsyscall ()
(gdb) quit
The program is running.  Exit anyway? (y or n) y
% echo $?
0

Comment 1 Christopher Aillon 2007-11-17 17:45:38 UTC
Downgrading makes this work again.

% sudo rpm -Uvh --oldpackage vorbis-tools-1.1.1.svn20070412-3.fc8.i386.rpm 
Preparing...                ########################################### [100%]
   1:vorbis-tools           ########################################### [100%]
% ogg123 02.AF607105.flac 

Audio Device:   Advanced Linux Sound Architecture (ALSA) output

Playing: 02.AF607105.flac
FLAC stream: 16 bits, 2 channel, 44100 Hz
Artist: Charlotte Gainsbourg
Album: 5:55 (US Edition)
Title: AF607105
Date: 2007
Track number: 02
Cddb: c4109d0e
                                                                           
Done.


Comment 2 Christopher Aillon 2007-11-17 17:52:11 UTC
Copying bastien, since he's the flac maintainer and might have some insight.

Comment 3 Christopher Aillon 2007-11-17 18:28:35 UTC
Bah.  So, the downgrade worked once.  And now it's back to the original
behavior.  I'm much more inclined to think this really *is* a problem with
something in flac changing rather than something in vorbis-tools breaking. 
Looking at the flac specfile, it appears there have been several changes which
may have affected this.

Comment 4 Hans de Goede 2007-11-17 18:48:38 UTC
I don't believe this is flac related at all, its a problem with pulseaudio's esd
emulation or so it seem, in mystery cases like this strace can do miracles:
connect(3, {sa_family=AF_FILE, path="/tmp/.esd-500/socket"}, 22) = 0
rt_sigaction(SIGPIPE, {0x3b2c003690, [PIPE], SA_RESTORER|SA_RESTART, 0x3b18a30f
open("/home/hans/.esd_auth", O_RDONLY)  = 4
read(4, "\334\24\364T\254\207\36\7\266\221\4N\213(Gt", 16) = 16
write(3, "\334\24\364T\254\207\36\7\266\221\4N\213(Gt", 16) = 16
write(3, "NDNE", 4)                     = 4
read(3, "\1\0\0\0", 4)                  = 4
close(4)                                = 0
rt_sigaction(SIGPIPE, {SIG_DFL}, {0x3b2c003690, [PIPE], SA_RESTORER|SA_RESTART,
write(3, "\26\0\0\0", 4)                = 4
write(3, "\0\0\0\0", 4)                 = -1 EPIPE (Broken pipe)
--- SIGPIPE (Broken pipe) @ 0 (0) ---
+++ killed by SIGPIPE +++

No idea why it is doing this though, but its not FLAC's fault. I even have a
fix, which is not really a fix:
sudo yum --enablerepo=updates-testing update libao

Will install libao-0.8.8 from updates-testing, which adds native pulseaudio
support and works fine.

Hey, even better, after updating it even works with pulseaudio's esd emulation,
so I guess it was an libao bug, using "ogg123 -d esd foo.flac" works fine now too.

Hmm, "bug" in bodhi, you cannot add bugs to close when an update becomes stable
if the update already is in testing, bummer, closing this with a resolution of
errata then.