[sound] Not working anymore -- ArchLinux 64bits [solved]

Linux support forum for Eschalon: Book I
Post Reply
User avatar
CycyX
Fellowcraft Apprentice
Posts: 48
Joined: May 26th, 2010, 7:54 am
Location: France
Contact:

[sound] Not working anymore -- ArchLinux 64bits [solved]

Post by CycyX »

Hello there,

I've got a strange problem...
I helped users get sound working on those forums a few months (years?) ago, and now it's my turn...

I'm running this game on ArchLinux 64bits, with a bunch of 32bits compatibility library, and the game was working greatly about 12 to 18 months ago.

I tried it again yesterday (in order to play Books 1&2 in a row) with aoss to get music and sound working, but I got an error message (signal 11).

If I run the game without aoss wrapper, it runs flawlessly but without sound (obviously).

So basically, my question is: does any of you tried this game recently with an up to date Linux distribution and got it working with sound?

Here are a the last interesting lines of the strace output:

Code: Select all

open("/usr/lib32/libspeexdsp.so.1", O_RDONLY|O_CLOEXEC) = 11
read(11, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\26\0\0004\0\0\0"..., 512) = 512
fstat64(11, {st_mode=S_IFREG|0755, st_size=76708, ...}) = 0
mmap2(NULL, 79464, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 11, 0) = 0xfffffffff6330000
mmap2(0xf6342000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 11, 0x11000) = 0xfffffffff6342000
close(11)                               = 0
mprotect(0xf6342000, 4096, PROT_READ)   = 0
mprotect(0xf771d000, 4096, PROT_READ)   = 0
munmap(0xf4147000, 170234)              = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SI_KERNEL, si_addr=0} ---
write(2, "appstub.linux signal handler 11", 31appstub.linux signal handler 11) = 31
recv(3, 0x8a215e0, 4096, 0)             = -1 EAGAIN (Resource temporarily unavailable)
recv(3, 0x8a215e0, 4096, 0)             = -1 EAGAIN (Resource temporarily unavailable)
recv(3, 0x8a215e0, 4096, 0)             = -1 EAGAIN (Resource temporarily unavailable)
recv(3, 0x8a215e0, 4096, 0)             = -1 EAGAIN (Resource temporarily unavailable)
ioctl(6, 0x4008646e, 0xffe5de78)        = 0
munmap(0xeebf8000, 2678784)             = 0
The ldd output:

Code: Select all

	linux-gate.so.1 (0xf7721000)
	libX11.so.6 => /usr/lib32/libX11.so.6 (0xf75bf000)
	libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7566000)
	libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf74e0000)
	libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf74da000)
	libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf73f0000)
	libm.so.6 => /usr/lib32/libm.so.6 (0xf73aa000)
	libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7390000)
	libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf7374000)
	libc.so.6 => /usr/lib32/libc.so.6 (0xf71c5000)
	libdl.so.2 => /usr/lib32/libdl.so.2 (0xf71bf000)
	libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf719d000)
	libglapi.so.0 => /usr/lib32/libglapi.so.0 (0xf7186000)
	libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7173000)
	libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf716f000)
	libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7169000)
	libX11-xcb.so.1 => /usr/lib32/libX11-xcb.so.1 (0xf7165000)
	libxcb-glx.so.0 => /usr/lib32/libxcb-glx.so.0 (0xf714c000)
	libxcb-dri2.so.0 => /usr/lib32/libxcb-dri2.so.0 (0xf7146000)
	libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7138000)
	/lib/ld-linux.so.2 (0xf7722000)
	libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7134000)
	libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf712c000)
I have even lib32-openal installed.
Alsa sound, no Pulse Audio daemon (libpulse 32/64bits installed).

And of course, other games work fine using the aoss wrapper (like Head over Heels for example).

I will gladly try anything you could think of.
Last edited by CycyX on November 7th, 2013, 1:58 pm, edited 1 time in total.
User avatar
SpottedShroom
Captain Magnate
Captain Magnate
Posts: 1372
Joined: June 4th, 2010, 6:18 pm

Re: [sound] Not working anymore -- ArchLinux 64bits

Post by SpottedShroom »

I tried on the latest Arch 64 bit, and I'm also seeing a crash although I'm not sure it's the same as yours. Book II plays fine either with OpenAL or using aoss. Book I won't launch at all, with or without aoss.

I can confirm that Book I works fine on Ubuntu 13.10 64 bit with aoss, so this is probably an Arch issue.

Here's my backtrace when running through gdb:

Code: Select all

