Page MenuHome

VSE: Crash when rebuilding proxy
Closed, InvalidPublic

Description

I've captured video with OBS and dropped it into VSE as I always do.

I've set 25% proxy and FreeRun TC for all movie strips and hit "Rebuild Proxy and TC indicies".
Blender starts the jobs nicely, but crashes at some point. No idea why that happens.

There's plenty of disk space left for the proxies to be saved.

Here's the Belnder's backtrace (crash file):

I'm running Linux Mint 18 KDE 5 64-bit.
Blender version is 2.78 (date: 2016-12-08) from blender buildbot IIRC.

Details

Type
Bug

Event Timeline

Bastien Montagne (mont29) triaged this task as Needs Information from User priority.

We are not going to be able to do much with only that crash report am afraid, all it says us is that crash happens in IMB_free_indices(), called from BKE_sequencer_proxy_rebuild_finish()… We need to be able to reproduce the issue to investigate it.

I use proxies quite a bit and don't recall any random crashes. What format are your source videos in? If you can create a sample that crashes every time and upload it that would be great.

Julien DUROURE (julien) closed this task as Invalid.
Julien DUROURE (julien) claimed this task.

Hello,

More than a week without answer : closing.
Don't hesitate to reopen this ticket if you are able to reproduce.

Thanks!

Not going to reopen this yet, but I did have a crash today just as a proxy finished rebuilding. However, restarting blender (in the debugger this time) and rebuilding the proxy for the same strip did not make it crash again, so there's some random factor at work here. Crash file attached, it's fallen over in a different place to OP's though.

Hokay, it did it again while running in the debugger. It's late at night and I was about to stop editing so I'm just going to paste as much as I can here and tidy it up / investigate properly later, with apologies to anyone who gets this mess in their inbox.

Backtrace:
#0 0x0000000002e19e95 in BKE_sequencer_proxy_rebuild_finish (context=0x7fffc0e3c7b8, stop=false) at /home/olly/WorkInProgress/blender/blender-git/source/blender/blenkernel/intern/sequencer.c:2066
#1 0x0000000002054b81 in proxy_endjob (pjv=0x7fff9fcbce48) at /home/olly/WorkInProgress/blender/blender-git/source/blender/editors/space_sequencer/sequencer_edit.c:172
#2 0x0000000001f842bc in wm_jobs_timer (C=0x7fffdd242e78, wm=0x7fffc0e7b788, wt=0x7fffd9e86a88) at /home/olly/WorkInProgress/blender/blender-git/source/blender/windowmanager/intern/wm_jobs.c:586
#3 0x0000000001f9a1e5 in wm_window_timer (C=0x7fffdd242e78) at /home/olly/WorkInProgress/blender/blender-git/source/blender/windowmanager/intern/wm_window.c:1308
#4 0x0000000001f9a34f in wm_window_process_events (C=0x7fffdd242e78) at /home/olly/WorkInProgress/blender/blender-git/source/blender/windowmanager/intern/wm_window.c:1343
#5 0x0000000001f6e0f7 in WM_main (C=0x7fffdd242e78) at /home/olly/WorkInProgress/blender/blender-git/source/blender/windowmanager/intern/wm.c:502
#6 0x0000000001f69117 in main (argc=1, argv=0x7fffffffe688) at /home/olly/WorkInProgress/blender/blender-git/source/creator/creator.c:527

So, context->orig_seq appears to be nonsense at this point. It has segfaulted because context->orig_seq->anims.first is a pointer to fresh air, and passing its anim member to IMB_close_anim_proxies() was invalid. orig_seq is full of numbers, but none of them appear to be valid data - the name is all zeroes, and pointers don't resolve in GDB.

Why the orig_seq is corrupt I have no idea, I'll have to do some digging into where it's made in the first place.

One note to myself in case it's related to causing the crash: I had clicked "rebuild proxies" without having enabled the proxy tickbox for this strip, and the crash happened on the first rebuild after then checking the box. Also I'd been shuffling the strip around, lopped the start off and binned it, etc. while waiting for the proxy to rebuild so any of that might have caused it.

Right. The only build that I can make crash is my own, with a bunch of patches, based on master as of 2017-03-26. A build of the same master, unmodified, does not do it, so my reports are almost certainly a red herring.

However, in the name of science, @Tobiasz Karoń (unfa) could you try these steps with the same buildbot build (hopefully you still have the file lying around) as when you reported?

  1. Start a new blend, switch to video sequencer.
  2. Add a movie. I don't think it matters what, as long as it's big enough to give you time to do the other steps while the proxy is being built.
  3. Select the video strip, tick the "proxy / timecode" box, and press the "rebuild proxy and timecode indices" button. Default proxy settings are fine.
  4. While the proxy is still building, move the playback head to the right, somewhere in the middle of the video strip.
  5. Mouse cursor to the left of the playback head, K to soft cut the strip.
  6. X to delete the left-hand segment
  7. Wait for proxy rebuild to finish.

On the one build I have that crashes, this crashes 100% of the time. Released 2.78b, c etc. are not affected.