Page MenuHome

Runtime error in Video Editing when navigating to a folder
Closed, ArchivedPublic

Description

System Information
Operating system: MacOS 10.15.7
Graphics card: Radeon Pro 575 4 GB

Blender Version
Broken: git clone as of 9/30/2020
$ git log -1
commit 2cc913d7d9142ad126c5c3c35e93c92cc11d8214
Worked: N/A

Short description of error

Pointer being freed has not been allocated.

Exact steps for others to reproduce the error

  1. Launch from Xcode in debugger after successful build & install according to these instructions:

https://wiki.blender.org/wiki/Building_Blender/Mac

  1. Choose "Video Editing" under New File on Splash Screen
  1. Double-click on a folder
  1. Crash

WORKAROUND:

This error appears to be impossible to reproduce unless the Mac is experiencing the following "Finder Not Responding" problem when Blender is launched, probably due to filesystem access timeouts or race condition while file or directory access is pending in one thread and another thread calls free(), the fix for the underlying Finder Not Responding condition is to delete a .plist file related to the Finder. After doing so, Blender Video Editing mode immediately stopped crashing.

https://discussions.apple.com/thread/8269234

Note: relaunching Finder was sufficient after deleting the .plist file, it was not necessary to reboot.

Further Note: debug output when Video Editing mode does not crash confirms the idea there was a timeout due to Finder Not Responding (no longer seeing timeouts):

2020-10-03 12:46:33.899939-1000 Blender[9604:5562885] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600000237440> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2020-10-03 12:46:33.939516-1000 Blender[9604:5562885] HALC_ShellDriverPlugIn::Open: Can't get a pointer to the Open routine
2020-10-03 12:46:33.940088-1000 Blender[9604:5562885] HALC_ShellDriverPlugIn::Open: Can't get a pointer to the Open routine
Read prefs: /Users/jasoncoombs/Library/Application Support/Blender/2.91/config/userpref.blend
2020-10-03 12:46:35.784467-1000 Blender[9604:5562885] Metal GPU Frame Capture Enabled
2020-10-03 12:46:35.784773-1000 Blender[9604:5562885] Metal API Validation Enabled
found bundled python: /Users/jasoncoombs/build_xcode/bin/Debug/Blender.app/Contents/Resources/2.91/python

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Needs Information from User.Oct 5 2020, 12:49 PM

Just to make sure: is this only happening in the VSE? Or in the blender File Browser in general?

Unfortunately, I deleted the .plist file that was causing the Finder Not Responding condition. Immediately after doing so I realized I should have made a backup copy so I could reproduce the runtime error on free().

Cannot reproduce now, but from the screen shot showing debug output upon crash compared to the text of debug output upon successful free() of the suspect pointer it is clear why this happened and that this is caused by a timeout while something waits for filesystem access that is in contention with the I/O call being invoked unsuccessfully by the errant Finder process. Without better instructions for reproducing so breakpoints can be set in the debugger, somebody familiar with the filesystem access code for the UI folder navigation will need to trace this and add the right conditional to check that the pointer is valid from previous filesystem read before the pointer is freed.

Closing as we can't reproduce the issue.