<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">вт, 24 янв. 2023 г., 13:35 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">On Tuesday, January 24, 2023 4:26:24 AM CET, Phyllis Smith wrote:<br>
> Andrew,<br>
> I found where the problem was introduced.<br>
> Dec. 6, 2022 GIT is good.   3c7c8a08800c3e100388996f0e2c2eea9761ebe1<br>
> Dec.27, 2022 GIT is bad.    175a7314e8e927128787feeb7ba5f42530f0a319<br>
<br>
Please be aware that there is a commit in between also touching the cache <br>
on the same place (which in this case does not leak for me, but does cause <br>
a very high cpu usage).<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">yeah, it was two-part patch I botched, it seems.</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>
938dfbb92e41044bee37394ba72af83c61d7cd87<br>
<br>
When removing the 2 EDL-lines, this resolves the problem for me as well.<br>
<br>
diff --git a/cinelerra-5.1/cinelerra/cache.C <br>
b/cinelerra-5.1/cinelerra/cache.C<br>
index 9186f1f0..0525e38d 100644<br>
--- a/cinelerra-5.1/cinelerra/cache.C<br>
+++ b/cinelerra-5.1/cinelerra/cache.C<br>
@@ -123,8 +123,8 @@ File* CICache::check_out(Asset *asset, EDL *edl, int <br>
block)<br>
        }<br>
<br>
        //printf("users: %i \n", users );<br>
-       EDL *parent = edl->parent_edl;<br>
-       if(parent)<br>
+       // EDL *parent = edl->parent_edl;<br>
+       // if(parent)<br>
        remove_user();<br>
        total_lock->unlock();<br>
 //printf("check out %p %lx %s\n", current, tid, asset->path);<br>
<br>
<br>
And I actually wonder if it was intended as if(!parent) - for me this also <br>
does not make sense - but I first need to understand what Andrew was trying <br>
to solve. You mentioned EDL undo...</blockquote></div></div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto">not just edl undo, but specifically undo-just-right-after loading nested edl - probably peculiarity of my system, because it does not show on Phyllis systems :| </div><div dir="auto"><br></div><div dir="auto">I think just reverting most of it, leaving only commented printf for further investigating on my end is right course of action.</div><div dir="auto"><br></div><div dir="auto">Sorry!</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>
diff --git a/cinelerra-5.1/cinelerra/cache.C <br>
b/cinelerra-5.1/cinelerra/cache.C<br>
index 9186f1f0..35d4cd06 100644<br>
--- a/cinelerra-5.1/cinelerra/cache.C<br>
+++ b/cinelerra-5.1/cinelerra/cache.C<br>
@@ -124,8 +124,9 @@ File* CICache::check_out(Asset *asset, EDL *edl, int <br>
block)<br>
<br>
        //printf("users: %i \n", users );<br>
        EDL *parent = edl->parent_edl;<br>
-       if(parent)<br>
-       remove_user();<br>
+       if(!parent) {<br>
+         remove_user();<br>
+       }<br>
        total_lock->unlock();<br>
 //printf("check out %p %lx %s\n", current, tid, asset->path);<br>
        return current ? current->file : 0;<br>
<br>
<br>
-- <br>
Stefan<br>
</blockquote></div></div></div>