Skip to content

[C api / Rust bindings] Crash upon calling iplSimulatorRunReflections in minimal setup (status access violation) #335

@GitGhillie

Description

@GitGhillie

System Information

  • Steam Audio version: 4.5.2 and master (commit bbf020a)
  • Operating System and version: W10

Issue Description
I'm trying to integrate the FMOD plugin into a Rust game engine which has been working great with direct effects, but now I'm trying to add support for reflections/reverb and ran into a crash when calling iplSimulatorRunReflections. So I tried to recreate the issue with just the C api and the rust bindings that I'm using and ran into the same issue.

I expect debugging Rust bindings is out of scope for Valve, but I wonder if in general my approach is correct? The setup can be seen here, including the settings for the simulator, listener and the source: https://gist.github.com/GitGhillie/b8b56c077e73e77ae16a3b81619c8c33

Let me know if I missed any information or if there is anything I can do to help debug this.

Crash Dump
I do get some warnings before the crash, but if I understand correctly they are not relevant for the setup I have so far.

2024-03-25T20:41:13.713212Z  WARN steamaudio::context: Warning: createSimulator: invalid IPLint32: settings->numVisSamples = 0
2024-03-25T20:41:13.720854Z  WARN steamaudio::context: Warning: setInputs: invalid IPLfloat32: inputs->reverbScale[iBand] = 0.000000
2024-03-25T20:41:13.721199Z  WARN steamaudio::context: Warning: setInputs: invalid IPLfloat32: inputs->reverbScale[iBand] = 0.000000
2024-03-25T20:41:13.721547Z  WARN steamaudio::context: Warning: setInputs: invalid IPLfloat32: inputs->reverbScale[iBand] = 0.000000
2024-03-25T20:41:13.721902Z  WARN steamaudio::context: Warning: setInputs: invalid IPLfloat32: inputs->hybridReverbTransitionTime = 0.000000
2024-03-25T20:41:13.722209Z  WARN steamaudio::context: Warning: setInputs: invalid IPLfloat32: inputs->hybridReverbOverlapPercent = 0.000000
error: process didn't exit successfully: `target\debug\examples\direct_effect.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions