Page MenuHome

Program crashes when editing a video file, corrupted it.
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows 10
Graphics card:Nvidia 960M

Blender Version
Broken: (example: 2.82, edbf15d3c044, master, 2018-11-28, as found on the splash screen)
Worked: (newest version of Blender that worked as expected)

Error
whenever i open the file it crashes without displaying an error screen. Its an 11 minute video clip consisting of videos (i made proxies for all of them) images and audio files(voice and background music). its fairly simple, less than 20 000 frames (30fps). I'm new with video editing and that took me a very long time to make. So I hope you're able to help me restore it

I would also like to say that the program crashed fairly often before that, especially when i tried moving long audio clips and adding cross transitions. i got around that by saving every 10 seconds which, annoying as it was, didnt stop me from doing my job. The video was just about finished when it crashed for the last time (and i havent been able to open it since).

Try to open the file

Event Timeline

Eitan (EitanSomething) changed the task status from Needs Triage to Needs Information from User.Thu, Apr 30, 8:23 PM

Can you try opening the file in 2.83. https://builder.blender.org/download/

Can you please provide the system-info.txt file that is created with Help -> Save System Info

Yes, i downloaded 2.83 just now and theres still the same issue. File immediately crashes when opened

Ankit (ankitm) added a subscriber: Ankit (ankitm).EditedThu, Apr 30, 9:01 PM

Could you reliably make another file that crashes like this ?
Please add steps to do so with relevant media files. It would be better if it is confirmed after that.

#0	 in direct_link_scene at source/blender/blenloader/intern/readfile.c:6969
#1	 in direct_link_id at source/blender/blenloader/intern/readfile.c:9361
#2	 in read_libblock at source/blender/blenloader/intern/readfile.c:9832
#3	 in blo_read_file_internal at source/blender/blenloader/intern/readfile.c:10410
#4	 in BLO_read_from_file at source/blender/blenloader/intern/readblenentry.c:320
#5	 in BKE_blendfile_read at source/blender/blenkernel/intern/blendfile.c:443
#6	 in WM_file_read at source/blender/windowmanager/intern/wm_files.c:639
#7	 in wm_file_read_opwrap at source/blender/windowmanager/intern/wm_files.c:2110
#8	 in wm_open_mainfile__open at source/blender/windowmanager/intern/wm_files.c:2252
#9	 in operator_state_dispatch at source/blender/windowmanager/intern/wm_files.c:2146
#10	 in wm_open_mainfile_dispatch at source/blender/windowmanager/intern/wm_files.c:2278
#11	 in wm_open_mainfile__discard_changes at source/blender/windowmanager/intern/wm_files.c:2192
#12	 in operator_state_dispatch at source/blender/windowmanager/intern/wm_files.c:2146
#13	 in wm_open_mainfile_dispatch at source/blender/windowmanager/intern/wm_files.c:2278
#14	 in wm_open_mainfile_invoke at source/blender/windowmanager/intern/wm_files.c:2283
#15	 in wm_operator_invoke at source/blender/windowmanager/intern/wm_event_system.c:1271
#16	 in wm_operator_call_internal at source/blender/windowmanager/intern/wm_event_system.c:1519
#17	 in WM_operator_name_call_ptr at source/blender/windowmanager/intern/wm_event_system.c:1533
#18	 in ghost_event_proc at source/blender/windowmanager/intern/wm_window.c:1477
#19	 in GHOST_CallbackEventConsumer::processEvent(GHOST_IEvent*) at intern/ghost/intern/GHOST_CallbackEventConsumer.cpp:41
#20	 in GHOST_EventManager::dispatchEvent(GHOST_IEvent*) at intern/ghost/intern/GHOST_EventManager.cpp:85
#21	 in GHOST_EventManager::dispatchEvent() at intern/ghost/intern/GHOST_EventManager.cpp:95
#22	 in GHOST_EventManager::dispatchEvents() at intern/ghost/intern/GHOST_EventManager.cpp:101
#23	 in GHOST_System::dispatchEvents() at intern/ghost/intern/GHOST_System.cpp:221
#24	 in ::GHOST_DispatchEvents(GHOST_SystemHandle) at intern/ghost/intern/GHOST_C-api.cpp:276
#25	 in wm_window_process_events at source/blender/windowmanager/intern/wm_window.c:1654
#26	 in WM_main at source/blender/windowmanager/intern/wm.c:447
#27	 in main at source/creator/creator.c:528
Ankit (ankitm) renamed this task from File crashes when started to Program crashes when editing a video file, corrupted it..Thu, Apr 30, 9:10 PM
Ankit (ankitm) updated the task description. (Show Details)

im sorry i really dont know how to do that and that ( #0 in direct_link_scene at source/blender/blenloader/intern/readfile.c:6969
#1 in direct_link_id at source/blender/blenloader/intern/readfile.c:9361
#2 in read_libblock at source/blender/blenloader/intern/readfile.c:9832
#3 in blo_read_file_internal at source/blender/blenloader/intern/readfile.c:10410...)
means total gibberish to me. i dont really know what makes it crash so i cant really make another file that crashes in the same way. But as i said the program would crash fairly often even before this final crash even with other videos that i tried to edit. But despit those crashes i was still able to ope the file afterwards. And this time i cant. Im sorry if i dont make any sense, im trying to explain it to the best of my abilities

Ankit (ankitm) added a comment.EditedThu, Apr 30, 9:28 PM

im sorry i really dont know how to do that and that

No worries. But if you come across some steps that can repeatedly crash Blender, do tell us.

means total gibberish to me.

Yes, it is for developers.

Im sorry if i dont make any sense, im trying to explain it to the best of my abilities

Yes you do; don't worry. :)

For recovery, best shot is the .blend1 file in the directory as the original one, or autosave files in %temp% directory.
Also check C:\Users\brata\AppData\Roaming\Blender Foundation\Blender\2.83\autosave
C:\Users\brata\AppData\Local\Temp\blender.

Ankit (ankitm) changed the task status from Needs Information from User to Confirmed.Thu, Apr 30, 9:28 PM

Thank you, that worked! You were really helpful and im amazed by how quickly your team responded! I wish you all the best and will keep you updated on any possible bugs i come across : )

Richard Antalik (ISS) changed the task status from Confirmed to Needs Information from User.Thu, Apr 30, 10:08 PM

@John B (tristolin) Thanks for report. Can you please upload also file that still works? Also can you try to remember what were you doing when Blender crashed?

It is worying that this is second corrupted .blend file for quite short time. Both from 2.82a with missing seq->effectdata. T75015 had corrupted speed effects.

Will recover this file as well to see if there is any common denominator.

Unfortunately the same video now crashes by rendering. Should i make a separete Bug report or will you be able to answer my question here?
Im giving you my output properties, in case it helps{F8503947}

here is the blender file that does not crash when opened (although it does crash by rendering{F8503966}) i was either trying to move a big audio file (the background music) or adding a cross transition on the last image in the video. i cant remembr by which of these it was, but blender seemed to crash quite often whenever i did these

Unfortunately the same video now crashes by rendering. Should i make a separete Bug report or will you be able to answer my question here?

There is report for that issue T75822: VSE: BLI_assert fails while rendering strip with changed font
It is caused by using custom font in text strip. You can either use Blender 2.80 or 2.81 to render or use default font. Will fix this ASAP.

From what I can see here and in T75015 files had prefetching enabled. I think I have seen some nasty behavior when graph editor is open and strips are animated. Will have to investigate this.

In any case I can't really see mechanism how files can get corrupted.

i was using the standard font in all of the text boxes, however rendering the video with 2.83 worked just fine (although it took almost 2 hours, dont know what the normal rendering speed is). anyway rendering on a different version solved my issue, thanks a lot

Having said that, I also need to make sure, prefetch is disaled during rendering. It has really bad impact on performance.
Shouldn't crash though.

I have found likely crash when creating undo step.

Main:

