Introjucer - JUCE Assertion failure in juce_Thread.cpp:200


#1

Hi!

 

I am new to Lib JUCE and just wanted to take my first steps, but the 'Local modules folder' selection page does not show anything to select.

If i push the 'Check for available updates on the JUCE website' button nothing happens and if i push it multiple times the application crashes...

Starting program: /home/noroot/Other-Git/JUCE/extras/Introjucer/Builds/Linux/build/Introjucer
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
JUCE v2.1.3

**********************************************************
Introjucer 3.1.0  ---  Build date: Sep 23 2013
Log started: 23 Sep 2013 10:46:51pm

[New Thread 0x7ffff5175700 (LWP 4209)]
[New Thread 0x7fffeffff700 (LWP 4232)]
JUCE Assertion failure in juce_Thread.cpp:200

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff6215377 in kill () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff6215377 in kill () from /lib64/libc.so.6
#1  0x00000000005a55b0 in juce::Thread::stopThread (this=0xd10a90, timeOutMilliseconds=10000)
    at ../../../../modules/juce_core/threads/juce_Thread.cpp:200
#2  0x000000000041bcf6 in WebsiteContacterThread::~WebsiteContacterThread (this=0xd10a90, __in_chrg=<optimized out>)
    at ../../Source/Application/jucer_JuceUpdater.cpp:146
#3  0x000000000041bdb4 in WebsiteContacterThread::~WebsiteContacterThread (this=0xd10a90, __in_chrg=<optimized out>)
    at ../../Source/Application/jucer_JuceUpdater.cpp:147
#4  0x000000000041cd66 in juce::ContainerDeletePolicy<juce::Thread>::destroy (object=0xd10a90)
    at ../../Source/Application/../../JuceLibraryCode/modules/juce_core/../../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h:48
#5  0x000000000041cc7d in juce::ScopedPointer<juce::Thread>::operator= (this=0xc6f650,
    newObjectToTakePossessionOf=0x0)
    at ../../Source/Application/../../JuceLibraryCode/modules/juce_core/../../../../../modules/juce_core/memory/juce_ScopedPointer.h:141
#6  0x0000000000419e5a in JuceUpdater::checkNow (this=0xc6e850)
    at ../../Source/Application/jucer_JuceUpdater.cpp:171
#7  0x0000000000419df6 in JuceUpdater::buttonClicked (this=0xc6e850, b=0xc6f058)
    at ../../Source/Application/jucer_JuceUpdater.cpp:123
#8  0x00000000007b1d40 in juce::ListenerList<juce::Button::Listener, juce::Array<juce::Button::Listener*, juce::DummyCriticalSection, 0> >::callChecked<juce::Component::BailOutChecker, juce::Button*> (this=0xc6f168,
    bailOutChecker=..., callbackFunction=&virtual juce::Button::Listener::buttonClicked(juce::Button*),
    param1=0xc6f058)
    at ../../../../modules/juce_gui_basics/../juce_graphics/../juce_events/broadcasters/juce_ListenerList.h:178
#9  0x00000000006f3925 in juce::Button::sendClickMessage (this=0xc6f058, modifiers=...)
    at ../../../../modules/juce_gui_basics/buttons/juce_Button.cpp:369
#10 0x00000000006f36f2 in juce::Button::internalClickCallback (this=0xc6f058, modifiers=...)
    at ../../../../modules/juce_gui_basics/buttons/juce_Button.cpp:313
#11 0x00000000006f3c4b in juce::Button::mouseUp (this=0xc6f058, e=...)
    at ../../../../modules/juce_gui_basics/buttons/juce_Button.cpp:419
#12 0x00000000006e9ea3 in juce::Component::internalMouseUp (this=0xc6f058, source=..., relativePos=..., time=...,
    oldModifiers=...) at ../../../../modules/juce_gui_basics/components/juce_Component.cpp:2481
#13 0x000000000077950e in juce::MouseInputSourceInternal::sendMouseUp (this=0xc542e0, comp=..., screenPos=...,
    time=..., oldMods=...) at ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:145
#14 0x00000000007799be in juce::MouseInputSourceInternal::setButtons (this=0xc542e0, screenPos=..., time=...,
    newButtonState=...) at ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:187
#15 0x000000000077a5be in juce::MouseInputSourceInternal::handleEvent (this=0xc542e0, newPeer=...,
    positionWithinPeer=..., time=..., newMods=...)
    at ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:304
#16 0x00000000006ec46c in juce::MouseInputSource::handleEvent (this=0x7fffffffd3c0, peer=...,
    positionWithinPeer=..., time=1379969240593, mods=...)
    at ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp:566
