Open baconpaul opened 3 weeks ago
yeah its pretty minimal use. looks like 'a day of work and testing'
also makes rack build way less hairy
we will still need a split for the cli tho but that's a more technical issue.
A nightly user reported following crash which makes me think I didn't get the JUCE ODR stuff correct
Surge patch name ch crash
Process: Surge XT [3873]
Path: /Applications/Surge XT.app/Contents/MacOS/Surge XT
Identifier: org.surge-synth-team.surge-xt
Version: 1.4.0 (1.4.0)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Surge XT [3873]
User ID: 501
Date/Time: 2024-08-24 16:04:56.052 +0200
OS Version: Mac OS X 10.14.6 (18G9323)
Report Version: 12
Anonymous UUID: 9A7AD5ED-E832-5E05-230D-8914D90D0DF6
Sleep/Wake UUID: 09BDA707-5E37-4793-AC10-B25FBC97821F
Time Awake Since Boot: 16000 seconds
Time Since Wake: 3700 seconds
System Integrity Protection: enabled
Crashed Thread: 0 JUCE Message Thread Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00004000db123b20
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [3873]
VM Regions Near 0x4000db123b20:
MALLOC_LARGE 000000011ded6000-000000011dee6000 [ 64K] rw-/rwx SM=PRV
-->
MALLOC_NANO 0000600000000000-0000600008000000 [128.0M] rw-/rwx SM=PRV
Thread 0 Crashed:: JUCE Message Thread Dispatch queue: com.apple.main-thread
0 org.surge-synth-team.surge-xt 0x000000010ef19b65 Surge::GUI::UndoManagerImpl::UndoRecord& std::__1::deque<Surge::GUI::UndoManagerImpl::UndoRecord, std::__1::allocator<Surge::GUI::UndoManagerImpl::UndoRecord> >::emplace_back<std::__1::variant<Surge::GUI::UndoManagerImpl::UndoParam, Surge::GUI::UndoManagerImpl::UndoModulation, Surge::GUI::UndoManagerImpl::UndoOscillator, Surge::GUI::UndoManagerImpl::UndoOscillatorExtraConfig, Surge::GUI::UndoManagerImpl::UndoWavetable, Surge::GUI::UndoManagerImpl::UndoFX, Surge::GUI::UndoManagerImpl::UndoStep, Surge::GUI::UndoManagerImpl::UndoMSEG, Surge::GUI::UndoManagerImpl::UndoFormula, Surge::GUI::UndoManagerImpl::UndoRename, Surge::GUI::UndoManagerImpl::UndoMacro, Surge::GUI::UndoManagerImpl::UndoTuning, Surge::GUI::UndoManagerImpl::UndoPatch, Surge::GUI::UndoManagerImpl::UndoFullLFO, Surge::GUI::UndoManagerImpl::UndoFilterAnalysisMovement> const&>(std::__1::variant<Surge::GUI::UndoManagerImpl::UndoParam, Surge::GUI::UndoManagerImpl::UndoModulation, Surge::GUI::UndoManagerImpl::UndoOscillator, Surge::GUI::UndoManagerImpl::UndoOscillatorExtraConfig, Surge::GUI::UndoManagerImpl::UndoWavetable, Surge::GUI::UndoManagerImpl::UndoFX, Surge::GUI::UndoManagerImpl::UndoStep, Surge::GUI::UndoManagerImpl::UndoMSEG, Surge::GUI::UndoManagerImpl::UndoFormula, Surge::GUI::UndoManagerImpl::UndoRename, Surge::GUI::UndoManagerImpl::UndoMacro, Surge::GUI::UndoManagerImpl::UndoTuning, Surge::GUI::UndoManagerImpl::UndoPatch, Surge::GUI::UndoManagerImpl::UndoFullLFO, Surge::GUI::UndoManagerImpl::UndoFilterAnalysisMovement> const&&&) + 85
1 org.surge-synth-team.surge-xt 0x000000010ef19877 Surge::GUI::UndoManagerImpl::pushUndo(std::__1::variant<Surge::GUI::UndoManagerImpl::UndoParam, Surge::GUI::UndoManagerImpl::UndoModulation, Surge::GUI::UndoManagerImpl::UndoOscillator, Surge::GUI::UndoManagerImpl::UndoOscillatorExtraConfig, Surge::GUI::UndoManagerImpl::UndoWavetable, Surge::GUI::UndoManagerImpl::UndoFX, Surge::GUI::UndoManagerImpl::UndoStep, Surge::GUI::UndoManagerImpl::UndoMSEG, Surge::GUI::UndoManagerImpl::UndoFormula, Surge::GUI::UndoManagerImpl::UndoRename, Surge::GUI::UndoManagerImpl::UndoMacro, Surge::GUI::UndoManagerImpl::UndoTuning, Surge::GUI::UndoManagerImpl::UndoPatch, Surge::GUI::UndoManagerImpl::UndoFullLFO, Surge::GUI::UndoManagerImpl::UndoFilterAnalysisMovement> const&) + 215
2 org.surge-synth-team.surge-xt 0x000000010ef1849a Surge::GUI::UndoManagerImpl::pushPatch(Surge::GUI::UndoManager::Target) + 474
3 org.surge-synth-team.surge-xt 0x000000010f051144 Surge::Widgets::PatchSelector::loadPatch(int) + 116
4 org.surge-synth-team.surge-xt 0x000000010ec43fc9 juce::MessageQueue::runLoopCallback() + 57
5 com.apple.CoreFoundation 0x00007fff36c5e0df __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
6 com.apple.CoreFoundation 0x00007fff36c5e085 __CFRunLoopDoSource0 + 108
7 com.apple.CoreFoundation 0x00007fff36c41e87 __CFRunLoopDoSources0 + 195
8 com.apple.CoreFoundation 0x00007fff36c4144f __CFRunLoopRun + 1196
9 com.apple.CoreFoundation 0x00007fff36c40d51 CFRunLoopRunSpecific + 459
10 com.apple.HIToolbox 0x00007fff35ef41ab RunCurrentEventLoopInMode + 292
11 com.apple.HIToolbox 0x00007fff35ef3ee5 ReceiveNextEventCommon + 603
12 com.apple.HIToolbox 0x00007fff35ef3c76 _BlockUntilNextEventMatchingListInModeWithFilter + 64
13 com.apple.AppKit 0x00007fff3428be89 _DPSNextEvent + 1135
14 com.apple.AppKit 0x00007fff3428ab77 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1361
15 com.apple.AppKit 0x00007fff34284c94 -[NSApplication run] + 699
16 org.surge-synth-team.surge-xt 0x000000010ec359a4 juce::JUCEApplicationBase::main() + 164
17 org.surge-synth-team.surge-xt 0x000000010ec358b5 juce::JUCEApplicationBase::main(int, char const**) + 85
18 libdyld.dylib 0x00007fff61fdd3d5 start + 1
so temporarily reverting
OS X Mojave 10.14.6 i7 2,3Ghz From discord user BaGlow
I bet Asan on an x86 build will show the link error
Unity Builds (#7771) work for development but for release the surge-juce unity target contains dsp and gui both and is linked into common so common can get dsp. The right solution here is
I think 2 is a better solution honestly and then there's no juce until you get to surge-xt, but we may want to do a split anyway for the cli
But anyways just writing this down to do before 1.4.