Defcon "Failed to open audio output device"
Posted: Mon Jul 02, 2007 11:35 am
Hello. I'm trying to run Defcon on Gentoo with ALSA device 2 card 2. Here's the problem:
10:28 tavi@DECK.Buc.cube ~/tavi/games/defcon-v1.42: strace -o defcon-strace.txt ./defcon
Failed to open audio output device: "No available audio device"terminate called without an active exception
./defcon: line 46: 10709 Aborted $here/lib/defcon.bin.x86 "$@"
And the strace output:
execve("./defcon", ["./defcon"], [/* 48 vars */]) = 0
uname({sys="Linux", node="cube", ...}) = 0
brk(0) = 0x80ed000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=74874, ...}) = 0
mmap2(NULL, 74874, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f66000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\v\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=10484, ...}) = 0
mmap2(NULL, 12392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f62000
mmap2(0xb7f64000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7f64000
close(3) = 0
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20P\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1210872, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f61000
mmap2(NULL, 1154236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e47000
mmap2(0xb7f5b000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x113) = 0xb7f5b000
mmap2(0xb7f5f000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f5f000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e46000
mprotect(0xb7f5b000, 4096, PROT_READ) = 0
mprotect(0xb7f8e000, 4096, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e466c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1
}) = 0
munmap(0xb7f66000, 74874) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "y\220\323\352", 4) = 4
close(3) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
close(3) = 0
brk(0) = 0x80ed000
brk(0x810e000) = 0x810e000
getuid32() = 1000
getgid32() = 100
geteuid32() = 1000
getegid32() = 100
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
time(NULL) = 1183361290
open("/etc/mtab", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=401, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
read(3, "/dev/hdb1 / ext3 rw 0 0\nproc /pr"..., 4096) = 401
close(3) = 0
munmap(0xb7f78000, 4096) = 0
open("/proc/meminfo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
read(3, "MemTotal: 641024 kB\nMemFre"..., 1024) = 598
close(3) = 0
munmap(0xb7f78000, 4096) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, = 0
uname({sys="Linux", node="cube", ...}) = 0
stat64("/home/tavi/tavi/games/defcon-v1.42", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getpid() = 10703
getppid() = 10702
getpgrp() = 10702
rt_sigaction(SIGCHLD, {0x8078bb0, [], 0}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
open("./defcon", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe8c8a8) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(3, 0, [0], SEEK_CUR) = 0
read(3, "#!/bin/sh\n\n# Function to find th"..., 80) = 80
_llseek(3, 0, [0], SEEK_SET) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
dup2(3, 255) = 255
close(3) = 0
fcntl64(255, F_SETFD, FD_CLOEXEC) = 0
fcntl64(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat64(255, {st_mode=S_IFREG|0755, st_size=1207, ...}) = 0
_llseek(255, 0, [0], SEEK_CUR) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "#!/bin/sh\n\n# Function to find th"..., 1207) = 1207
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
pipe([3, 4]) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], = 0
_llseek(255, -405, [802], SEEK_CUR) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e46708) = 10704
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigaction(SIGCHLD, {0x8078bb0, [], 0}, {0x8078bb0, [], 0}, = 0
close(4) = 0
read(3, ".\n", 128) = 2
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 10704
waitpid(-1, 0xbfe8c138, WNOHANG) = -1 ECHILD (No child processes)
sigreturn() = ? (mask now [])
close(3) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigaction(SIGINT, {0x80778d0, [], 0}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {0x80778d0, [], 0}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "\nif [ ! -f \"$here/lib/sounds.dat"..., 1207) = 405
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
stat64("./lib/sounds.dat", {st_mode=S_IFREG|0644, st_size=59837913, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e46708) = 10709
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigaction(SIGINT, {0x80778d0, [], 0}, {SIG_DFL}, = 0
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT}], 0) = 10709
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
write(2, "./defcon: line 46: 10709 Aborted"..., 79) = 79
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfe8c358, WNOHANG) = -1 ECHILD (No child processes)
sigreturn() = ? (mask now [])
rt_sigaction(SIGINT, {SIG_DFL}, {0x80778d0, [], 0}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "", 1207) = 0
munmap(0xb7f78000, 4096) = 0
exit_group(134) = ?
I suspect the problems start with "ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe8c8a8) = -1 ENOTTY (Inappropriate ioctl for device)", but I'm no programmer and I'm not familiar with the context. I appologize in advance if I missed a solution already being discussed/posted someplace around.
P.S. I didn't find command line switches to turn off the sound (it's really not essential IMHO, anyway not to the point of aborting the whole game), and my mouse cursor remains trapped in a middle-of-screen position (after the above error) requiring X to be restarted to recover it.
10:28 tavi@DECK.Buc.cube ~/tavi/games/defcon-v1.42: strace -o defcon-strace.txt ./defcon
Failed to open audio output device: "No available audio device"terminate called without an active exception
./defcon: line 46: 10709 Aborted $here/lib/defcon.bin.x86 "$@"
And the strace output:
execve("./defcon", ["./defcon"], [/* 48 vars */]) = 0
uname({sys="Linux", node="cube", ...}) = 0
brk(0) = 0x80ed000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=74874, ...}) = 0
mmap2(NULL, 74874, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f66000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\v\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=10484, ...}) = 0
mmap2(NULL, 12392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f62000
mmap2(0xb7f64000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7f64000
close(3) = 0
open("/lib/tls/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\20P\1\000"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1210872, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f61000
mmap2(NULL, 1154236, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e47000
mmap2(0xb7f5b000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x113) = 0xb7f5b000
mmap2(0xb7f5f000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f5f000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e46000
mprotect(0xb7f5b000, 4096, PROT_READ) = 0
mprotect(0xb7f8e000, 4096, PROT_READ) = 0
set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e466c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1
}) = 0
munmap(0xb7f66000, 74874) = 0
open("/dev/urandom", O_RDONLY) = 3
read(3, "y\220\323\352", 4) = 4
close(3) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
close(3) = 0
brk(0) = 0x80ed000
brk(0x810e000) = 0x810e000
getuid32() = 1000
getgid32() = 100
geteuid32() = 1000
getegid32() = 100
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
time(NULL) = 1183361290
open("/etc/mtab", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=401, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
read(3, "/dev/hdb1 / ext3 rw 0 0\nproc /pr"..., 4096) = 401
close(3) = 0
munmap(0xb7f78000, 4096) = 0
open("/proc/meminfo", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
read(3, "MemTotal: 641024 kB\nMemFre"..., 1024) = 598
close(3) = 0
munmap(0xb7f78000, 4096) = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, = 0
uname({sys="Linux", node="cube", ...}) = 0
stat64("/home/tavi/tavi/games/defcon-v1.42", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
getpid() = 10703
getppid() = 10702
getpgrp() = 10702
rt_sigaction(SIGCHLD, {0x8078bb0, [], 0}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
open("./defcon", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe8c8a8) = -1 ENOTTY (Inappropriate ioctl for device)
_llseek(3, 0, [0], SEEK_CUR) = 0
read(3, "#!/bin/sh\n\n# Function to find th"..., 80) = 80
_llseek(3, 0, [0], SEEK_SET) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
dup2(3, 255) = 255
close(3) = 0
fcntl64(255, F_SETFD, FD_CLOEXEC) = 0
fcntl64(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat64(255, {st_mode=S_IFREG|0755, st_size=1207, ...}) = 0
_llseek(255, 0, [0], SEEK_CUR) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "#!/bin/sh\n\n# Function to find th"..., 1207) = 1207
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
pipe([3, 4]) = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], = 0
_llseek(255, -405, [802], SEEK_CUR) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e46708) = 10704
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigaction(SIGCHLD, {0x8078bb0, [], 0}, {0x8078bb0, [], 0}, = 0
close(4) = 0
read(3, ".\n", 128) = 2
read(3, "", 128) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 10704
waitpid(-1, 0xbfe8c138, WNOHANG) = -1 ECHILD (No child processes)
sigreturn() = ? (mask now [])
close(3) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigaction(SIGINT, {0x80778d0, [], 0}, {SIG_DFL}, = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigaction(SIGINT, {SIG_DFL}, {0x80778d0, [], 0}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "\nif [ ! -f \"$here/lib/sounds.dat"..., 1207) = 405
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
stat64("./lib/sounds.dat", {st_mode=S_IFREG|0644, st_size=59837913, ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e46708) = 10709
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], = 0
rt_sigaction(SIGINT, {0x80778d0, [], 0}, {SIG_DFL}, = 0
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT}], 0) = 10709
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f78000
write(2, "./defcon: line 46: 10709 Aborted"..., 79) = 79
rt_sigprocmask(SIG_SETMASK, [], NULL, = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbfe8c358, WNOHANG) = -1 ECHILD (No child processes)
sigreturn() = ? (mask now [])
rt_sigaction(SIGINT, {SIG_DFL}, {0x80778d0, [], 0}, = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], = 0
read(255, "", 1207) = 0
munmap(0xb7f78000, 4096) = 0
exit_group(134) = ?
I suspect the problems start with "ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe8c8a8) = -1 ENOTTY (Inappropriate ioctl for device)", but I'm no programmer and I'm not familiar with the context. I appologize in advance if I missed a solution already being discussed/posted someplace around.
P.S. I didn't find command line switches to turn off the sound (it's really not essential IMHO, anyway not to the point of aborting the whole game), and my mouse cursor remains trapped in a middle-of-screen position (after the above error) requiring X to be restarted to recover it.