`bufstats~` bug

I get a repeatable crash which I think stems from bufstats~. It only triggers on a certain file, which loads fine into a buffer and plays back through play~. I can’t see a fault in my patching that would cause it to crash, I even implemented a reconstruction of my fluid processors at each iteration of my processing.

log.txt.zip (30.4 KB)

Patch:


----------begin_max5_patcher----------
3272.3oc6cs0jihaE94t+UPwl7l2tQW.IRdYlpRdMUkJ0t4gsR4BaK2MSvfC
f6o6cqs+sGcAv.lKBagGOyN8rqcCBPma5SGcN5P+a2em8pjWYY1V+Eqew5t6
9s6u6N4oDm3thiuydWvqqiBxjWl8pC44Iw1KTMEeXWxg7HVtrQPwYUmJ+s8L
0S1dUP7S1V+mhl2Gju94v3mVlxVmqtBHz6AmEV.Or3KWmxOqtGdGEF2teB2H
IojUe5Gcsqd3oA6X4rzkr3fUQRJvQzzue+8hOVnIeFy9L+4V9TyYuJoT6v37
Ix6h6XHVG3Cd.5tnTD.8ePdPe7N7TdG3fsMGGt2ZazgvMuaZULwUvdXWf7Kp
jWgSPCCbP10e5rzBdqf4tydaXD6EVZVH2973y3N6f86qc56pcKBIxmRjOH5h
pSEFqNkS0oRYuDVd+tUmMHkyi4bF7PpTJX+pG193iIYCKM9PnjTTmjqaJHIo
VHlanlsOXs5lEJqxlOJ0bTBMwmDn7.pq6QoFWG+TTx5+KaScB1NYOKNLdeJK
iEmGjWP4UMugsM3PT9xsIw4Yg+pr+AbcQWsusf95rQAGHI9OlFFDUQ9OkFtI
IVPDMzChSW1cb6dISAZvLxqHNXeG2L2DfKT5owLNSdHaUPpPMULnGV1XdRRT
ylp3kH117hl2GFG2RJlmru+FSCe54At2UI7F2MzyV1R1xCwpVWxsHxWlE7RS
JLOHJpXfZyG+qAwg6BxY4gJU.zopQEv2yYqSShhZHmTs7RGsrgagul84vM4O
K6n5FC7KObeoQjckVdS3Srr7lmKO3orlmIK+MkPu1oNrpXD7xb1t8QbtPAHk
HjH103wiSMUePacfsFmeH.t1fbE1S0asSjttQ6pP55CsC4Iw4.D+G7p+C0iO
wFoM32o.f3ZMTeZNfc698HNXSYQu3g8gI1516BarG7w9wHGGmrOrxF3kZfY1
B2z0WJ9cj9S3gUvnTmlh7tQO0.AUGTzQQR0DMc.DU8PUGAYcTz0QQXGAkcbj
1QQa0.wUGT2of7N.56nHvCiBOLR7vnwChH2Gpb2Hy8fNOAD5tQoaCizFs9j1
agZyGemE7DqA.QcnaEuakx3j0Zl0tsqW+u3FmYVbEE6UKG9+PNN7QhJ+XeX0
gsBi2r2s9PVxgT9sjuTbS7Ck2l5nGTG7ANHLGJJ7kLKPaJHJLlsN4Pbdaa+A
m6Pi4O5aND0xfJVW.FK+B0djceKPnqYO.H65sIWuPMr1ubJvAzchle2Bfpo8
Bis9vVVfX5jrJk41s4YbQLWBlwGIhoV+HP7eBEJeoIaxrvNxCVmv1tkqcQ2H
pW.UNEElX.0K7FT8lsmcFiOS1wm1Mq1PT0ItcGkBvPkZz4xUifaU03yA6YCo
F4WSdZPTl35defArkZ2tGydqnQcbLEtK4ZnPkTh8kIdZDDmwEQJ2pQUeNr.x
oeAD1qMguNYmvH4DWSj2X7F1qsVpv2FhUpqYEqjyRrB+VSrBfF1bkdVxUz2b
xUWCau5eVxU7UPtpDRCKXcFWhgkN6gffoHw.8KwbcLNvYy3FHl7cjk2IYSw0
Mr3T4MPgIlZVwEVmx47E2xcHnJhK+xQ9Tbwmkl9bIPg4n1TnXAEWeJjNEJD9
kfBmhVl646W.JzaBTH4K.AVZYc6NPozx5FlBAlkBq0X8fTaKhh3lkpnotLHO
OMb0gbE.ZWQn+rhj2SQIqBhJhOWULi6IXe2eJCT8aGEzFLyJ4VqT+q+LqfGJ
yJRmOVzy25l0Ejbw3tvwyyBn67r.bruhhq9EUPsEUiIZ.xLt6qb4v67kLPSJ
XZ6s5TRA2D35But5zcqdcNsg4PcZrGOr5v6pY1z44vrxL.pkAT+Ippi.krP+
jbBgnGP0+g.VXQb5zDav7bokAnqcK71BJ9G9GBZtgPwx9uJ93G9mhOYwaTm4
H18rnedI3HnbUxI5TAZt7SzaLxLj0PIRili2fTOwlXB4zYvPMfM.FYeU0gCq
9tFonnoFF8EWC20P9B8M1275a70SeWkvhoNl8rxYwM1H2N2uJy23XjyUVuJx
LwH5UimDiaMUrx434SoBIlTodRf2ZnTO3QIN.GWJseWfbzQpffDc8Qr2kL.u
XuDOtSHOItaGkacsF3ZRuSV6q6Iq8su081bYuCp7lJQvQv0iHvn4jJPZRERk
4rQFHGcEF3YjJfDMoBjybREZRDPxLSD.sLKlQh.nqUgb.MZNoBftTAbNoBnt
TAXNoBjtTwrYWn6HjdoghSVFoxwhR4ucN676giJY6HRpHNyTvJaXaYoQIedh
ErhN0iDgnpGI7YTsJNFrlbDQILpa9CNXA4rPS9TsIWnNSlO88MYoGkx1yh2X
kwxMpxjRpoLIvoyjdFjI+TRX7bXpp142ttSt7w7csMY8wsM4c4pk5lG86iG2
FkDjKrWiByjeWcBc9Ew+OZg14BExFOpZYPNnoaG7UwX5R9zUURkP+IymT+aX
68R1CBUaeVuIavSgFj890Hqrnv0rpn5nqtbb8HPxZtpZkTsUalFeBLKexWir
Gw5ozjC6MNupTpt9xAkT5z4UmuZ3UDv+x3UO7WE1uPJ5xrecMaYMmxB1rr41
d1LS.K4LjZua5O8Batpl99iTcMOd8488Ja96U172qr4ouq.Rxda2pjn4pvlU
ncXhb7qNUxbeo9w6JsCaJWTYQkrLuxEWGoDw287kKtWqcdz0wPAPtTCE7URf
jsOkuDxsVu+HGx3wMA4AKWwMb3b0i+M9Ae7vlvjeJN7+cf83eNalkZp3w.8n
muXCckDabWjyYViYKAu3MaTC2rHZXOA6I8j9y5NXqQ1IwHpiC1GRlWyETwWm
+FbqQkWbc2gaijfWeBPJB8O6D7VfLS8uvD71nVKtgxu6okoPeIHveNyoomtY
SbNSyb4Ce7L1LmYxCoaxtQyYxtQ5lr6RU27jZUcsNQ3+fl+p7F6W9VXanwBE
bmaB7Ad+qol+D3L8rffoFLbLxcZUXTzoafN09kyr4+QEHph8+Dc5ADG6Nyrd
0N70nQJuH.xE7sm6z4aOyx2aYouqA6BGMIQiZs65RqatCldxdvvYi2mctVEr
U5YnvOqTFzJnpUbsyvVy0CRmvgdhOwG5PHXLzCgNug5.Y9OQDtbn9OtjEx1J
Vat1gfF6LOFAiC0YPqAkCv.DYxlCH3bx9yMii7Klqa5.9PpIGGHhVc9BK90Z
8m.KrTSYaPbdeUY3PPJrtomoEHxf54jxc6royQneQUy6oVO2zUpfuJ1RNt0d
qeQF4sAbW67H5s7lUwslJjbFupiIFj4jVoUEOW2EoZ2uOmK1wI5rqSJTmdRL
nx5kqON1sCN1jtfohUWv98xhgyvo6UA15CKTsSECB3ZTUK2+5Cxf0tLPD31I
pjqqg0wfFSO2UUAJSsptqpksaUQF2L9JQONCcei5MvjyEQ3V8JPwa5SMCNKe
RloWa8JOJk7.t7S84Dfoeo02mCHBdJy5e+we9uaT+NTl6.ULUIS2sCeaiGEE
q0QrfoBo226b.0yRCiYErt6z29rDS5l4i+TFKM6wOI19EqRC1r5P5ailKKyO
6tZeMgfvIaOXx86y1jnM8M29fSxo2D5E+kp.vWhAYpdnYxEUsIbctkbFtkAw
AQukElMQiewSHLINH8M8mzSsgpoJ23..moOY+YOoWY.Y6Dx7zF2wc1oAhZyI
LkDbyjwnTFsCycgJo6W8MUkKSukMTs37ehdW6txoQAB0WRdZTtH16B2rm6Ce
dA6AQx3iP7q6uRyiJ1BC.UJVadTQQiB4eUVe+WHS46qg7y2y.hOeeMjdUx3K
qq7zoqLQG4pQG46ahdRHWHi0StlnmzwHeHab..HrNAtp4gTXTMOPkJXr5x7u
XiXpVFwtGqTsKqmFUgaBaXJTidhZBSKJPCoG0H7jN.nzgMtTu5j7Taqo5Gcg
zFQGSHML6IJrbEvdseGT7WXqhAGhiL.EOlvDODEqF.54cbvnmYnJ3XPudMtn
1BRJcHAIr3uQYpBsxCaDJFMFEOnfD54NDEivvihX4AWHE6g0cbDnWcOzu13H
j5u5YlXbjKViARdXCflz78pfFuzMO+dRKOWLAO07EJ5HXwcqYoRyLWZc.R4Q
U2PR5FUQN.leZ0CqAsp96qFfhTE6aiiJ14ppWmYsNhVY71OO5b473XVyXOSo
4GC3DaBG7v53cL0DtGi0YfiqQF2nuSqWT+.QSXIfWVOoC5FtwKKBSYzqUWOx
LhEqPEgpMym3.SCBoiWx.SLpQu3LfMvZL.5f4.HlpmbzwYsKN1IjIXRcY8jV
q8mXhdRK2BnlnmzAdy0DnN.cF5SFeQEnZKp.c4Kpnx4pgwcMST9zAhGepZUE
JyV0DpnWZUKnspCzSqAz9q+y109obC41WMed+ue++GT4yBoN
-----------end_max5_patcher-----------

There are some other externals in there -> externals.zip (619.1 KB) I don’t think you need these to reproduce though as the bit in question is just fluid~ stuff.

Its not particularly feasible for me to send all the audio. So here is the crashy audio. browse.VC.db-wal.wav_242.wav.zip (697 Bytes)

You can reproduce by dropping the file straight into the buffer~ t_in.

I’ll have a gander tomorrow, but I’m not going to promise that the interim dirtiness of remaking objects on the fly isn’t to blame :wink:

The good news is, it does it with both leaving the objects in place and doing the dynamic creation/deletion

I found other files it crashes on 100% of the time. They are also extremely short - with the largest being 1023 samples. I’m going to try avoiding samples under the window size and see if this avoids crashes.

So if I make the window size smaller than my smallest file in samples it doesn’t crash. I tested with a window of 8 samples and no crashes. I went up to 1024 and it crashed on the file that is 1023 samples. Hope this helps narrow it down.

@groma has now put some conditions of sizes - indeed we knew it was a bug but this use case gives us good breadth of tests.

Will it throw an error or just not process?