Forum
    • Categories
    • Register
    • Login

    Pluginval as submodule, worth it?

    Scheduled Pinned Locked Moved General Questions
    2 Posts 1 Posters 15 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.
    • ustkU
      ustk
      last edited by ustk

      @Christoph-Hart I noticed you are updating the JUCE submodule today. At the same time, I am struggling with a plugin that builds fine but straight crashes any host except Pluginval because it uses another thread.
      When running Pluginval from the terminal to get a back trace, it seems I don't have enough info or symbols to find the origin of the issue.

      So I am trying at this very moment to build Pluginval as debug (don't if it'd help) and I've also seen that it can be directly embedded in Juce projects.
      So I wonder if it could be a good addition to have it in order to help us debug an uncooperative plugin?

      I went back to the commit where the Juce submodule has been integrated with no luck (I'm not saying it's the cause, but it painful to go back this because of git willing to overwrite and messing with files...)

      Here's where it crashes and the backtrace:

      * thread #1, name = 'JUCE v8.0.3: Message Thread', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
          frame #0: 0x000000018c8610b0 libsystem_platform.dylib`__bzero + 32
      libsystem_platform.dylib`__bzero:
      ->  0x18c8610b0 <+32>: stnp   q0, q0, [x0]
          0x18c8610b4 <+36>: stnp   q0, q0, [x0, #0x20]
          0x18c8610b8 <+40>: add    x3, x0, #0x40
          0x18c8610bc <+44>: and    x3, x3, #0xffffffffffffffc0
      Target 0: (pluginval) stopped.
      

      (lldb) bt all

      * thread #1, name = 'JUCE v8.0.3: Message Thread', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
        * frame #0: 0x000000018c8610b0 libsystem_platform.dylib`__bzero + 32
          frame #1: 0x0000000115f56fa0 RustEQ - le bleu`___lldb_unnamed_symbol_17ae98 + 264
          frame #2: 0x0000000115f7a490 RustEQ - le bleu`___lldb_unnamed_symbol_19e2fc + 404
          frame #3: 0x000000011662c128 RustEQ - le bleu`___lldb_unnamed_symbol_8500f8 + 48
          frame #4: 0x00000001164eddbc RustEQ - le bleu`___lldb_unnamed_symbol_710880 + 5436
          frame #5: 0x0000000116513f88 RustEQ - le bleu`___lldb_unnamed_symbol_737f1c + 108
          frame #6: 0x0000000115eb2bc4 RustEQ - le bleu`___lldb_unnamed_symbol_d6b4c + 120
          frame #7: 0x0000000116513bdc RustEQ - le bleu`___lldb_unnamed_symbol_737894 + 840
          frame #8: 0x0000000115f80358 RustEQ - le bleu`___lldb_unnamed_symbol_1a38e4 + 2676
          frame #9: 0x0000000115f41ac0 RustEQ - le bleu`___lldb_unnamed_symbol_1651d4 + 2284
          frame #10: 0x0000000115f41ecc RustEQ - le bleu`___lldb_unnamed_symbol_1651d4 + 3320
          frame #11: 0x0000000115f8262c RustEQ - le bleu`___lldb_unnamed_symbol_1a5cd8 + 2388
          frame #12: 0x0000000115fb9b78 RustEQ - le bleu`___lldb_unnamed_symbol_1dd97c + 508
          frame #13: 0x0000000116257830 RustEQ - le bleu`___lldb_unnamed_symbol_47b794 + 156
          frame #14: 0x00000001162561ac RustEQ - le bleu`___lldb_unnamed_symbol_476f58 + 12884
          frame #15: 0x0000000116252650 RustEQ - le bleu`___lldb_unnamed_symbol_4751dc + 5236
          frame #16: 0x0000000115ddeda4 RustEQ - le bleu`___lldb_unnamed_symbol_2ca8 + 252
          frame #17: 0x0000000115df5374 RustEQ - le bleu`___lldb_unnamed_symbol_19314 + 96
          frame #18: 0x000000018f4b5a9c AudioToolboxCore`APComponent::newInstance(unsigned int, bool, void (OpaqueAudioComponentInstance*, int) block_pointer) + 2376
          frame #19: 0x000000018f60a6a4 AudioToolboxCore`instantiate(OpaqueAudioComponent*, unsigned int, AudioComponentOpeningMode, void (OpaqueAudioComponentInstance*, int) block_pointer) + 372
          frame #20: 0x000000018f60b120 AudioToolboxCore`__AudioComponentInstanceNew_block_invoke + 120
          frame #21: 0x000000018f41f528 AudioToolboxCore`Synchronously + 132
          frame #22: 0x000000018f60af28 AudioToolboxCore`AudioComponentInstanceNew + 240
          frame #23: 0x000000010026b6dc pluginval`juce::createAudioUnit(juce::VersionedAudioComponent, std::__1::function<void (ComponentInstanceRecord*, int)>) + 60
          frame #24: 0x000000010026b348 pluginval`juce::AudioUnitPluginFormat::createPluginInstance(juce::PluginDescription const&, double, int, std::__1::function<void (std::__1::unique_ptr<juce::AudioPluginInstance, std::__1::default_delete<juce::AudioPluginInstance>>, juce::String const&)>) + 348
          frame #25: 0x000000010022f4d4 pluginval`juce::AudioPluginFormat::createInstanceFromDescription(juce::PluginDescription const&, double, int, juce::String&) + 248
          frame #26: 0x000000010026b04c pluginval`juce::AudioUnitPluginFormat::findAllTypesForFile(juce::OwnedArray<juce::PluginDescription, juce::DummyCriticalSection>&, juce::String const&) + 260
          frame #27: 0x000000010026dccc pluginval`juce::KnownPluginList::scanAndAddFile(juce::String const&, bool, juce::OwnedArray<juce::PluginDescription, juce::DummyCriticalSection>&, juce::AudioPluginFormat&) + 656
          frame #28: 0x000000010026e124 pluginval`juce::KnownPluginList::scanAndAddDragAndDroppedFiles(juce::AudioPluginFormatManager&, juce::StringArray const&, juce::OwnedArray<juce::PluginDescription, juce::DummyCriticalSection>&) + 428
          frame #29: 0x000000010001a8dc pluginval`std::__1::__function::__func<PluginTests::runTest()::$_0, std::__1::allocator<PluginTests::runTest()::$_0>, void ()>::operator()() + 68
          frame #30: 0x000000010020052c pluginval`juce::MessageQueue::runLoopCallback() + 64
          frame #31: 0x000000018c914bc0 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
          frame #32: 0x000000018c914b54 CoreFoundation`__CFRunLoopDoSource0 + 172
          frame #33: 0x000000018c9148c0 CoreFoundation`__CFRunLoopDoSources0 + 232
          frame #34: 0x000000018c9134e4 CoreFoundation`__CFRunLoopRun + 820
          frame #35: 0x000000018c9e5be0 CoreFoundation`_CFRunLoopRunSpecificWithOptions + 532
          frame #36: 0x00000001996e8560 HIToolbox`RunCurrentEventLoopInMode + 320
          frame #37: 0x00000001996eb8bc HIToolbox`ReceiveNextEventCommon + 488
          frame #38: 0x000000019987513c HIToolbox`_BlockUntilNextEventMatchingListInMode + 48
          frame #39: 0x00000001913eb1a4 AppKit`_DPSBlockUntilNextEventMatchingListInMode + 228
          frame #40: 0x0000000190d3f084 AppKit`_DPSNextEvent + 576
          frame #41: 0x00000001918d469c AppKit`-[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688
          frame #42: 0x00000001918d43a8 AppKit`-[NSApplication(NSEventRouting) nextEventMatchingMask:untilDate:inMode:dequeue:] + 72
          frame #43: 0x0000000190d3213c AppKit`-[NSApplication run] + 368
          frame #44: 0x00000001001f1a48 pluginval`juce::JUCEApplicationBase::main() + 192
          frame #45: 0x00000001001f1938 pluginval`juce::JUCEApplicationBase::main(int, char const**) + 88
          frame #46: 0x000000018c49bda4 dyld`start + 6992
        thread #2
          frame #0: 0x000000018c8159f0 libsystem_kernel.dylib`__workq_kernreturn + 8
        thread #3
          frame #0: 0x000000018c8159f0 libsystem_kernel.dylib`__workq_kernreturn + 8
        thread #4
          frame #0: 0x000000018c8159f0 libsystem_kernel.dylib`__workq_kernreturn + 8
        thread #5, name = 'com.apple.NSEventThread'
          frame #0: 0x000000018c813c34 libsystem_kernel.dylib`mach_msg2_trap + 8
          frame #1: 0x000000018c826574 libsystem_kernel.dylib`mach_msg2_internal + 76
          frame #2: 0x000000018c81c9c0 libsystem_kernel.dylib`mach_msg_overwrite + 480
          frame #3: 0x000000018c813fc0 libsystem_kernel.dylib`mach_msg + 24
          frame #4: 0x000000018c914d68 CoreFoundation`__CFRunLoopServiceMachPort + 160
          frame #5: 0x000000018c913654 CoreFoundation`__CFRunLoopRun + 1188
          frame #6: 0x000000018c9e5be0 CoreFoundation`_CFRunLoopRunSpecificWithOptions + 532
          frame #7: 0x0000000190e60c64 AppKit`_NSEventThread + 184
          frame #8: 0x000000018c857c58 libsystem_pthread.dylib`_pthread_start + 136
        thread #6
          frame #0: 0x000000018c81750c libsystem_kernel.dylib`__psynch_cvwait + 8
          frame #1: 0x000000018c858128 libsystem_pthread.dylib`_pthread_cond_wait + 980
          frame #2: 0x000000018c76d858 libc++.1.dylib`std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 32
          frame #3: 0x00000001000ca768 pluginval`juce::WaitableEvent::wait(double) const + 108
          frame #4: 0x000000010001942c pluginval`PluginTests::runTest() + 448
          frame #5: 0x00000001000d5cfc pluginval`juce::UnitTestRunner::runTests(juce::Array<juce::UnitTest*, juce::DummyCriticalSection, 0> const&, long long) + 448
          frame #6: 0x000000010002a030 pluginval`runTests(PluginTests&, std::__1::function<void (juce::String const&)>) + 640
          frame #7: 0x00000001000299c8 pluginval`validate(juce::String const&, PluginTests::Options, std::__1::function<void (juce::String const&)>) + 172
          frame #8: 0x00000001000295a8 pluginval`AsyncValidator::run() + 344
          frame #9: 0x00000001000293c4 pluginval`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, AsyncValidator::AsyncValidator(juce::String const&, PluginTests::Options, std::__1::function<void (juce::String)>, std::__1::function<void (juce::String, unsigned int)>, std::__1::function<void (juce::String const&)>)::'lambda'()>>(void*) + 52
          frame #10: 0x000000018c857c58 libsystem_pthread.dylib`_pthread_start + 136
        thread #7, name = 'TimoutThread'
          frame #0: 0x000000018c817308 libsystem_kernel.dylib`__semwait_signal + 8
          frame #1: 0x000000018c6f3cc0 libsystem_c.dylib`nanosleep + 220
          frame #2: 0x00000001000919b8 pluginval`juce::Thread::sleep(int) + 80
          frame #3: 0x000000010002adec pluginval`PluginsUnitTestRunner::run() + 100
          frame #4: 0x00000001000cb53c pluginval`juce::Thread::threadEntryPoint() + 292
          frame #5: 0x0000000100197504 pluginval`juce::Thread::createNativeThread(juce::Thread::Priority)::$_455::__invoke(void*) + 152
          frame #6: 0x000000018c857c58 libsystem_pthread.dylib`_pthread_start + 136
        thread #8, name = 'Sample Loading Thread'
          frame #0: 0x000000018c81750c libsystem_kernel.dylib`__psynch_cvwait + 8
          frame #1: 0x000000018c858128 libsystem_pthread.dylib`_pthread_cond_wait + 980
          frame #2: 0x000000018c76d8f0 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 104
          frame #3: 0x0000000116c9785c RustEQ - le bleu`___lldb_unnamed_symbol_ebb7b4 + 168
          frame #4: 0x0000000116954cac RustEQ - le bleu`___lldb_unnamed_symbol_b78c78 + 52
          frame #5: 0x0000000116caa6c0 RustEQ - le bleu`___lldb_unnamed_symbol_ece5a4 + 284
          frame #6: 0x000000018c857c58 libsystem_pthread.dylib`_pthread_start + 136
        thread #9, name = 'Javascript Thread'
          frame #0: 0x000000018c81750c libsystem_kernel.dylib`__psynch_cvwait + 8
          frame #1: 0x000000018c858128 libsystem_pthread.dylib`_pthread_cond_wait + 980
          frame #2: 0x000000018c76d8f0 libc++.1.dylib`std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock<std::__1::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l>>>) + 104
          frame #3: 0x0000000116c9785c RustEQ - le bleu`___lldb_unnamed_symbol_ebb7b4 + 168
          frame #4: 0x0000000116508c3c RustEQ - le bleu`___lldb_unnamed_symbol_72cc00 + 60
          frame #5: 0x0000000116caa6c0 RustEQ - le bleu`___lldb_unnamed_symbol_ece5a4 + 284
          frame #6: 0x000000018c857c58 libsystem_pthread.dylib`_pthread_start + 136
      
      1 Reply Last reply Reply Quote 0
      • ustkU ustk deleted this topic
      • ustkU ustk restored this topic
      • ustkU
        ustk
        last edited by ustk

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        14

        Online

        2.3k

        Users

        13.6k

        Topics

        118.3k

        Posts