Instacrash for fluid.bufnmfcross~

Again, this may be a non-issue since my understanding is the object has already changed, but I’m getting hard insta-crashes with this.

If I change the @numframes of fluid.bufcompose~ in the basic tab of the helpfile and press button 3, Max crashes instantly.

This is with Max 8.1.5 and Mac OSX 10.14.6

Here are two crash reports:
crashes.zip (68.5 KB)

Highlights here:

Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a5162a fluid::algorithm::NMFCross::multiplicativeUpdates(Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, Eigen::Matrix<double, -1, -1, 0, -1, -1>&, long, long) const + 4762
1 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a4ada0 fluid::algorithm::NMFCross::process(fluid::FluidTensorView<double, 2ul>, fluid::FluidTensorView<double, 2ul>, fluid::FluidTensorView<double, 2ul>, long, long) const + 432
2 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a48dac fluid::client::Result fluid::client::NMFCrossClient::process(fluid::client::FluidContext&) + 3004
3 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a47d00 fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient >::ThreadedTask::process(std::__1::promisefluid::client::Result) + 64
4 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a47b0d fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient >::ThreadedTask::ThreadedTask(std::__1::shared_ptr<fluid::client::ClientWrapperfluid::client::NMFCrossClient >, fluid::client::ParameterSet<fluid::client::ParameterDescriptorSet<std::__1::integer_sequence<unsigned long, 0ul, 0ul, 0ul, 0ul, 0ul, 0ul, 0ul>, std::__1::tuple<std::__1::tuple<fluid::client::InputBufferT, std::__1::tuple<>, fluid::client::Fixed >, std::__1::tuple<fluid::client::InputBufferT, std::__1::tuple<>, fluid::client::Fixed >, std::__1::tuple<fluid::client::BufferT, std::__1::tuple<>, fluid::client::Fixed >, std::__1::tuple<fluid::client::LongT, std::__1::tuple<fluid::client::impl::MinImpl, fluid::client::impl::MaxImpl >, fluid::client::Fixed >, std::__1::tuple<fluid::client::LongT, std::__1::tuple<fluid::client::impl::MinImpl, fluid::client::impl::MaxImpl >, fluid::client::Fixed >, std::__1::tuple<fluid::client::LongT, std::__1::tuple<fluid::client::impl::MinImpl >, fluid::client::Fixed >, std::__1::tuple<fluid::client::FFTParamsT, std::__1::tuple<fluid::client::FFTParams::FFTSettingsConstraint<-1> >, fluid::client::Fixed > > > const>&, bool) + 365
5 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a61cbf fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient >::process() + 223
6 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a61a7f fluid::client::impl::NonRealTime<fluid::client::FluidMaxWrapper<fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient > > >::process() + 95
7 com.cycling74.Max 0x000000010c3c0172 defer + 55
8 org.flucoma.${PRODUCT_NAME:rfc1034identifier} 0x0000000146a60c34 fluid::client::impl::NonRealTime<fluid::client::FluidMaxWrapper<fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient > > >::deferProcess(fluid::client::FluidMaxWrapper<fluid::client::NRTThreadingAdaptor<fluid::client::ClientWrapperfluid::client::NMFCrossClient > >*) + 500

Yes, looks like the number of frames needs to be some multiple (say 4?) of the window size. I think this object’s fate is currently under review, but will take a look.