[Cin] Complete system hangs (likely out of memory)

Stefan de Konink stefan at konink.de
Tue Jan 24 11:35:10 CET 2023


On Tuesday, January 24, 2023 4:26:24 AM CET, Phyllis Smith wrote:
> Andrew,
> I found where the problem was introduced.
> Dec. 6, 2022 GIT is good.   3c7c8a08800c3e100388996f0e2c2eea9761ebe1
> Dec.27, 2022 GIT is bad.    175a7314e8e927128787feeb7ba5f42530f0a319

Please be aware that there is a commit in between also touching the cache 
on the same place (which in this case does not leak for me, but does cause 
a very high cpu usage).

938dfbb92e41044bee37394ba72af83c61d7cd87

When removing the 2 EDL-lines, this resolves the problem for me as well.

diff --git a/cinelerra-5.1/cinelerra/cache.C 
b/cinelerra-5.1/cinelerra/cache.C
index 9186f1f0..0525e38d 100644
--- a/cinelerra-5.1/cinelerra/cache.C
+++ b/cinelerra-5.1/cinelerra/cache.C
@@ -123,8 +123,8 @@ File* CICache::check_out(Asset *asset, EDL *edl, int 
block)
        }
 
        //printf("users: %i \n", users );
-       EDL *parent = edl->parent_edl;
-       if(parent)
+       // EDL *parent = edl->parent_edl;
+       // if(parent)
        remove_user();
        total_lock->unlock();
 //printf("check out %p %lx %s\n", current, tid, asset->path);


And I actually wonder if it was intended as if(!parent) - for me this also 
does not make sense - but I first need to understand what Andrew was trying 
to solve. You mentioned EDL undo... 

diff --git a/cinelerra-5.1/cinelerra/cache.C 
b/cinelerra-5.1/cinelerra/cache.C
index 9186f1f0..35d4cd06 100644
--- a/cinelerra-5.1/cinelerra/cache.C
+++ b/cinelerra-5.1/cinelerra/cache.C
@@ -124,8 +124,9 @@ File* CICache::check_out(Asset *asset, EDL *edl, int 
block)
 
        //printf("users: %i \n", users );
        EDL *parent = edl->parent_edl;
-       if(parent)
-       remove_user();
+       if(!parent) {
+         remove_user();
+       }
        total_lock->unlock();
 //printf("check out %p %lx %s\n", current, tid, asset->path);
        return current ? current->file : 0;


-- 
Stefan


More information about the Cin mailing list