protonscr

Bodycam

protonopen appid 2406770Game compatibility - Unofficial
ValveSoftware/Proton#7851 · opened 2024-06-21 by Polyfish0 · updated 2026-10-21 · 8 comments · github · game page · search this game
PPolyfish0 2024-06-21 github

Compatibility Report

  • Name of the game with compatibility issues: Bodycam
  • Steam AppID of the game: 2406770

System Information

  • GPU: RX 7900 XTX
  • Video driver version: Mesa 24.1.1-arch1.1
  • Kernel version: 6.9.5-arch1-1
  • Link to full system information report as Gist:
  • Proton version: Experimental - Bleeding Edge from 21.06.24 16:48

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-2406770.log

Symptoms

The game runs first perfectly fine and after ~10 minutes it crashes.

Reproduction

Just play. I played the game on fullscreen with WQHD on a 4K monitor with FSR3 enabled

Kkisak-valve maintainer 2024-06-21 github

Hello @Polyfish0, friendly note that the attached Proton log isn't for this game.

PPolyfish0 2024-06-21 github

Oh sorry I thought it was the right one. I fix it now

Edit: I am playing since the notice and it did not crashed once. Just as an update. I deleted every proton log after the upload. That's the reason why I need a new log

MMalixulo 2024-06-22 github

Don't worry, I have a nice log for the same or a visibly similar issue.

Compatibility Report

Name of the game with compatibility issues: Bodycam
Steam AppID of the game: 2406770

System Information

GPU: NVIDIA GeForce RTX 4070
Video driver version: NVIDIA 550.90.07
Kernel version: 6.6.34-1-lts
Link to full system information report as Gist:
Proton version: Experimental

I confirm:

  • [x] that I have checked whether there are updates for my system available.

steam-2406770.log

Symptoms

Appears to run great until; the game will suddenly and consistently crash within about ten minutes of gameplay

Reproduction

Simply play for a short period

Kkisak-valve maintainer 2024-06-22 github

Hello @Malixulo, wine: Call from 00006FFFFFC1CE87 to unimplemented function api-ms-win-appmodel-unlock-l1-1-0.dll.IsDeveloperModeEnabled, aborting looks like a line of interest in your log, but the log makes it seem like that's not fatal. There's also hints of libav and nvapi64 having a hard time.

PPolyfish0 2024-06-22 github

Hello @kisak-valve. I got now the right log. I updated the link in my original post and here is it again steam-2406770.log

BBaduk07 2024-06-29 github

### Game crash randomly :

Uploading steam-2406770.log…

1666.215:0130:0218:warn:seh:dispatch_exception backtrace: --- Exception 0xc0000005.
1666.215:0130:0218:trace:seh:dispatch_exception code=c0000005 flags=0 addr=00006FFFFC7E32C4 ip=6ffffc7e32c4
1666.215:0130:0218:trace:seh:dispatch_exception info[0]=0000000000000000
1666.215:0130:0218:trace:seh:dispatch_exception info[1]=00006ffffc93f750
1666.215:0130:0218:warn:seh:dispatch_exception EXCEPTION_ACCESS_VIOLATION exception (code=c0000005) raised
1666.215:0130:0218:trace:seh:dispatch_exception rax=00006ffffffa4260 rbx=0000000019430ab0 rcx=000000002bbbfe50 rdx=00006ffffc93f750
1666.215:0130:0218:trace:seh:dispatch_exception rsi=0000000000000000 rdi=00006ffffc93f758 rbp=000000002bbbfea0 rsp=000000002bbbfdd8
1666.215:0130:0218:trace:seh:dispatch_exception r8=0000000019430ab0 r9=0000000000000000 r10=0000000103b9e5f0 r11=0000000000000202
1666.215:0130:0218:trace:seh:dispatch_exception r12=0000000000dc89d0 r13=000000002bbbfe50 r14=000000002bbbff28 r15=0000000000dc89c0
1666.215:0130:0218:trace:seh:call_vectored_handlers calling handler at 00006FFFFD31B3E0 code=c0000005 flags=0
1666.215:0130:0218:trace:seh:call_vectored_handlers handler at 00006FFFFD31B3E0 returned 0
1666.215:0130:0218:trace:seh:call_vectored_handlers calling handler at 00006FFFFD6AC050 code=c0000005 flags=0
1666.215:0130:0218:trace:seh:call_vectored_handlers handler at 00006FFFFD6AC050 returned 0
1666.215:0130:0218:trace:seh:call_vectored_handlers calling handler at 00006FFFFD92C770 code=c0000005 flags=0
1666.215:0130:0218:trace:seh:call_vectored_handlers handler at 00006FFFFD92C770 returned 0
1666.215:0130:0218:warn:seh:virtual_unwind backtrace: 00006FFFFC7E32C4: L"chrome_elf.dll" + 00000000000832C4.
1666.215:0130:0218:trace:unwind:RtlVirtualUnwind type 1 rip 6ffffc7e32c4 rsp 2bbbfdd8
1666.215:0130:0218:trace:unwind:dump_unwind_info **** func 8320d-83787
1666.215:0130:0218:trace:unwind:dump_unwind_info unwind info at 00006FFFFC84B5D8 flags 1 prolog 0x0 bytes function 00006FFFFC7E320D-00006FFFFC7E3787
1666.215:0130:0218:trace:unwind:dump_unwind_info handler 00006FFFFC7E3830 data at 00006FFFFC84B5E0
1666.215:0130:0218:trace:seh:call_handler calling handler 00006FFFFC7E3830 (rec=000000002BBBFBB0, frame=000000002BBBFDD8 context=000000002BBBF110, dispatch=000000002BBBEFE0)
1666.215:0130:0218:trace:unwind:RtlVirtualUnwind type 0 rip 6ffffc7e32c4 rsp 6ffffffa4260
1666.215:0130:0218:trace:unwind:dump_unwind_info **** func 8320d-83787
1666.215:0130:0218:trace:unwind:dump_unwind_info unwind info at 00006FFFFC84B5D8 flags 1 prolog 0x0 bytes function 00006FFFFC7E320D-00006FFFFC7E3787
1666.215:0130:0218:trace:unwind:dump_unwind_info handler 00006FFFFC7E3830 data at 00006FFFFC84B5E0
1666.215:0130:0218:trace:seh:call_handler handler at 00006FFFFC7E3830 returned 1

