Sync selected scales crashing Live 11

I have 1 instance of Scaler (2.9.1) that is recording audio live to learn the key and I want to sync that key to multiple other instances of Scaler. I have scaler listen to the audio track I’m playing, once it recognizes the key I stop recording and go to the sync menu and choose the “selected scale” option. I press sync and it crashes ableton live 11.3.30

This happens almost everytime. The operation succeeds maybe 2 out of 10 trys.

According to an analysis of the crash report this thread is to blame.

Thread 0 Crashed:: MainThread Dispatch queue: com.apple.main-thread
0 Scaler2 0x38eaff194 scaler::SuggestionModel::updateSuggestionChords() + 636

Cause:

The crash occurred due to an invalid memory access (EXC_BAD_ACCESS) in the Scaler2 library, specifically in the updateSuggestionChords function.

Possible Reasons:

  1. Memory corruption or invalid pointer usage

  2. Incompatible library version or configuration

  3. Conflict with other plugins or software

I use Scaler in for live performance and I need this feature to keep all my Scalers in key. Is there a solution? I can include the entire crash report if requested.

Hi @douglas_h, welcome to the forum. Would you mind providing some more details about what computer and operating system you are using?

We’re running Mac OS Sonoma on an M2 Mac Studio and have no issues activating selected scale sync after detecting audio in Ableton Live 11 or 12.

Also, are you using the Scaler 2 instrument plugin or the ScalerAudio2 audio effect plugin for audio detection? Regardless I did try with both and had no crashes. If you can share you Ableton Live Set file somewhere like DropBox we can try to test with that. Thanks.

Hi, thanks for the quick response. Scaler is an outstanding instrument, It’s ambitious and delivers on it’s ambition. It’s become essential to my Ableton rig for live improvisation.

I am running an M1 Max 32GB with Sonoma 14.5
each instance of Scaler is titled “Scaler 2” so I assume that means I’m running the instrument plugin. I am unaware of the difference between the two, let me know if you have a recommendation on which one to use in what situations.

I ran around 10-15 more tests last night and had a long streak without any crashes, so maybe the bug is afraid that I reached out to you and is now in hiding :slight_smile:

Here is a link to a folder with my ableton project file and a recent crash report.
let me know if you need more info about the project file or plugins I’m using.

https://drive.google.com/drive/folders/1aT02sGZ7fsiCFxLOWsH-WYK7hhpR6HKL?usp=sharing

My use case for the attached Ableton file is as follows. (keep in mind I’m doing all of this in a live performance context)

1 begin playback on an audio track ( TRX-A or B), (you can load in your own audio track to test)
2 open the instance of Scaler on the “TRX OUT” channel.
3 press the record button to detect audio.
4 stop record audio once the key is established.
5 go to sync menu and choose “selected scale”

at this point it often crashes (I’ve noticed is that it seems to not crash if I press sync after it has registered all of the other instances of Scaler that are running. although I have had it crash after I hit refresh, waited until it recognized all instances and then pressed sync. so I can’t say if this is significant)

6 If it doesn’t crash then I activate “live sync” to slave all other instances of scaler.
last, I copy chords from section A or B to Section C which in turn keeps all other instances of Scaler using the same notes.
7 If I get this far it’s a success.

However, I have had Scaler crash when copying notes from section A into Section C. It seems to me this happens only when there is enough notes in Sec.A to fill up 2-4 patterns in Sec. C. My thinking is maybe It’s using too much memory. So this too is a problem but one that is less frequent than the syncing issue, and one that seems to be preventable by not copying more than a single pattern of notes.

I hope this helps you diagnose what’s happening. Please reach out with any questions.

Doug

Hi Dougles. Thanks for the extra info and linked files. Unfortunately I’m at a bit of a loss here. I’ve opened up your Live Set and followed your steps and everything seems to be working fine. I’m using a similar Mac to yours on the same OS and have not seen any crashes using sync, or copying chords from Section A to C.

It sounds like you’re only occasionally seeing crashes now, which is better I suppose but obviously not ideal. My only suggestion at this point would be to try reinstalling Scaler 2 if you haven’t already.

