FirmwareSender error message

I’ve got the compiler and all that up and running but when i use make PATCHNAME=somethingsomething run I get an error message from the firmwaresender (I think)

Sending patch ringmod to OWL-MIDI to run
JUCE v3.2.0
*** Leaked objects detected: 1 instance(s) of class MidiOutput
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class Thread
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 2 instance(s) of class WaitableEvent
JUCE Assertion failure in juce_LeakedObjectDetector.h:95
*** Leaked objects detected: 1 instance(s) of class MessageManager
JUCE Assertion failure in juce_LeakedObjectDetector.h:95

I seems like it is working as it is supposed to and my OWL gets the patch, but is there something I should be aware of or do differently?

Hey @andersskibsted,

Yeah, this is some kind of memory leak… although at first sight it wasn’t obvious to me why it happens. Looked like the software might not have used the juce smart pointers but when i quickly checked the code it wasn’t immediately apparent so I decided to ignore it ;). Maybe @mars will know more.

Oh and btw, FirmwareSender only does the job for me in debug config. I checked what midi device JUCE routines it’s using and compared to OwlControl (which runs fine in release) but it seems to be the same code that is used. For some reason on my machine though FirmwareSender wont establish the connection to the OWL device in release mode. Anybody any thoughts on this…? And it would obviously be cool to get rid of the memory leaks eventually, too.

Cheers,
Ben

That memory leak error has been bugging me too (FirmwareSender issue #1). Revisiting the code I found the culprit: the application is contained in a global variable which isn’t ever deleted. That’s fine for all intents and purposes but the Juce leak detector catches and reports it.

I’ve changed this to a pointer which is explicitly deleted, thus fixing the error messages.

That’s weird! What OS are you on?

1 Like

MacOS 10.12.6

gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-
dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

FirmwareSender will run in release on my machine (e.g. -l lists the midi devices) but it wont establish a connection to upload the .bin). Have you tried running this on a Mac?

Cheers,