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

Cannot close Godot, when AudioServer is locked #66758

Open
Tracked by #76797
qarmin opened this issue Oct 2, 2022 · 2 comments
Open
Tracked by #76797

Cannot close Godot, when AudioServer is locked #66758

qarmin opened this issue Oct 2, 2022 · 2 comments

Comments

@qarmin
Copy link
Contributor

qarmin commented Oct 2, 2022

Godot version

3.6.beta.custom_build. 4d4c6c1

System information

Ubuntu 22.04 - Nvidia GTX 970, Gnome shell 42 X11

Issue description

After executing

AudioServer.lock()

attempt to close Godot freeze app here

Thread 1 "godot" received signal SIGINT, Interrupt.
__futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=8592, futex_word=0x7fffcd8aa910) at ./nptl/futex-internal.c:57
57	./nptl/futex-internal.c: No such file or directory.
(gdb) backtrace
#0  __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=8592, futex_word=0x7fffcd8aa910) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=128, abstime=0x0, clockid=0, expected=8592, futex_word=0x7fffcd8aa910) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7fffcd8aa910, expected=8592, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128)
    at ./nptl/futex-internal.c:139
#3  0x00007ffff7af66a4 in __pthread_clockjoin_ex (threadid=140736641803840, thread_return=0x0, clockid=0, abstime=0x0, block=<optimized out>) at ./nptl/pthread_join_common.c:105
#4  0x0000000005118e77 in std::thread::join() ()
#5  0x0000000004c970ec in Thread::wait_to_finish (this=0x7fffffffdad0) at core/os/thread.cpp:106
#6  0x0000000002b7fff2 in AudioDriverPulseAudio::finish (this=0x7fffffffda90) at drivers/pulseaudio/audio_driver_pulseaudio.cpp:664
#7  0x00000000045e92d3 in AudioServer::finish (this=0x9e2c170) at servers/audio_server.cpp:1058
#8  0x00000000018c5d98 in Main::cleanup (p_force=false) at main/main.cpp:2519

Steps to reproduce

  • Run project from command line

Minimal reproduction project

rrr.zip

@TechnoPorg
Copy link
Contributor

I cannot reproduce this on current master or in 3.5.1, on Windows 10. This issue may be specific to your audio driver.
Should AudioServer be unlocked automatically in the deconstructor, or could a warning be added when it is never unlocked?

@qarmin
Copy link
Contributor Author

qarmin commented Oct 2, 2022

Looks that freeze happens mostly when using command line.
I don't see reason, why at the end Godot still should have locked AudioServer

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

No branches or pull requests

2 participants