<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вс, 22 янв. 2023 г., 21:14 Stefan de Konink <<a href="mailto:stefan@konink.de">stefan@konink.de</a>>:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Andrew,<br>
<br>
Below dooes not give me any significant difference. I have opened 5 <br>
viewers, the memory rose from 4GB to 5.2GB, after closing the windows the <br>
memory reduced to 5.1GB.<br>
<br>
diff --git a/cinelerra-5.1/cinelerra/vwindow.C <br>
b/cinelerra-5.1/cinelerra/vwindow.C<br>
index 7be15eb8..d477dab1 100644<br>
--- a/cinelerra-5.1/cinelerra/vwindow.C<br>
+++ b/cinelerra-5.1/cinelerra/vwindow.C<br>
@@ -160,6 +160,9 @@ void VWindow::handle_close_event(int result)<br>
 {<br>
        delete playback_engine;<br>
        playback_engine = 0;<br>
+       delete playback_cursor;<br>
+       delete_source(1, 0);<br>
+       delete clip_edit;<br>
 }<br>
<br>
<br>
With the change I have also hit the issue below upon closing the main <br>
application with a viewer open; valgrind is pretty convincing this was <br>
caused by the change. My guess 'delete clip_edit' is at least one of the <br>
issues.<br>
<br>
double free or corruption (!prev)<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">yeah, then it was bad idea (without additional checks at keast)</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
After reverting the change, I tried some more valgrinding. Cinelerra is <br>
rather slugish with valgrind on, but I have attached, what I see on viewing <br>
some smaller files.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><div dir="auto">==128034== 3,315,172 (112 direct, 3,315,060 indirect) bytes in 1 blocks are definitely lost in loss record 2,957 of 2,962</div><div dir="auto">==128034==    at 0x4843003: operator new(unsigned long) (vg_replace_malloc.c:422)</div><div dir="auto">==128034==    by 0x985E79: CICache::check_out(Asset*, EDL*, int) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0x9304A4: AModule::import_samples(AEdit*, long, long, long, int, int, Samples*, long) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0x930FCE: AModule::render(Samples*, long, long, int, int, int) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xBA389D: VirtualANode::read_data(Samples*, long, long, long) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xBA370A: VirtualANode::render_as_module(Samples**, Samples*, long, long, long) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xBA375A: VirtualANode::render(Samples*, long, long, long) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xBA2442: VirtualAConsole::process_buffer(long, long) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0x93AA05: ARender::run() (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xC84DD4: Thread::entrypoint(void*) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0x67598FC: start_thread (pthread_create.c:442)</div><div dir="auto">==128034==    by 0x67DAF33: clone (clone.S:100)</div><div dir="auto">==128034== </div><div dir="auto">==128034== 12,190,657 (480 direct, 12,190,177 indirect) bytes in 1 blocks are definitely lost in loss record 2,961 of 2,962</div><div dir="auto">==128034==    at 0x4843003: operator new(unsigned long) (vg_replace_malloc.c:422)</div><div dir="auto">==128034==    by 0xA0E107: FFMPEG::open_decoder() (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xA1928B: FileFFMPEG::open_file(int, int) (in /opt/cingg/bin/cin)</div><div dir="auto">==128034==    by 0xA2A933: File::open_file(Preferences*, Asset*, int, int) (in /opt/cingg/bin/cin)</div><div dir="auto"><br></div><div dir="auto">so, something leaks but is it due to mussing free() on exit or also the case for normal operations ... it seems cache is involved, so may be I messed this up somehow. Does leak exist in previous cin-gg, like one from 2021 or 2020?</div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
-- <br>
Stefan</blockquote></div></div></div>