>	blender.exe!write_scene(WriteData * wd, Scene * sce, const void * id_address) Line 2670	C
 	blender.exe!write_file_handle(Main * mainvar, WriteWrap * ww, MemFile * compare, MemFile * current, int write_flags, const BlendThumbnail * thumb) Line 4142	C
 	blender.exe!BLO_write_file_mem(Main * mainvar, MemFile * compare, MemFile * current, int write_flags) Line 4470	C
 	blender.exe!BKE_memfile_undo_encode(Main * bmain, MemFileUndoData * mfu_prev) Line 131	C
 	blender.exe!memfile_undosys_step_encode(bContext * UNUSED_C, Main * bmain, UndoStep * us_p) Line 96	C
 	blender.exe!undosys_step_encode(bContext * C, Main * bmain, UndoStack * ustack, UndoStep * us) Line 158	C
 	blender.exe!BKE_undosys_step_push_with_type(UndoStack * ustack, bContext * C, const unsigned char * name, const UndoType * ut) Line 557	C
 	blender.exe!BKE_undosys_step_push(UndoStack * ustack, bContext * C, const unsigned char * name) Line 597	C
 	blender.exe!ED_undo_push(bContext * C, const unsigned char * str) Line 98	C
 	blender.exe!ED_undo_push_op(bContext * C, wmOperator * op) Line 293	C
 	blender.exe!wm_operator_finished(bContext * C, wmOperator * op, const bool repeat, const bool store) Line 913	C
 	blender.exe!wm_handler_operator_call(bContext * C, ListBase * handlers, wmEventHandler * handler_base, wmEvent * event, PointerRNA * properties, const unsigned char * kmi_idname) Line 2038	C
 	blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Line 2788	C
 	blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Line 2836	C
 	blender.exe!wm_event_do_handlers(bContext * C) Line 3231	C
 	blender.exe!WM_main(bContext * C) Line 453	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 530	C

Prefetch:

>	blender.exe!DEG::`anonymous namespace'::update_sequence_orig_pointers(const ListBase * sequences_orig, ListBase * sequences_cow) Line 482	C++
 	blender.exe!DEG::`anonymous namespace'::update_sequence_orig_pointers(const ListBase * sequences_orig, ListBase * sequences_cow) Line 485	C++
 	blender.exe!DEG::`anonymous namespace'::update_scene_orig_pointers(const Scene * scene_orig, Scene * scene_cow) Line 496	C++
 	blender.exe!DEG::`anonymous namespace'::update_id_after_copy(const DEG::Depsgraph * depsgraph, const DEG::IDNode * id_node, const ID * id_orig, ID * id_cow) Line 816	C++
 	blender.exe!DEG::deg_expand_copy_on_write_datablock(const DEG::Depsgraph * depsgraph, const DEG::IDNode * id_node, DEG::DepsgraphNodeBuilder * node_builder, bool create_placeholders) Line 926	C++
 	blender.exe!DEG::deg_update_copy_on_write_datablock(const DEG::Depsgraph * depsgraph, const DEG::IDNode * id_node) Line 953	C++
 	blender.exe!DEG::`anonymous namespace'::depsgraph_ensure_view_layer(DEG::Depsgraph * graph) Line 346	C++
 	blender.exe!DEG::deg_evaluate_on_refresh(DEG::Depsgraph * graph) Line 380	C++
 	blender.exe!DEG_evaluate_on_framechange(Main * bmain, Depsgraph * graph, float ctime) Line 83	C++
 	blender.exe!seq_prefetch_update_depsgraph(PrefetchJob * pfjob) Line 202	C
 	blender.exe!seq_prefetch_frames(void * job) Line 345	C
 	blender.exe!tslot_thread_start(void * tslot_p) Line 238	C
 	[External Code]

I will need to understand undo system design a bit more to properly investigate.

Richard Antalik (ISS) changed the task status from Needs Information from User to Confirmed.Mon, May 4, 4:42 AM
Richard Antalik (ISS) triaged this task as High priority.

Undo will change datablock pointers, freeing the previously used ones. If there is a dependency graph doing copy-on-write step in the separate thread you will have a race condition.

Easiest solution would be to stop prefetch job before undo, and resume it after (similar to viewport render, preview icons and so on).

Undo will change datablock pointers, freeing the previously used ones. If there is a dependency graph doing copy-on-write step in the separate thread you will have a race condition.

Easiest solution would be to stop prefetch job before undo, and resume it after (similar to viewport render, preview icons and so on).

Thanks for reference.

I am obviously stopping and reseting prefetch during undo, but I guess a bit too late.
So far I have found oddity that scene was created on different address than original scene was during undo, but that may be different/invalid issue.

Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".Tue, May 5, 11:10 AM
Richard Antalik (ISS) closed this task as Resolved.Sun, May 24, 9:32 PM

While investigating this issue I have found and fixed 2 problems that may be related - rB50ef801a79b5 and rB0d0df683d983. I wasn't able to cause any data corruption, and exact cause is still unknown, but I will assume this issue is resolved.