1666.215:0130:0218:err:seh:call_stack_handlers invalid frame 00006FFFFFFA4268 (000000002B042000-000000002BBC0000)
1666.215:0130:0218:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.

1666.409:0124:0128:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 0000000000B9FEB0
1666.412:0440:0938:warn:threadname:NtSetInformationThread Thread renamed to L"ThreadPoolForegroundWorker"
1666.413:0440:0934:warn:threadname:NtSetInformationThread Thread renamed to L"ThreadPoolForegroundWorker"

NNTMan 2025-01-06 github

Proton version: experimental-bleeding-edge-9.0-148671-20250106-p394ea4-wb081ac-d28a08c-vb121e6-unstripped

steam-2406770.zip

I confirm the game still crashes randomly often.

Oonepunchconsulting-art 2026-10-21 github
Bodycam hard-freezes (process alive, 0 % CPU on all threads, no crash report) after ~20 min of play under **Proton 11.0-2e**. I attached gdb to the frozen process and found the cause: an **orphaned `fd_cache_mutex` in ntdll.so**.

System

  • Arch Linux, kernel 7.2.11, KDE Plasma 6.8 (Wayland)
  • RX 7900 XTX, Mesa/RADV 26.2.5, Ryzen 9 7900, 64 GB
  • Proton 11.0-2e (proton-11.0-2e-x86_64), SLR 4 depot 4.0.20260928.262390, pressure-vessel 0.20260925.0, WINEFSYNC=1
  • Game build 25505592
  • Launch options: PROTON_LOG=1 gamemoderun %command% (Steam overlay on)

What happens

  1. The Proton log ends with a fatal client error, ~150 s before the first lock timeout:
    wine client error:698: read: Bad file descriptor
    8511.510:015c:01b0:err:sync:RtlpWaitForCriticalSection section 00006FFFFFFA9660 "../src-wine/dlls/ntdll/loader.c: peb_lock" wait timed out in thread 01b0, blocked by 0160, retrying (60 sec)
    (repeats every 60 s)
    
    Thread 0x698 never logged anything else (no thread name).
  2. fd_cache_mutex (in .bss of x86_64-unix/ntdll.so) is held by a thread that no longer exists:
    x/10dw &fd_cache_mutex
    0x7fa55cfe6d40 <fd_cache_mutex>:  2  0  19753  1     # __lock=2 (contended), __owner=LWP 19753
    
    LWP 19753 is not in /proc/<pid>/task (newest live LWP is 19231). So it looks like thread 0x698 = LWP 19753 took fd_cache_mutex, hit EBADF on its server pipe, and was killed by the client-error path without releasing the mutex.
  3. As a result, 6 threads block forever in pthread_mutex_lock (5 × NtClose, 1 × server_get_unix_fd ← NtWriteFile), including GameThread (which also holds peb_lock, so the loader lock then blocks thread 0x1b0 too):
    #0  ?? () [libc.so.6]
    #1  pthread_mutex_lock () [libc.so.6]
    #2  NtClose () [x86_64-unix/ntdll.so]
    #3  __wine_syscall_dispatcher () [ntdll.so]
    
    The remaining threads are idle (mostly in fsync_wait_objects / NtWaitForAlertByThreadId).

Questions / notes

  • Something closed the thread's wineserver fd underneath it (an EBADF on the request/reply pipe). The native code in-process is gameoverlayrenderer.so + libgamemodeauto.so.0 (LD_PRELOAD), RADV, vkd3d-proton, PulseAudio, GStreamer. I don't know which one closed the fd.
  • Independently of who closed the fd: should the client-error/abort-thread path release (or at least not leave) fd_cache_mutex held? Right now one bad fd in one thread deadlocks the whole process instead of failing that one call.
  • I also had two earlier freezes in this game (Proton Hotfix and Proton 11.0) where GameThread spun at 100 % of one core with the GPU idle. I didn't capture stacks for those, so they may be a different bug.

Logs: I have the full Proton log (PROTON_LOG=1, 3 MB), thread apply all bt of all 156 threads, the mutex dump and system info, and can upload them wherever is most useful.

Happy to retest with an unstripped/debug Proton build or extra WINEDEBUG channels (e.g. +server) if that helps.

Related threads

Proton versions

Launch options

DLLs

Error codes