View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000497 | Cinelerra-GG | [All Projects] Bug | public | 2020-08-31 00:59 | 2020-10-07 21:15 |
Reporter | Andrew-R | Assigned To | PhyllisSmith | ||
Priority | normal | Severity | minor | Reproducibility | sometimes |
Status | closed | Resolution | fixed | ||
Product Version | 2020-07 | ||||
Target Version | Fixed in Version | 2020-09 | |||
Summary | 0000497: Background rendering sometimes segfault? | ||||
Description | Using Cin version commit 6ad20126d5f82618e5dd4dd2d14b0682a5529d17 I tried background render feature, it mostly works, but sometimes segfaults (probably by reading not-yet written file?) | ||||
Steps To Reproduce | 1) Set background rendering to some heavy compressor, like tiff or png. 2) set background render directory to tmpfs (/dev/shm/brender , for example) 3) Load heavy video (lie 1080p/60 fps h264) 4) Select region on timeline 5) Turn on Background rendering from menu. 6) Watch as red bar started to appear. 7) Hit play 8) Watch how playback cursor run ahead of already-rendered portion of timeline 9) sometimes it will crash like this: cin Cinelerra Infinity - built: Aug 31 2020 01:29:58 git://git.cinelerra-gg.org/goodguy/cinelerra.git (c) 2006-2019 Heroine Virtual Ltd. by Adam Williams 2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy Cinelerra is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. There is absolutely no warranty for Cinelerra. RenderFarmClient::main_loop: client started FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv BRenderThread::start 1 map=0 equivalent=0 brender_start=4532 result=4532 end=5778 RenderFarmClient::main_loop: Session started from /tmp/cinelerra.d73cd1ef-7464-4c0d-a041-b94ffca8a0e5 FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FFMPEG::open_decoder: some stream times estimated: /home/guest/New_hdd/Swimming with orca in New Zealand-JQ3mDXF3bcE.mkv FileTIFF: Cannot read TIFF header. ** segv at 0xf7583d7f in pid 8190, tid 8346 writing debug data to /tmp/cinelerra_8190.dmp lock_items: 23 lock_frees: 5 AudioALSA::write_buffer err -32(Broken pipe) at sample 174435 ** dump complete Ошибка сегментирования | ||||
Tags | No tags attached. | ||||
The print statement was removed earlier. Will close in a day or 2. | |
Seems to work with tiff and exr :} There is some sort of debug print left, but it doesn't hurt much, may be leave it there until next release (I'll try to stress-test this feature more)? ---- BRender::set_video_map(5600, 2) BRender::set_video_map(5601, 2) BRender::set_video_map(5602, 2) ----- |
|
@Andrew-R A fix for reported problem has been checked into GIT. "move brender set_video_map update to write_frame_done" More later. |
|
patch (this one was already send some time ago to mail List, but just in case you missed it ..) If you apply patch and run Cin with background render set o OpenEXR - it surely will crash too on playback of region you already rendering slowly ... . But I tried with standard choices like tiff and png just to be sure about bug being confined to OpenEXR loading ..it and it turned to be generic? OpenEXR as brender is not very fast, but my point was to use 32 bit per channel floating point formats, so all those (possible) errors accumulating from float-> 8 bit int rgb conversion if you work in RGBA-float will not show up ....
FORMAT_brender_exr_added.diff (452 bytes)
diff --git a/cinelerra-5.1/cinelerra/formatpopup.C b/cinelerra-5.1/cinelerra/formatpopup.C index addd4a2..dc1e951 100644 --- a/cinelerra-5.1/cinelerra/formatpopup.C +++ b/cinelerra-5.1/cinelerra/formatpopup.C @@ -92,7 +92,10 @@ void FormatPopup::create_objects() if(!use_brender) post_item(FILE_TIFF); post_item(FILE_TIFF_LIST); - +#ifdef HAVE_OPENEXR + if(use_brender) + post_item(FILE_EXR_LIST); +#endif update(&format_items, 0, 0, 1); } |
|
Also, while complete not based on this commit https://github.com/olive-editor/olive/commit/27effb9473e66d3d40866df740b148bcb6e02d4a " use OIIO DWAA for cache " I was also experimenting with 'EXR for background render' and this was exactly how I found this bug :} |
|
Also, I was looking in Olive (video editor using qt5) git, and found those two lines: https://github.com/olive-editor/olive/commits/master?after=e42ba3f9d4042eb062e0575ac3af8b187f1e064c+1189&branch=master "made auto-deleting cache on close an option" "added disk preferences pane and the ability to set the disk cache loc… " I think this functionality close to Cin's background render, so solution like 'remove brender files on close' actually might be working idea (but still, I'm not sure if such solution will work well in renderfarm setup, I only tried one instance of Cin running locally, while I think I saw few 'cin -b /tmp/long-string-of-letters-and-numbers' processes anyway) |
|
> Here is the problem with CinGG deleting them -- When do you do this? When you quit out? I think? Or what happen when I set background render to one type of files over same region, and then after it worked, decided to switch filetype? It will be confused, I think ... May be (yet another!) preference, like deleting background render files on quit/disable event ? Also, I use /dev/shm for speed (because my hdd where my real /tmp is resided is not speed daemon), and other users may want to put those files on fast NVME/ssd :} |
|
"Also, even if I un-toggle background rendering and red-brown bar disappear from timeline - files created during its run still around even after I quit CinGG ... Isn't this a bug, too?" Suggestion, which should be added to the manual, is to plan on putting the files in /tmp (like is the default) so that on most systems, when you reboot they will automatically be deleted. Here is the problem with CinGG deleting them -- When do you do this? When you quit out? So if you are being called to dinner and you want to hurry, then instead of quitting right away, Cinelerra is fooling around deleting these files and your food gets cold. Do you have a better suggestion? |
|
Also, even if I un-toggle background rendering and red-brown bar disappear from timeline - files created during its run still around even after I quit CinGG ... Isn't this a bug, too? (those files can be big, and will eat disk space ...for now I manually delete them after each test run) | |
I watched directory where CinGG was creating brender files (pressing and holding ctrl-r in Midnight commander) - sometimes 0-sized files appeared there, and then after some time replaced by properly-sized files. may be check for this case (0-sized file) in readers? Ah, no, files not created in instant either (currently I recompile CinGG, so machine under load, and I can watch this process of file creation in slow motion). Another idea was to add .lock file in writers, remove it when file is surely written, and watch for this .lock file in readers .... |
|
Read the dump and GG was able to reproduce using Big Buck Bunny. He says "yes" that is a bug. He is looking at it now but do not know how long that will take. You analysis of "probably by reading not-yet written file?" sounds like a good possibility. | |
cinelerra_8190.dmp (147,185 bytes) |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2020-08-31 00:59 | Andrew-R | New Issue | |
2020-08-31 00:59 | Andrew-R | File Added: cinelerra_8190.dmp | |
2020-08-31 01:45 | PhyllisSmith | Assigned To | => PhyllisSmith |
2020-08-31 01:45 | PhyllisSmith | Status | new => confirmed |
2020-08-31 01:45 | PhyllisSmith | Note Added: 0003951 | |
2020-08-31 02:19 | Andrew-R | Note Added: 0003952 | |
2020-08-31 02:23 | Andrew-R | Note Added: 0003953 | |
2020-09-01 19:18 | PhyllisSmith | Note Added: 0003957 | |
2020-09-01 19:54 | Andrew-R | Note Added: 0003959 | |
2020-09-04 19:11 | Andrew-R | Note Added: 0003986 | |
2020-09-04 19:16 | Andrew-R | Note Added: 0003987 | |
2020-09-04 19:23 | Andrew-R | File Added: FORMAT_brender_exr_added.diff | |
2020-09-04 19:23 | Andrew-R | Note Added: 0003988 | |
2020-09-05 02:41 | PhyllisSmith | Note Added: 0003992 | |
2020-09-05 08:28 | Andrew-R | Note Added: 0003994 | |
2020-09-30 23:56 | PhyllisSmith | Status | confirmed => resolved |
2020-09-30 23:56 | PhyllisSmith | Resolution | open => fixed |
2020-09-30 23:56 | PhyllisSmith | Fixed in Version | => 2020-09 |
2020-09-30 23:56 | PhyllisSmith | Note Added: 0004093 | |
2020-10-07 21:15 | PhyllisSmith | Status | resolved => closed |