#17 0x0000000000764475 in juce::ComponentPeer::handleMouseEvent (this=0xc7ab00, touchIndex=0,
    positionWithinPeer=..., newMods=..., time=1379969240593)
    at ../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp:87
#18 0x00000000007a8850 in juce::LinuxComponentPeer::handleButtonReleaseEvent (this=0xc7ab00, buttonRelEvent=...)
    at ../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp:1545
#19 0x00000000007a7d59 in juce::LinuxComponentPeer::handleWindowMessage (this=0xc7ab00, event=...)
    at ../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp:1293
#20 0x00000000007a6499 in juce::LinuxComponentPeer::windowMessageReceive (event=...)
    at ../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp:846
#21 0x000000000060cf48 in juce::InternalMessageQueue::dispatchNextXEvent ()
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:174
#22 0x000000000060caed in juce::InternalMessageQueue::dispatchNextEvent (this=0xc43cb0)
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:93
#23 0x000000000060b01f in juce::MessageManager::dispatchNextMessageOnSystemQueue (returnIfNoPendingMessages=true)
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:388
#24 0x0000000000607b09 in juce::MessageManager::runDispatchLoopUntil (this=0xc43bf0, millisecondsToRunFor=20)
    at ../../../../modules/juce_events/messages/juce_MessageManager.cpp:115
#25 0x00000000006ee8d6 in juce::ModalComponentManager::runEventLoopForCurrentComponent (this=0xc82690)
    at ../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp:271
#26 0x00000000006e6ad7 in juce::Component::runModalLoop (this=0xc7a250)
    at ../../../../modules/juce_gui_basics/components/juce_Component.cpp:1692
#27 0x00000000007664b8 in juce::DialogWindow::LaunchOptions::runModal (this=0x7fffffffd720)
    at ../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp:119
#28 0x0000000000419905 in JuceUpdater::show (moduleList=..., mainWindow=0xc87390, message=...)
    at ../../Source/Application/jucer_JuceUpdater.cpp:87
#29 0x000000000042082f in IntrojucerApp::runModuleUpdate (this=0xc53600, message=...)
---Type <return> to continue, or q <return> to quit---
    at ../../Source/Application/jucer_Application.h:499
#30 0x00000000004205fe in IntrojucerApp::makeSureUserHasSelectedModuleFolder (this=0xc53600)
    at ../../Source/Application/jucer_Application.h:472
#31 0x000000000041e6e9 in IntrojucerApp::initialise(juce::String const&)::ModuleFolderChecker::messageCallback() (
    this=0xc8f720) at ../../Source/Application/jucer_Application.h:103
#32 0x000000000060d0b3 in juce::InternalMessageQueue::dispatchNextInternalMessage (this=0xc43cb0)
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:202
#33 0x000000000060cafd in juce::InternalMessageQueue::dispatchNextEvent (this=0xc43cb0)
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:93
#34 0x000000000060b01f in juce::MessageManager::dispatchNextMessageOnSystemQueue (returnIfNoPendingMessages=false)
    at ../../../../modules/juce_events/native/juce_linux_Messaging.cpp:388
#35 0x0000000000607b09 in juce::MessageManager::runDispatchLoopUntil (this=0xc43bf0, millisecondsToRunFor=-1)
    at ../../../../modules/juce_events/messages/juce_MessageManager.cpp:115
#36 0x0000000000607a5b in juce::MessageManager::runDispatchLoop (this=0xc43bf0)
    at ../../../../modules/juce_events/messages/juce_MessageManager.cpp:96
#37 0x0000000000606fca in juce::JUCEApplicationBase::main ()
    at ../../../../modules/juce_events/messages/juce_ApplicationBase.cpp:235
#38 0x0000000000606ef2 in juce::JUCEApplicationBase::main (argc=1, argv=0x7fffffffdb08)
    at ../../../../modules/juce_events/messages/juce_ApplicationBase.cpp:213
#39 0x000000000041d217 in main (argc=1, argv=0x7fffffffdb08) at ../../Source/Application/jucer_Main.cpp:27

Maybe i should add that i am running Gentoo Linux, so it might be a version problem with some dependencies of lib juce.

 

Thanks,

Benjamin (Iodun)

 


#2

The assertion is just a warning that a thread got stuck and had to be killed - looks like the attempt to read from the website blocked for too long. Probably just needs a time-out. Thanks for the heads-up, I very rarely test the introjucer on linux, but I'll give it a go soon!

In the meantime, don't worry about using that panel anyway - it's better to just grab the latest code via GIT than using the auto-downloader. I'm in the process of trying to figure out a better plan for that mechanism.