(gdb) bt full
#0  0xf7a74375 in __mempcpy_ia32 () from /usr/lib32/libc.so.6
No symbol table info available.
#1  0xf7a66f48 in __GI__IO_file_xsgetn () from /usr/lib32/libc.so.6
No symbol table info available.
#2  0xf7a68d28 in __GI__IO_sgetn () from /usr/lib32/libc.so.6
No symbol table info available.
#3  0xf7a5c546 in fread () from /usr/lib32/libc.so.6
No symbol table info available.
#4  0x080ff0f7 in ?? ()
No symbol table info available.
#5  0x080ff8e0 in ?? ()
No symbol table info available.
#6  0x080e9784 in ?? ()
No symbol table info available.
#7  0x080e99aa in ?? ()
No symbol table info available.
#8  0x080e94c0 in ?? ()
No symbol table info available.
#9  0x080942ef in ?? ()
No symbol table info available.
#10 0x08093b25 in ?? ()
No symbol table info available.
#11 0x0804c693 in ?? ()
No symbol table info available.
#12 0xf7a109d3 in __libc_start_main () from /usr/lib32/libc.so.6
No symbol table info available.
#13 0xf7ffcfbc in _DYNAMIC () from /lib/ld-linux.so.2
No symbol table info available.
#14 0x00000001 in ?? ()
No symbol table info available.
#15 0x0804c580 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Would you post yours for comparison purposes?
User avatar
CycyX
Fellowcraft Apprentice
Posts: 48
Joined: May 26th, 2010, 7:54 am
Location: France
Contact:

Re: [sound] Not working anymore -- ArchLinux 64bits

Post by CycyX »

Thank you for you answer.

Here's my backtrace running through aoss wrapper (the game don't crash without it: it works without sound...):

Code: Select all

Program received signal SIGSEGV, Segmentation fault.
0xf6b31968 in ?? () from /usr/lib32/libspeexdsp.so.1
(gdb) bt
#0  0xf6b31968 in ?? () from /usr/lib32/libspeexdsp.so.1
#1  0xf6b3205a in ?? () from /usr/lib32/libspeexdsp.so.1
#2  0xf6b3320c in speex_resampler_init_frac () from /usr/lib32/libspeexdsp.so.1
#3  0xf7793a78 in ?? ()
   from /usr/lib32/alsa-lib/libasound_module_rate_speexrate.so
#4  0xf794f864 in ?? () from /usr/lib32/libasound.so.2
#5  0xf793d6c4 in ?? () from /usr/lib32/libasound.so.2
#6  0xf795538e in ?? () from /usr/lib32/libasound.so.2
#7  0xf793d6c4 in ?? () from /usr/lib32/libasound.so.2
#8  0xf792de5c in snd_pcm_hw_params () from /usr/lib32/libasound.so.2
#9  0xf7a6a786 in ?? () from /usr/lib32/libalsatoss.so.0
#10 0xf7a6b291 in ?? () from /usr/lib32/libalsatoss.so.0
#11 0xf7a6dd9c in lib_oss_pcm_open () from /usr/lib32/libalsatoss.so.0
#12 0xf7fd54fc in ?? () from /usr/lib32/libaoss.so
#13 0xf7fd58f1 in open () from /usr/lib32/libaoss.so
#14 0x0804bbcc in ?? ()
#15 0x0804c1dc in ?? ()
#16 0x0810a376 in ?? ()
#17 0x0810a1b2 in ?? ()
#18 0x08110170 in ?? ()
#19 0x0810fbb9 in ?? ()
#20 0x0810fec8 in ?? ()
#21 0x08107b75 in ?? ()
---Type <return> to continue, or q <return> to quit---
#22 0x080b9066 in ?? ()
#23 0x080b5a95 in ?? ()
#24 0x0804ba08 in ?? ()
#25 0xf7a919d3 in __libc_start_main () from /usr/lib32/libc.so.6
#26 0xf7ffcfbc in _DYNAMIC () from /lib/ld-linux.so.2
#27 0x00000001 in ?? ()
#28 0x0804b850 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
My libspeex version:

Code: Select all

multilib/lib32-speex 1.2rc1-4
extra/speex 1.2rc1-4
Oddly enough, if Head over Heels works with the aoss wrapper, Epic Inventor is also crashing with aoss (and doesn't do sound without it)...
User avatar
CycyX
Fellowcraft Apprentice
Posts: 48
Joined: May 26th, 2010, 7:54 am
Location: France
Contact:

Re: [sound] Not working anymore -- ArchLinux 64bits

Post by CycyX »

Ok. So my problem is now solved.

I had to recompile the lib32-speex package (there was some kind of incompatibility) and everything is working again.

This bug was Arch 64bits specific.
Post Reply