Skip to content

alsa: segfault on 32-bit platforms with 64-bit time_t #1134

@d3d9

Description

@d3d9

I was calling rodio's open_default_sink() and got a segfault within cpal, after a message on the discord channel I was asked to try the beep example and it keeps happening.

From the initial report:

Program received signal SIGSEGV, Segmentation fault.
0x00457620 in cpal::host::alsa::Device::build_stream_inner (self=<error reading variable: Cannot access memory at address 0xffffff38>, 
    conf=<error reading variable: Cannot access memory at address 0xffffff3c>, sample_format=cpal::samples_formats::SampleFormat::I32,
    stream_type=<error reading variable: Cannot access memory at address 0xffffff41>) at src/host/alsa/mod.rs:383
383             let ts = handle.status()?.get_htstamp();

Beep example (cpal @ the latest 45000c1):

$ target/debug/examples/beep
Output device: alsa:default
Default output config: SupportedStreamConfig { channels: 2, sample_rate: 44100, buffer_size: Range { min: 64, max: 131072 }, sample_format: I32 }
Segmentation fault
$ rust-gdb target/debug/examples/beep
(...)
Reading symbols from target/debug/examples/beep...
(gdb) run
Starting program: /home/...../cpal/target/debug/examples/beep 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Output device: alsa:default
Default output config: SupportedStreamConfig { channels: 2, sample_rate: 44100, buffer_size: Range { min: 64, max: 131072 }, sample_format: I32 }

Program received signal SIGSEGV, Segmentation fault.
0x0044d820 in cpal::host::alsa::Device::build_stream_inner (
    self=<error reading variable: Cannot access memory at address 0xffffff04>, conf=...,
    sample_format=cpal::samples_formats::SampleFormat::I32,
    stream_type=<error reading variable: Cannot access memory at address 0xffffff09>)
    at src/host/alsa/mod.rs:408
408             let ts = handle.status()?.get_htstamp();

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions