Bug#510459: vorbis-tools: ogg123 crashes or hangs when it cannot open the device
Vincent Lefevre
vincent at vinc17.org
Fri Jan 2 23:37:22 UTC 2009
I could reproduce the hangs: this happens when the volume is set to 0.
I've attached a diff on 2 strace.
* strace2.out: volume set to 0, ogg123 hanged after outputting
"Error: Cannot open device alsa." (I tried 2 Ctrl-C, then Ctrl-\).
* strace3.out: volume not set to 0, ogg123 terminated after
outputting "Error: Cannot open device alsa.".
Note: gtkpbbuttons was running, hence the error. But the fact that
ogg123 hanged is not normal.
--
Vincent Lefèvre <vincent at vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
-------------- next part --------------
--- strace2.out 2009-01-03 00:26:16.000000000 +0100
+++ strace3.out 2009-01-03 00:27:15.000000000 +0100
@@ -5,19 +5,19 @@
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x48020000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/ppc7400/altivec/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/ppc7400/altivec", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/ppc7400/altivec", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/tls/ppc7400/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/ppc7400", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/ppc7400", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/tls/altivec/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/altivec", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/altivec", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/tls/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/ppc7400/altivec/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/ppc7400/altivec", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/ppc7400/altivec", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/ppc7400/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/ppc7400", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/ppc7400", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/altivec/libncurses.so.5", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/altivec", 0xbffdc098) = -1 ENOENT (No such file or directory)
+stat64("/lib/altivec", 0xbf964098) = -1 ENOENT (No such file or directory)
open("/lib/libncurses.so.5", O_RDONLY) = 3
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\24\0\0\0\1\0\0\321p\0\0\0004\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0644, st_size=248524, ...}) = 0
@@ -59,7 +59,7 @@
geteuid() = 1000
getegid() = 1000
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
-time(NULL) = 1230938758
+time(NULL) = 1230938826
brk(0x100e8000) = 0x100e8000
open("/proc/meminfo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
@@ -85,11 +85,11 @@
brk(0x100ef000) = 0x100ef000
stat64("/home/lefevre", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
-getpid() = 3518
-getppid() = 3517
+getpid() = 3553
+getppid() = 3552
brk(0x100f0000) = 0x100f0000
brk(0x100f1000) = 0x100f1000
-getpgrp() = 3517
+getpgrp() = 3552
rt_sigaction(SIGCHLD, {0x1003f2f0, [], 0}, {SIG_DFL}, 8) = 0
getrlimit(RLIMIT_NPROC, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
brk(0x100f2000) = 0x100f2000
@@ -118,7 +118,7 @@
open("/usr/lib/locale/LC/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
open("/home/lefevre/bin/ogg123", O_RDONLY|O_LARGEFILE) = 3
-ioctl(3, TCGETS, 0xbffdc948) = -1 ENOTTY (Inappropriate ioctl for device)
+ioctl(3, TCGETS, 0xbf964948) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(3, 0, [0], SEEK_CUR) = 0
read(3, "#!/bin/sh\n\n# ogg123 often crashes"..., 80) = 80
_llseek(3, 0, [0], SEEK_SET) = 0
@@ -163,67 +163,67 @@
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x48020000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/lib/tls/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/tls/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/tls/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/tls/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/tls", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/tls", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/lib/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/lib/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/lib/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/lib", {st_mode=S_IFDIR|0755, st_size=8192, ...}) = 0
open("/home/lefevre/./lib/tls/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/tls/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/tls/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/tls/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/tls/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/tls/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/tls/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/tls/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/tls/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/tls/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/tls", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/tls", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/./lib/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/./lib/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/lefevre/./lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/home/lefevre/lib/tls/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/tls/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/tls/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/tls/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/tls/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/tls/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/tls/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/tls/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/tls/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/tls/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/tls", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/tls", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/home/lefevre/lib/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/home/lefevre/lib/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/home/lefevre/lib/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/home/lefevre/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/local/gmp/lib/tls/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/tls/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/tls/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/tls/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/tls/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/tls/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/tls/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/tls/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/tls/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/tls/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/tls", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/tls", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/ppc7400/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/ppc7400/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/ppc7400/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/ppc7400/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/ppc7400", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/ppc7400", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/altivec/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
-stat64("/usr/local/gmp/lib/altivec", 0xbfcc30d8) = -1 ENOENT (No such file or directory)
+stat64("/usr/local/gmp/lib/altivec", 0xbfb250d8) = -1 ENOENT (No such file or directory)
open("/usr/local/gmp/lib/libvorbisfile.so.3", O_RDONLY) = -1 ENOENT (No such file or directory)
stat64("/usr/local/gmp/lib", {st_mode=S_IFDIR|S_ISGID|0755, st_size=4096, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
@@ -548,9 +548,9 @@
mprotect(0xff29000, 4096, PROT_READ) = 0
mprotect(0xff4f000, 4096, PROT_READ) = 0
munmap(0x48031000, 61329) = 0
-set_tid_address(0x48026a68) = 3518
-get_robust_list(0x48026a70, 0xc, 0xbfcc3de0) = 0
-futex(0xbfcc3c98, FUTEX_WAKE_PRIVATE, 1) = 0
+set_tid_address(0x48026a68) = 3553
+get_robust_list(0x48026a70, 0xc, 0xbfb25de0) = 0
+futex(0xbfb25c98, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0xfe69cb0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xfe69850, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
@@ -884,7 +884,7 @@
mmap(0xee36000, 84528, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0xee36000
mprotect(0xee3b000, 61440, PROT_NONE) = 0
mmap(0xee4a000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4000) = 0xee4a000
-mprotect(0xbfcc3000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0
+mprotect(0xbfb25000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0
close(5) = 0
open("/lib/libasyncns.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/lefevre/./lib/libasyncns.so.0", O_RDONLY) = -1 ENOENT (No such file or directory)
@@ -1011,7 +1011,7 @@
read(3, "OggS\0\2\0\0\0\0\0\0\0\0\215\23\323\6\0\0\0\0\347\301\265\2\1\36\1vorb"..., 65536) = 65536
mmap(NULL, 8388608, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x48209000
mprotect(0x48209000, 4096, PROT_NONE) = 0
-clone(child_stack=0x48a08030, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x48a084f8, tls=0x48a0f930, child_tidptr=0x48a084f8) = 3519
+clone(child_stack=0x48a08030, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x48a084f8, tls=0x48a0f930, child_tidptr=0x48a084f8) = 3572
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=25700, ...}) = 0
mmap(NULL, 25700, PROT_READ, MAP_SHARED, 5, 0) = 0x48a09000
@@ -1036,14 +1036,5 @@
futex(0x481e7034, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x481e7030, {FUTEX_OP_SET, 0, FUTEX_OP_CMP_GT, 1}) = 1
futex(0x481e7014, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x481e7064, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
-futex(0x481e7084, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x481e7014, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x481e7064, FUTEX_WAIT_PRIVATE, 3, NULL) = ? ERESTARTSYS (To be restarted)
---- SIGINT (Interrupt) @ 0 (0) ---
-sigreturn() = ? (mask now [ABRT BUS FPE USR1 SEGV PIPE ALRM STOP TSTP URG XCPU XFSZ VTALRM PROF WINCH IO PWR RTMIN])
-futex(0x481e7064, FUTEX_WAIT_PRIVATE, 3, NULL) = ? ERESTARTSYS (To be restarted)
---- SIGINT (Interrupt) @ 0 (0) ---
-sigreturn() = ? (mask now [ABRT BUS FPE USR1 SEGV PIPE ALRM STOP TSTP URG XCPU XFSZ VTALRM PROF WINCH IO PWR RTMIN])
-futex(0x481e7064, FUTEX_WAIT_PRIVATE, 3, NULL) = ? ERESTARTSYS (To be restarted)
---- SIGQUIT (Quit) @ 0 (0) ---
-+++ killed by SIGQUIT +++
More information about the pkg-xiph-maint
mailing list