On 21.04.2017 15:32, Tanu Kaskinen wrote: > Hi all, > > It's been three months since the last release, which means that it's > time to freeze the master branch in preparation for the next release. > > > Here's a review of the current blockers: > > frequent crash in pa_alsa_path_set_volume > https://bugs.freedesktop.org/show_bug.cgi?id=65520 > > Needs investigation, might be difficult to fix. > I took a look into this one and at the log at https://launchpadlibrarian.net/308478962/pulseverbose.log The only possibility it can fail this way is when the channel volumes of s->real_volume or s->thread_info.current_hw_volume are larger than PA_VOLUME_MAX / 10. There are only two calls to pa_alsa_path_set_volume() and each of them is preceded by a call to pa_sw_cvolume_divide_scalar(). This call succeeds, otherwise it would return NULL and pa_alsa_path_set_volume() would crash at another assertion. pa_sw_cvolume_divide_scalar() also checks the volumes on entry, so we can be sure the volumes are valid at that point in time. A base volume of -60dB corresponds to s->base_volume = 0.1 * PA_VOLUME_NORM. This means that pa_sw_volume_divide() which is called by pa_sw_cvolume_divide_scalar() roughly multiplies the input channel values by 10, which leads to the statement above. Can we simply clip pa_sw_volume_divide() at PA_VOLUME_MAX? Or will we need further investigation? Regards Georg