Ticket #123 (closed defect: fixed)

Opened 1 year ago

Last modified 10 months ago

segfault when playing two-channel audio to a four-channel combine sink

Reported by: theorbtwo Assigned to: lennart
Priority: normal Milestone: 0.9.7
Component: module-combine-* Severity: normal
Keywords: Cc:

Description

I recently got a four-channel soundcard, which presents itself as two two-channel alsa sinks, hw:0,0 and hw:0,1. The relevant lines from my config file are: load-module module-alsa-sink device=hw:2,0 sink_name=front channels=2 format=s16le rate=48000 channel_map=left,right load-module module-alsa-sink device=hw:2,1 sink_name=rear channels=2 format=s16le rate=48000 channel_map=rear-left,rear-right load-module module-combine sink_name=surround master=front slaves=rear channels=4 channel_map=left,right,rear-left,rear-right set-default-sink surround

A gdb backtrace of the segfault shows: #0 0xb7d71d27 in sink_notify (s=0x80635f8) at modules/module-combine.c:222 #1 0x4f931919 in pa_sink_notify (s=0x80635f8) at pulsecore/sink.c:218 #2 0xb7d71dba in sink_notify (s=0x80635f8) at modules/module-combine.c:231 #3 0x4f931919 in pa_sink_notify (s=0x80635f8) at pulsecore/sink.c:218 #4 0xb7d71dba in sink_notify (s=0x80635f8) at modules/module-combine.c:231 #5 0x4f931919 in pa_sink_notify (s=0x80635f8) at pulsecore/sink.c:218 ... With those two lines repeating themselves.

According to gdb, s is (gdb) p *s $2 = {ref = 1, index = 2, core = 0x8055a28, state = PA_SINK_RUNNING, name = 0x8062b78 "surround",

description = 0x80610e8 "Combined Sink", driver = 0x80593d0 "modules/module-combine.c", is_hardware = 0, owner = 0x80612c8, sample_spec = {format = PA_SAMPLE_S16LE, rate = 48000, channels = 4 '\004'}, channel_map = {

channels = 4 '\004', map = {PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT, PA_CHANNEL_POSITION_REAR_LEFT,

PA_CHANNEL_POSITION_REAR_RIGHT, PA_CHANNEL_POSITION_MONO <repeats 28 times>}}, inputs = 0x80593f0,

monitor_source = 0x80639e8, hw_volume = {channels = 4 '\004', values = {65536, 65536, 65536, 65536,

0 <repeats 28 times>}}, sw_volume = {channels = 4 '\004', values = {65536, 65536, 65536, 65536, 0 <repeats 28 times>}}, hw_muted = 0, sw_muted = 0, notify = 0xb7d71d20 <sink_notify>,

get_latency = 0xb7d71c81 <sink_get_latency_cb>, set_hw_volume = 0, get_hw_volume = 0, set_hw_mute = 0, get_hw_mute = 0, userdata = 0x8062530}

This is a custom build of debian's 0.9.6 (the normal one also has the segfault, but debugging symbols aren't available.

Thanks, please let me know there's any other data I can provide you with.

Change History

10/30/07 15:30:50 changed by lennart

  • status changed from new to closed.
  • resolution set to fixed.
  • milestone set to 0.9.7.

This is very likely fixed in SVn trunk. Feel free to reopen if problem persists.