Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unity Builds todo for Release #7772

Open
baconpaul opened this issue Aug 21, 2024 · 4 comments
Open

Unity Builds todo for Release #7772

baconpaul opened this issue Aug 21, 2024 · 4 comments
Labels
Feature Request New feature request

Comments

@baconpaul
Copy link
Collaborator

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

  1. Split the unity surge-juice target into surge-juce-dsp and surce-juce-plugin and adjust the targets
  2. probably also, just because the use is minimal, rewrite the juce::dsp code in chow

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.

@baconpaul baconpaul added the Feature Request New feature request label Aug 21, 2024
@baconpaul baconpaul added this to the Surge XT 1.4.0 milestone Aug 21, 2024
@mkruselj
Copy link
Collaborator

  1. definitely makes sense to me.

@baconpaul
Copy link
Collaborator Author

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.

@baconpaul
Copy link
Collaborator Author

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

baconpaul added a commit to baconpaul/surge that referenced this issue Aug 24, 2024
This reverts commit 980c98a.
This reversion is, I hope, temporary while we hunt and sort out
the crash in surge-synthesizer#7772
baconpaul added a commit that referenced this issue Aug 24, 2024
This reverts commit 980c98a.
This reversion is, I hope, temporary while we hunt and sort out
the crash in #7772
@baconpaul
Copy link
Collaborator Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature request
Projects
None yet
Development

No branches or pull requests

2 participants