HISE Logo Forum
    • Categories
    • Register
    • Login

    Macro Access Violation / pointer crash

    Scheduled Pinned Locked Moved General Questions
    7 Posts 2 Posters 101 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User
      last edited by A Former User

      I've been experiencing some weird intermittent crashes, debug symbols (and some help from mr GPT) seem to point to the Macro Control Handler.

      >	[Inline Frame] Aetheric.exe!juce::ReferenceCountedObjectPtr<juce::WeakReference<hise::Processor,juce::ReferenceCountedObject>::SharedPointer>::operator!=(void *) Line 406	C++
       	[Inline Frame] Aetheric.exe!juce::WeakReference<hise::Processor,juce::ReferenceCountedObject>::get() Line 102	C++
       	[Inline Frame] Aetheric.exe!hise::MacroControlBroadcaster::MacroControlledParameterData::getProcessor() Line 72	C++
       	Aetheric.exe!hise::MacroControlBroadcaster::MacroControlData::getParameterWithProcessorAndIndex(hise::Processor * p, int parameterIndex) Line 271	C++
       	Aetheric.exe!hise::MacroControlledObject::macroConnectionChanged(int macroIndex, hise::Processor * p, int parameterIndex, bool wasAdded) Line 397	C++
       	Aetheric.exe!hise::MacroControlBroadcaster::sendMacroConnectionChangeMessage(int macroIndex, hise::Processor * p, int parameterIndex, bool wasAdded, juce::NotificationType n) Line 118	C++
       	[External Code]	
       	[Inline Frame] Aetheric.exe!juce::InternalMessageQueue::dispatchMessage(juce::MessageManager::MessageBase *) Line 198	C++
       	Aetheric.exe!juce::InternalMessageQueue::dispatchMessages() Line 240	C++
       	Aetheric.exe!juce::InternalMessageQueue::dispatchNextMessage(bool returnIfNoPendingMessages) Line 124	C++
       	[Inline Frame] Aetheric.exe!juce::dispatchNextMessageOnSystemQueue(bool) Line 266	C++
       	[Inline Frame] Aetheric.exe!juce::MessageManager::runDispatchLoop() Line 107	C++
       	[Inline Frame] Aetheric.exe!juce::JUCEApplicationBase::main() Line 262	C++
       	Aetheric.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 25	C++
       	[External Code]	
      

      I currently depend on Macros pretty heavily (XY pad with buttons to randomize all of the other UI elements and connect them randomly to macros etc), and I know it's an older implementation.

      I'm already using deferCallbacks and I've tried putting these on a background worker but they still crash

      Is there something better I should be switching to? Specifically for Rhapsody instruments (iirc vst doesn't support dynamic Parameter allocation)

      Thanks in advance!

      d.healeyD 1 Reply Last reply Reply Quote 0
      • d.healeyD
        d.healey @A Former User
        last edited by

        @iamlamprey is it crashing in HISE?

        Libre Wave - Freedom respecting instruments and effects
        My Patreon - HISE tutorials
        YouTube Channel - Public HISE tutorials

        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @d.healey
          last edited by

          @d-healey Even just assigning a control to a Macro crashes HISE for me lol

          d.healeyD 1 Reply Last reply Reply Quote 1
          • d.healeyD
            d.healey @A Former User
            last edited by

            @iamlamprey latest version of HISE?

            Libre Wave - Freedom respecting instruments and effects
            My Patreon - HISE tutorials
            YouTube Channel - Public HISE tutorials

            ? 1 Reply Last reply Reply Quote 0
            • ?
              A Former User @d.healey
              last edited by

              @d-healey develop's still the latest branch right? if so then yeh

              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @A Former User
                last edited by

                @iamlamprey oh actually i think my git might be broken lol there's been quite a few commits and it says im up to date 😲

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @A Former User
                  last edited by A Former User

                  ok latest build still crashing, here's the stack (just regular old macro assignment, not the OP crash):

                  >	HISE Debug.exe!juce::HeapBlock<std::pair<std::pair<juce::Component::SafePointer<juce::Component>,hise::simple_css::Selector>,juce::ReferenceCountedObjectPtr<hise::simple_css::StyleSheet>>,0>::operator std::pair<std::pair<juce::Component::SafePointer<juce::Component>,hise::simple_css::Selector>,juce::ReferenceCountedObjectPtr<hise::simple_css::StyleSheet>> *() Line 182	C++
                   	HISE Debug.exe!juce::ArrayBase<std::pair<std::pair<juce::Component::SafePointer<juce::Component>,hise::simple_css::Selector>,juce::ReferenceCountedObjectPtr<hise::simple_css::StyleSheet>>,juce::DummyCriticalSection>::begin() Line 172	C++
                   	HISE Debug.exe!juce::Array<std::pair<std::pair<juce::Component::SafePointer<juce::Component>,hise::simple_css::Selector>,juce::ReferenceCountedObjectPtr<hise::simple_css::StyleSheet>>,juce::DummyCriticalSection,0>::begin() Line 331	C++
                   	HISE Debug.exe!hise::simple_css::StyleSheet::Collection::getWithAllStates(juce::Component * c, const hise::simple_css::Selector & s) Line 808	C++
                   	HISE Debug.exe!hise::TableFloatingTileBase::refreshComponentForCell(int rowNumber, int columnId, bool __formal, juce::Component * existingComponentToUpdate) Line 1962	C++
                   	HISE Debug.exe!juce::TableListBox::RowComp::update(int newRow, bool isNowSelected) Line 103	C++
                   	HISE Debug.exe!juce::TableListBox::refreshComponentForRow(int rowNumber, bool rowSelected, juce::Component * existingComponentToUpdate) Line 474	C++
                   	HISE Debug.exe!juce::ListBox::RowComponent::update(const int newRow, const bool nowSelected) Line 86	C++
                   	HISE Debug.exe!juce::ListBox::ListViewport::updateContents() Line 397	C++
                   	HISE Debug.exe!juce::ListBox::ListViewport::updateVisibleArea(const bool makeSureItUpdatesContent) Line 360	C++
                   	HISE Debug.exe!juce::ListBox::ListViewport::visibleAreaChanged(const juce::Rectangle<int> & __formal) Line 337	C++
                   	HISE Debug.exe!juce::Viewport::updateVisibleArea() Line 451	C++
                   	HISE Debug.exe!juce::Viewport::componentMovedOrResized(juce::Component & __formal, bool __formal, bool __formal) Line 196	C++
                   	HISE Debug.exe!juce::Component::sendMovedResizedMessages::__l21::<lambda_1>::operator()(juce::ComponentListener & l) Line 1248	C++
                   	HISE Debug.exe!juce::ListenerList<juce::ComponentListener,juce::Array<juce::ComponentListener *,juce::DummyCriticalSection,0>>::callChecked<`juce::Component::sendMovedResizedMessages'::`21'::<lambda_1>,juce::Component::BailOutChecker>(const juce::Component::BailOutChecker & bailOutChecker, juce::Component::sendMovedResizedMessages::__l21::<lambda_1> && callback) Line 153	C++
                   	HISE Debug.exe!juce::Component::sendMovedResizedMessages(bool wasMoved, bool wasResized) Line 1245	C++
                   	HISE Debug.exe!juce::Component::sendMovedResizedMessagesIfPending() Line 1208	C++
                   	HISE Debug.exe!juce::Component::setBounds(int x, int y, int w, int h) Line 1194	C++
                   	HISE Debug.exe!juce::ListBox::ListViewport::updateVisibleArea(const bool makeSureItUpdatesContent) Line 358	C++
                   	HISE Debug.exe!juce::ListBox::updateContent() Line 625	C++
                   	HISE Debug.exe!hise::TableFloatingTileBase::updateContent() Line 1723	C++
                   	HISE Debug.exe!hise::FrontendMacroPanel::macroConnectionChanged(int macroIndex, hise::Processor * p, int parameterIndex, bool wasAdded) Line 1333	C++
                   	HISE Debug.exe!hise::MacroControlBroadcaster::sendMacroConnectionChangeMessage(int macroIndex, hise::Processor * p, int parameterIndex, bool wasAdded, juce::NotificationType n) Line 118	C++
                   	HISE Debug.exe!hise::MacroControlBroadcaster::MacroControlData::addParameter(hise::Processor * p, int parameterId, const juce::String & parameterName, const hise::ValueToTextConverter & converter, juce::NormalisableRange<double> range, bool readOnly, bool isUsingCustomData, juce::NotificationType n) Line 818	C++
                   	HISE Debug.exe!hise::MacroControlledObject::enableMidiLearnWithPopup() Line 365	C++
                   	HISE Debug.exe!hise::SliderWithShiftTextBox::performModifierAction(const juce::MouseEvent & e, bool isDoubleClick) Line 581	C++
                   	HISE Debug.exe!hise::HiSlider::mouseDown(const juce::MouseEvent & e) Line 955	C++
                   	HISE Debug.exe!juce::Component::internalMouseDown(juce::MouseInputSource source, juce::Point<float> relativePos, juce::Time time, float pressure, float orientation, float rotation, float tiltX, float tiltY) Line 2528	C++
                   	HISE Debug.exe!juce::MouseInputSourceInternal::sendMouseDown(juce::Component & comp, juce::Point<float> screenPos, juce::Time time) Line 142	C++
                   	HISE Debug.exe!juce::MouseInputSourceInternal::setButtons(juce::Point<float> screenPos, juce::Time time, juce::ModifierKeys newButtonState) Line 218	C++
                   	HISE Debug.exe!juce::MouseInputSourceInternal::handleEvent(juce::ComponentPeer & newPeer, juce::Point<float> positionWithinPeer, juce::Time time, const juce::ModifierKeys newMods, float newPressure, float newOrientation, juce::PenDetails pen) Line 332	C++
                   	HISE Debug.exe!juce::MouseInputSource::handleEvent(juce::ComponentPeer & peer, juce::Point<float> pos, __int64 time, juce::ModifierKeys mods, float pressure, float orientation, const juce::PenDetails & penDetails) Line 633	C++
                   	HISE Debug.exe!juce::ComponentPeer::handleMouseEvent(juce::MouseInputSource::InputSourceType type, juce::Point<float> pos, juce::ModifierKeys newMods, float newPressure, float newOrientation, __int64 time, juce::PenDetails pen, int touchIndex) Line 87	C++
                   	HISE Debug.exe!juce::HWNDComponentPeer::doMouseEvent(juce::Point<float> position, float pressure, float orientation, juce::ModifierKeys mods) Line 2672	C++
                   	HISE Debug.exe!juce::HWNDComponentPeer::doMouseDown(juce::Point<float> position, const unsigned __int64 wParam) Line 2823	C++
                   	HISE Debug.exe!juce::HWNDComponentPeer::peerWindowProc(HWND__ * h, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 3722	C++
                   	HISE Debug.exe!juce::HWNDComponentPeer::windowProc(HWND__ * h, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 3620	C++
                   	[External Code]	
                   	HISE Debug.exe!juce::InternalMessageQueue::dispatchNextMessage(bool returnIfNoPendingMessages) Line 149	C++
                   	HISE Debug.exe!juce::dispatchNextMessageOnSystemQueue(bool returnIfNoPendingMessages) Line 266	C++
                   	HISE Debug.exe!juce::MessageManager::runDispatchLoop() Line 107	C++
                   	HISE Debug.exe!juce::JUCEApplicationBase::main() Line 266	C++
                   	HISE Debug.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 1081	C++
                   	[External Code]	
                  
                  

                  Something to do with the MacroControlBroadcaster triggering a ui update 🤷

                  Edit: Don't want to jinx it but latest build seems to have fixed the original issue which is the more important one for me, clicked the randomize button a few hundred times now and haven't had it crash once

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  10

                  Online

                  1.7k

                  Users

                  11.8k

                  Topics

                  102.7k

                  Posts