View Issue Details

IDProjectCategoryView StatusLast Update
0000880ardourbugspublic2008-11-20 23:43
Reportermeyer Assigned Topaul  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Summary0000880: Continuous memory consumption while recording, up to halt
DescriptionIf I make multitrack recordings with Ardour 0.9beta24 and watch system resources with "top", Ardour continuously occupies new RAM (approx. 0.1% per 10 seconds) while recording.

This goes so far that the system starts swapping and gets sluggish. Then Ardour STOPS RECORDING, saying "The disk system on your computer was not able to keep up with Ardour. Specifically, it failed to read data from disk quickly enough to keep up with playback." (which btw. is incorrect, as I recorded).

My system reaches the halt point after approx. 40 minutes of recording. I record 10 tracks at 44.1 kHz.
My guess is that there's a memory leak somewhere.

My version of Ardour: 0.9beta24,
"Ardour/GTK 0.565.2 running with libardour 0.861.3"
as distributed by Audioslack.
My distribution: Audioslack on top of Slackware 10.0 (kernel 2.4.27-Audioslack)
My system: Pentium 4, 2.8 GHz, 512MB RAM, 80GB HD, M-Audio Delta 1010LT

Ardour showed this behaviour already in beta19.
TagsNo tags attached.

Relationships

related to 0000997 closedtaybin crashes when recording long sessions 
related to 0000939 closedtaybin "disk subsystem too slow" error with recording waveform display ON 

Activities

paul

2005-02-06 21:49

administrator   ~0001966

there have been significant changes to how this stuff is handled since beta24. please wait for beta25 (expected tomorrow, january 7th) and try it out. thanks for the feedback.

meyer

2005-02-14 03:04

reporter   ~0001995

I've compiled beta26, and it also has the bug. The memory consumption seems to depend on the number of tracks, it also takes more and more memory with only 2 track recordings, but not as much as with 10 tracks.
I didn't recompile any libraries ardour may depend on.
Some numbers (roughly)
10 tracks: 3 MB / minute
2 tracks: 0.65 MB / minute30 tracks: 6 MB / minute

I also noticed that Ardour uses much memory even without recording: To simply create 30 tracks it needs 212 MB.... 7 MB / track. Seems much to me.

paul

2005-02-14 03:34

administrator   ~0001996

what is the value of track-buffer-seconds in your ardour.rc file?

meyer

2005-02-15 11:58

reporter   ~0002018

It is 5.000000.
I didn't create or edit the ardour.rc, so the values are probably all default values.
The config section defines following options:
minimum-disk-io-bytes: 262144
track-buffer-seconds: 5.000000
mute-affects-pre-fader: yes
mute-affects-post-fader: yes
mute-affects-control-outs: yes
mute-affects-main-outs: yes
solo-latch: yes
mtc-port: seq
mmc-port: hw:1
jack-time-master: yes
trace-midi-input: yes
trace-midi-output: no
plugins-stop-with-transport: no
no-sw-monitoring: yes
stop-recording-on-xrun: no
stop-at-session-end: no
auto-xfade: yes
no-new-session-dialog: yes
auditioner-left-out: alsa_pcm:playback_1
auditioner-right-out: alsa_pcm:playback_2
use-vst: yes

paul

2005-02-18 03:10

administrator   ~0002023

i have just committed a fix to CVS that corrects a stupid error that caused 4x more memory to be allocated for track buffers than was requested.

paul

2005-02-19 14:58

administrator   ~0002024

thanks for noticing this. i believe that it is fixed. there was a missing memory release call in the code that draws waveforms. there is still a very slow growth in memory use while recording, but its at least an order of magnitude smaller than it was.

in addition, there was a fix applied to CVS that corrected a four-fold over-allocation of various buffers.

so far, CVS testers have been very impressed by the improved responsiveness after these two issues were fixed.

the fixes will show up in either 0.9beta27 (if there is one) or 0.99.

Issue History

Date Modified Username Field Change
2005-02-06 17:03 meyer New Issue
2005-02-06 17:03 meyer E-mail => dirk.i.meyer@gmx.de
2005-02-06 17:03 meyer Name => Dirk Meyer
2005-02-06 21:49 paul Note Added: 0001966
2005-02-14 03:04 meyer Note Added: 0001995
2005-02-14 03:34 paul Note Added: 0001996
2005-02-14 03:34 paul Status new => feedback
2005-02-15 11:58 meyer Note Added: 0002018
2005-02-18 03:10 paul Note Added: 0002023
2005-02-19 14:58 paul Status feedback => resolved
2005-02-19 14:58 paul Resolution open => fixed
2005-02-19 14:58 paul Assigned To => paul
2005-02-19 14:58 paul Note Added: 0002024
2007-02-14 22:47 taybin Relationship added related to 0000997
2007-02-14 22:47 taybin Relationship added related to 0000939
2008-11-20 23:43 seablade Status resolved => closed