Big Problems in Big Project....
-
Hmm, I have some very strange behaviour in a large project I have:
in HISE when I load the project it works fine....
but it shows me this message in red:! ! killing thread by force !!
If I try to compile anything I get no problems - but all my panels stop working correctly(LAF and mouse events)
Any one have any ideas?
-
@Lindon JUCE error - https://github.com/christophhart/HISE/blob/master/JUCE/modules/juce_core/threads/juce_Thread.cpp#L229
Time to run in debugger and follow the call stack to the root of the problem.
-
@d-healey said in Big Problems in Big Project....:
@Lindon JUCE error - https://github.com/christophhart/HISE/blob/master/JUCE/modules/juce_core/threads/juce_Thread.cpp#L229
Time to run in debugger and follow the call stack to the root of the problem.
yes I guess - my problem there is I never seem to get anything valuable out of this process...
-
I had better check I'm doing the right sorts of things...
- I need to run the debug version of HISE inside Visual Studio no? The load my project and see what comes out?
-
@Lindon well byuilding the debug version with Faust hits an immedate fail in VS:
1>------ Build started: Project: HISE Standalone_App, Configuration: Debug with Faust x64 ------
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========This isnt making any sense to me as all I'm doing is asking to build the exact HISE version I currently have built....
Nope its me being stupid again - tshirt - medium please...
-
-- well worst of all possible scenarios -- its working perfectly in debug mode....
-
Yes the problem persists in the release version of HISE but is not evident in the debug version - so I'm guessing it some sort of race condition - which I probably have little or no chance of finding....
any ideas @Christoph-Hart ??
-
--- Okay well, this is a very interesting problem.....here's what I think was/is happening....
As I said this is a VERY big project, but previously I have divided it down into a set of 32 include files..yeah there's a lot of code...
Many of these operate in their own namespace, but (sadly) not all....until today...
So it seems that I ran out of variable space, despite my (inconsistent) namespace usage, and HISE wasnt telling me about this, instead it went ahead and tried to compile the code. At some point it reached this limit of variables, but was in the middle of a for loop assigning widget references to these vars (theres a LOT of widgets). So the for loop never completed, and HISE lost patience and killed the thread by force.
So the solution was (here) to use namespaces everywhere.....
..and the solution long term is:
- Use namespaces everywhere
- Ask @Christoph-Hart to look at getting a slightly better error message out of HISE (I realise the "by FORCE" message is in fact from JUCE - but if we can intercept this and check our var usage that would be a good thing to do I think)
Dear God let this be the problem/solution.....