Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client hangs on startup when initializing PulseAudio on Ubuntu #3075

Open
Robyt3 opened this issue Feb 14, 2022 · 2 comments
Open

Client hangs on startup when initializing PulseAudio on Ubuntu #3075

Robyt3 opened this issue Feb 14, 2022 · 2 comments

Comments

@Robyt3
Copy link
Contributor

Robyt3 commented Feb 14, 2022

The client hangs in CSound::Init when calling SDL_InitSubSystem, inside the PulseAudio library code on Ubuntu.

I think this is an issue with SDL and not with PulseAudio, as it works with the ddnet client, which uses a newer SDL version.

Workaround: Play without sound using snd_init 0.

[2022-02-14 20:33:44][client]: starting...
[2022-02-14 20:33:46][sdl]: SDL version 2.0.10 (dll = 2.0.10)
[New Thread 0x7fffe68e9700 (LWP 27983)]
[2022-02-14 20:33:46][render]: opengl max texture sizes: 16384, 2048(3D)
^C
Thread 1 "teeworlds" received signal SIGINT, Interrupt.
futex_abstimed_wait (private=0, abstime=0x0, clockid=0, expected=2, futex_word=<optimized out>)
    at ../sysdeps/nptl/futex-internal.h:284
284	../sysdeps/nptl/futex-internal.h: No such file or directory.
(gdb) where
#0  futex_abstimed_wait (private=0, abstime=0x0, clockid=0, expected=2, futex_word=<optimized out>)
    at ../sysdeps/nptl/futex-internal.h:284
#1  __pthread_rwlock_wrlock_full (abstime=0x0, clockid=0, rwlock=0x7ffff661c7e0 <_nl_state_lock>) at pthread_rwlock_common.c:830
#2  __GI___pthread_rwlock_wrlock (rwlock=0x7ffff661c7e0 <_nl_state_lock>) at pthread_rwlock_wrlock.c:27
#3  0x00007ffff64664fe in set_binding_values (domainname=0x7ffff5f50009 "pulseaudio", dirnamep=0x7fffffffd7c8, codesetp=0x0)
    at bindtextdom.c:91
#4  0x00007ffff6466945 in set_binding_values (codesetp=0x0, dirnamep=0x7fffffffd7c8, domainname=<optimized out>) at bindtextdom.c:82
#5  __bindtextdomain (domainname=<optimized out>, dirname=<optimized out>) at bindtextdom.c:320
#6  0x00007ffff5f24963 in pa_init_i18n () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so
#7  0x00007ffff61ea52b in pa_mainloop_new () from /lib/x86_64-linux-gnu/libpulse.so.0
#8  0x00007ffff6ae6cf4 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#9  0x00007ffff6ae765b in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#10 0x00007ffff6a39d9c in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#11 0x00007ffff6a35907 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#12 0x000055555682a204 in CSound::Init (this=0x604000000090) at src/engine/client/sound.cpp:215
#13 0x00005555568c9e71 in CClient::Run (this=0x7ffff1d25800) at src/engine/client/client.cpp:1963
#14 0x00005555568f0c75 in main (argc=2, argv=0x7fffffffde08) at src/engine/client/client.cpp:2712
@oy
Copy link
Member

oy commented Feb 15, 2022

@Robyt3 could you try with a newer SDL version?

@Robyt3
Copy link
Contributor Author

Robyt3 commented Feb 15, 2022

It works when I compile SDL 2.0.16 myself, but 2.0.10 is the latest version available via package manager.

I think we should provide precompiled libraries for all operating systems, so we can control which version is being used.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants