[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