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

ALSA Support #3803

Open
lane-s opened this issue Aug 29, 2024 · 1 comment
Open

ALSA Support #3803

lane-s opened this issue Aug 29, 2024 · 1 comment

Comments

@lane-s
Copy link

lane-s commented Aug 29, 2024

I'd like to debug an application under rr which uses an ALSA backend. It seems that many of the system calls related to audio (ioctls prefixed with SNDRV_...) are not yet supported.

I tried to add the calls used by my application, following the procedure of adding them to record_syscall.cc and the related parameter types to kernel_abi.h, but I assume that I did something wrong, because rr hangs when I try to initialize an audio device in the application. The callstack during the hang after atttaching gdb:

__libc_open64 at open64.c:47
rr::ScopedFd::ScopedFd at ScopedFd.h:24
rr::should_copy_mmap_region at util.cc:703
rr::TraceWriter::write_mapped_region at TraceStream.cc:1023
rr::process_mmap at record_syscall.cc:6085
rr::rec_process_syscall_arch<rr::X64Arch> at record_syscall.cc:6695
rr::rec_process_syscall_internal at record_syscall.cc:7206
rr::RecordSession::syscall_state_changed at RecordSession.cc:1315
rr::RecordSession::record_step at RecordSession.c:2695
rr::record at RecordCommand.cc:711
rr::RecordComand::run at RecordCommand.cc:874
main at main.cc:278

It doesn't seem to be immediately related to the code I changed, but I'll admit I have very little knowledge of most of this stuff- I'm mostly an application developer.

Is ALSA support planned? What would need to be done?

@rocallahan
Copy link
Collaborator

IIRC ALSA was a problem because it required sharing memory with kernel drivers in a way that doesn't work with rr. If you can find some documentation for exactly what the kernel/user interface for ALSA looks like we could think about supporting it, but we deny opening alsa.conf for a reason (in 2013!).

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