ac2cz / FoxTelem

AMSAT Fox-1 Telemetry Decoder
GNU General Public License v3.0
52 stars 17 forks source link

FoxTelem 1.03 consumes memory until it crashes (1.5GB of ram consumed on test machine). #93

Closed ac2cz closed 8 years ago

ac2cz commented 8 years ago

Symptoms in the log: 20151204190213: Attempting to decode ... 20151204190219: DDEException: Cannot create thread 20151204190223: No telemetry, squelched ... 20151204190225: Attempting to decode ... javax.sound.sampled.LineUnavailableException: line with format PCM_SIGNED 48000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian not supported. at com.sun.media.sound.DirectAudioDevice$DirectDL.implOpen(Unknown Source) at com.sun.media.sound.AbstractDataLine.open(Unknown Source) at com.sun.media.sound.AbstractDataLine.open(Unknown Source) at decoder.SinkAudio.initializeOutput(SinkAudio.java:94) at decoder.SinkAudio.setDevice(SinkAudio.java:66) at decoder.Decoder.setMonitorAudio(Decoder.java:313) at gui.SourceTab.setViewDecoder1(SourceTab.java:768) at common.PassManager.decode(PassManager.java:361) at common.PassManager.nextState(PassManager.java:171) at common.PassManager.stateMachine(PassManager.java:152) at common.PassManager.run(PassManager.java:546) at java.lang.Thread.run(Unknown Source) 20151204190240: Trying Primary Server: tcp://tlm.amsat.org:41042

ac2cz commented 8 years ago

Test started: ~90MB at run time.

ac2cz commented 8 years ago

It seems that the audio output is not being initialized and closed correctly. Perhaps it is not drained and fully closed at the end of a pass? This seems to get worse after multiple passes. Could this be the memory leak?

ac2cz commented 8 years ago

The audio issue is fixed in 1.03a. Need to run overnight to see if it fixes the memory leak

ac2cz commented 8 years ago

This seems to now be more stable.