You can just try reinstalling using the latest installer, however you may have more luck manually deleting Scaler 2 files first, or using some kind of Mac uninstaller app to help. Let me know if you need more assistance here.

Sorry I can’t offer much more help. If you do continue to see regular crashes after reinstalling please send through your Mac OS crash report and we can take a look. These are bit more digestable than the Ableton Live crash reports.

Hi Tristan, I had a good run without any crashes, but that ended with two in the last few days.

I have the full crash reports if you want me to send them. Here is what Chat GPT said about each one.

Most Recent Crash:

Crash Overview

  • Process: Ableton Live 12 Suite (Live)
  • Version: 12.1.5
  • Operating System: macOS 14.5 (Sonoma)
  • Crash Type: EXC_BAD_ACCESS (SIGSEGV) – Segmentation fault caused by accessing an invalid memory address.
  • Crashed Thread: Thread 55 (ESSENTIA_THREAD).

Key Details

  1. Crash Location:
  • The crash occurs in the ScalerAudio2 plugin during the execution of the isChordSimilar function in scaler::EssentiaAnalyser.
  • A null pointer or invalid memory is being accessed during the chord similarity analysis process.
  1. Stack Trace Highlights:
  • ScalerAudio2 is performing chord analysis through its EssentiaAnalyser component.
  • Functions like process() and run() in the same plugin seem to have passed unverified or corrupted data leading to the segmentation fault.
  1. Plugins Involved:
  • ScalerAudio2 Plugin: The fault lies specifically in this plugin’s analysis logic.
  • Thread behavior suggests improper synchronization or failure to handle invalid inputs gracefully.
  1. Common Error Patterns:
  • Dereferencing a null or uninitialized pointer.
  • Missing input validations, resulting in corrupted data flow to critical functions like isChordSimilar.

Crash from a few days ago:

This crash report provides details about an application crash involving Ableton Live 12 Suite. Here’s an analysis of the crash:

  1. Crash Overview:
  • Application: Ableton Live 12 Suite (version 12.1.5)
  • Operating System: macOS 14.5 (Sonoma)
  • Exception Type: EXC_BAD_ACCESS (SIGSEGV) – This indicates that the application attempted to access an invalid memory address (0x0000000000000000), which is a null pointer dereference.
  • Termination Reason: Signal 11 (Segmentation Fault).
  1. Crashed Thread:
  • Thread: 47 (ESSENTIA_THREAD)
  • Crash Details:
    • The crash occurs in the ScalerAudio2 module, specifically in the scaler::EssentiaAnalyser class. The issue seems to stem from the function isChordSimilar, which likely encounters a null pointer or invalid memory while comparing chords.
    • The crash stack trace points to problems during processing in the EssentiaAnalyser::process() and AudioAnalyser::run() methods.
  1. Primary Cause:
  • The segmentation fault suggests that there is a memory management issue, such as dereferencing a null or uninitialized pointer. This might be due to:
    • Incorrect handling of data in the isChordSimilar function.
    • Missing error checks in EssentiaAnalyser::process() or related methods.
    • An invalid state of objects being passed into these methods (e.g., shared_ptr objects).
  1. Affected Components:
  • ScalerAudio2 Plugin: The crash occurs within the ScalerAudio2 plugin, specifically during audio analysis.
  • ESSENTIA_THREAD: This thread appears to be responsible for handling audio processing tasks.
  1. Suggestions for Resolution:
  • Update Software: Ensure that both Ableton Live and the ScalerAudio2 plugin are updated to their latest versions. Software updates often contain bug fixes for known issues.
  • Plugin Compatibility: Verify that the ScalerAudio2 plugin is compatible with the version of Ableton Live and macOS you are using.
  • Debugging:
    • Review the implementation of isChordSimilar and ensure proper checks for null pointers or invalid objects.
    • Investigate how process() and run() handle their inputs and outputs, ensuring that memory is managed safely.
  • Disable Problematic Plugins: Temporarily disable ScalerAudio2 and test if the crash persists.