R3.2.2 Windows 10
It seems that Renoise has an error adjusting the values of the slices of a sample. I am attaching an empty song with an instrument with a single sample with 5 slices: crash_when_move_slices.xrns (643.9 KB)
To reproduce the error:
Load the song.
Go to Waveform for Instrument 1, Sample 1.
Move with the mouse the Slice 02 slightly around Slice 01. Or move Slice 01 around Slice 02. The following window will appear:
All tools are disabled. It’s an internal Renoise error. It will reproduce the error when you release the mouse.
This also causes errors when using from the API: renoise.song().instruments[].samples[]:move_slice_marker(old_marker_pos,new_marker_pos)
It would be appropriate for other users to try this bug to confirm…
A fatal error or crash occurred (unhandled exception in thread: GUI).
A backup of the current document was saved at
‘/Users/XXXXXXXXX/Library/Preferences/Renoise/V3.2.2/CrashBackups/crash_when_move_slices_8_30_2020__8_35_crash.xrns’…
This either happened because of a bug in Renoise, or because of a bug in one of its loaded components (plugins). Please contact bug@renoise.com and report this problem, so that it can be fixed.
Note: It’s very important that we know exactly what has happened (what you were doing before this message popped up), or the problem cannot be replicated/analyzed. Please include a description of what you were doing and which components were being used…
Yep, same issue happened here, Mac OS X 10.15.6 - took a while, though. I fiddled around with the audio, then set the sample to “Loop”, then selected a smaller portion of the audio. After about 2 minutes, I did get it to crash and quit Renoise.
That instrument is broken. It should have 4 “alias sub samples” representing the slices, but they are gone.
So anything you’re doing with slices will crash.
Can you remember how you’ve created this instrument or how it could have been corrupted?
It was probably due to the abusive manipulation of the API, related to move_slice_marker() or with slice_markers, but never add or remove any slices from the API. I really don’t know how it happened. Maybe crossing values (sample positions) of the slices from the API…
…
On the other hand, I believe that the update of the slice_markers table is slower than its _observable time when it changes from 0 slice to 1 slice (add a slice with the mouse for the first time). That is, there may be a short moment that the observable still returns the number of table members=0 (#renoise.song().selected_sample.slice_markers), when it is loading the first slice, should return number of table members=1, only in this case. To avoid errors here, I have had to add a very short 10ms or 5ms timer.
I guess this is another unrelated case, but it may also return some unwanted no critical error when using the API.