~michaeltyson


#18 Assertion in MovingMedian::drop 2 months ago

Comment by ~michaeltyson on ~breakfastquay/rubberband

Thank you very much for all that! I am indeed using -ffast-math, so I'll turn it off and see what happens. I'd be surprised if there are any NaN's in the input (with the offline render it's coming straight from an audio file reader, with no filtering/etc), but you never know. Will report back.

Alas, I can't retrieve any values (I haven't been able to repro the crash myself, so all I'm getting are crash logs with the stack trace).

#18 Assertion in MovingMedian::drop 2 months ago

Comment by ~michaeltyson on ~breakfastquay/rubberband

I just found another crash in the same spot - this time, RB was used realtime to perform a pitch change (tempo constant). Here's the stack trace:

__pthread_kill + 8
pthread_kill + 272
abort + 104
err + 0
RubberBand::MovingMedian<double>::drop(double) (.cold.1) + 40 (MovingMedian.h:101)
RubberBand::MovingMedian<double>::drop(double) + 136 (MovingMedian.h:101)
RubberBand::MovingMedian<double>::push(double) + 36 (MovingMedian.h:68)
RubberBand::CompoundAudioCurve::processFiltering(double, double) + 68 (CompoundAudioCurve.cpp:131)
RubberBand::RubberBandStretcher::Impl::calculateIncrements(unsigned long&, unsigned long&, bool&) + 388 (StretcherProcess.cpp:611)
RubberBand::RubberBandStretcher::Impl::processOneChunk() + 272 (StretcherProcess.cpp:368)
RubberBand::RubberBandStretcher::Impl::process(float const* const*, unsigned long, bool) + 912 (StretcherImpl.cpp:1331)

This is using the latest version of the library from the repository.

#18 Assertion in MovingMedian::drop 2 months ago

Ticket created by ~michaeltyson on ~breakfastquay/rubberband

I have an assertion crash showing up in the logs at MovingMedian.h:101, in drop:

assert(*index == value);

This is happening during a non-realtime tempo change (constant pitch) operation, from within 'study' (on iOS 14.6). Full stack trace:

__pthread_kill + 8
pthread_kill + 272
abort + 104 (abort.c:110)
__assert_rtn + 292 (assert.c:96)
RubberBand::MovingMedian<double>::drop(double) (.cold.1) + 40 (MovingMedian.h:101)
RubberBand::MovingMedian<double>::drop(double) + 136 (MovingMedian.h:101)
RubberBand::MovingMedian<double>::push(double) + 36 (MovingMedian.h:68)
RubberBand::CompoundAudioCurve::processFiltering(double, double) + 68 (CompoundAudioCurve.cpp:131)
RubberBand::CompoundAudioCurve::processFloat(float const*, int) + 168 (CompoundAudioCurve.cpp:97)
RubberBand::RubberBandStretcher::Impl::study(float const* const*, unsigned long, bool) + 1300 (StretcherImpl.cpp:1034)

I don't yet know how to reproduce the crash; will update the ticket if more info becomes available.