Download

Media Framework causes crash during packaging on Mac Only

We are using the Media Framework to play movie in game in umg. Works in PIE and on-the-fly device builds.

But anytime we try to package a project that contains a movie, UE crashes during building.
This is only on the mac, it packages a windows build just fine.

Thanks in advance for any help - really stuck


TBaseUObjectMethodDelegateInstance<false, UMediaTexture, void ()>::ExecuteIfSafe() const Address = 0x13f34d27 (filename not found) [in UE4Editor-MediaAssets.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: TBaseMulticastDelegate<void>::Broadcast() const Address = 0x13f31090 (filename not found) [in UE4Editor-MediaAssets.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: TBaseUObjectMethodDelegateInstance<false, UMediaPlayer, void ()>::ExecuteIfSafe() const Address = 0x13f35f37 (filename not found) [in UE4Editor-MediaAssets.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: TBaseMulticastDelegate<void>::Broadcast() const Address = 0x3f109ea0 (filename not found) [in UE4Editor-AvfMedia.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: invocation function for block in FAvfMediaPlayer::Open(FString const&) Address = 0x3f107464 (filename not found) [in UE4Editor-AvfMedia.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: invocation function for block in PerformBlockOnThread(FCocoaRunLoopSource&, void () block_pointer, NSArray*, NSString*, bool) Address = 0xdf180c0 (filename not found) [in UE4Editor-Core.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: FCocoaRunLoopSource::Process(__CFString const*) Address = 0xdf30bcc (filename not found) [in UE4Editor-Core.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: -[FCocoaRunLoopSourceInfo perform] Address = 0xdf06089 (filename not found) [in UE4Editor-Core.dylib]
MainFrameActions: Packaging (Mac): UE4Editor: CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION() Address = 0x9531ba01 (filename not found) [in CoreFoundation]
MainFrameActions: Packaging (Mac): UE4Editor: __CFRunLoopDoSources0() Address = 0x9530db8d (filename not found) [in CoreFoundation]
MainFrameActions: Packaging (Mac): UE4Editor: __CFRunLoopRun() Address = 0x9530d1bf (filename not found) [in CoreFoundation]
MainFrameActions: Packaging (Mac): UE4Editor: CFRunLoopRunSpecific() Address = 0x9530cbd8 (filename not found) [in CoreFoundation]

MainFrameActions: Packaging (Mac): UE4Editor: begin: stack for UAT
MainFrameActions: Packaging (Mac): UE4Editor: U
MainFrameActions: Packaging (Mac): UE4Editor: end: stack for UAT
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:119] 0]LogPhysics:Warning: PHYSX: ./…/…/PhysX/src/NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:120] 0]LogPhysics:Warning: PHYSX: ./…/…/PhysX/src/NpScene.cpp (2946) 8 : PxScene::unlockWrite() called without matching call to PxScene::lockWrite(), behaviour will be undefined.[2015.08.15-14.27.35:451] 0]LogModuleManager:Warning: ModuleManager: Module ‘PakFile’ not found - its StaticallyLinkedModuleInitializers function is null.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogModuleManager:Warning: ModuleManager: Module ‘SandboxFile’ not found - its StaticallyLinkedModuleInitializers function is null.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit:Display: RandInit(-1091078316) SRandInit(-1091075382).
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogTaskGraph: Started task graph with 3 named threads and 6 total threads.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Version: 4.9.0-2647674+++depot+UE4-Releases+4.9
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: API Version: 2647674
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Compiled (64-bit): Aug 7 2015 06:45:36
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Compiled with Clang: 6.0 (clang-600.0.56)
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Build Configuration: Shipping
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Branch Name: ++depot+UE4-Releases+4.9
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Command line: “/Users/robertcober/Library/Application Support/Epic/UnrealEngine/4.9/Saved/Crashes/CrashReport-UE4-ScoobyDoo-pid-16000-4b26cc076b44c3a728aab895673c3df0/”
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Base directory: /Users/Shared/UnrealEngine/4.9/Engine/Binaries/Mac/
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:451] 0]LogInit: Rocket: 1
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: Presizing for 0 objects not considered by GC, pre-allocating 0 bytes.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: Object subsystem initialized
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: Computer: Roberts-iMac.local
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: User: robertcober
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: CPU Page size=4096, Cores=4
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: High frequency timer resolution =1000.000000 MHz
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: Power Source: AC Power
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:453] 0]LogInit: Memory total: Physical=24.0GB (24GB approx) Pagefile=0.0GB Virtual=24.0GB
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:454] 0]LogTextLocalizationManager: No specific translations for (‘en-US’) exist, so (‘en’) translations will be used.
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:479] 0]CrashReportClientLog: CrashReportReceiverIP: http://crashreporter.epicgames.com:57005
MainFrameActions: Packaging (Mac): UE4Editor: [2015.08.15-14.27.35:479] 0]LogCrashDebugHelper: DepotName: //depot/UE4-Releases/4.9

Tried explicitly using a relative path for the movie asset in the player / .e.g. : ./Moves/movie.mp4

Still same result, crash in MediaTexture when packaging:
MainFrameActions: Packaging (iOS): UE4Editor: [2015.08.17-13.49.54:869] 0]LogSavePackage:Warning: Finished SavePackage /Users/user/Documents/Unreal Projects/ScoobyDoo/Saved/Cooked/IOS/ScoobyDoo/Content/Movies/animatic-1_Tex_Mat2.uasset

UMediaTexture::InitializeTrack() Address = 0x1374b89c (filename not found) [in UE4Editor-MediaAssets.dylib]
MainFrameActions: Packaging (iOS): UE4Editor: TBaseUObjectMethodDelegateInstance<false, UMediaTexture, void ()>::ExecuteIfSafe() const Address = 0x13751d27 (filename not found) [in UE4Editor-MediaAssets.dylib]

Hey OptimisticMonkey,

It looks like you’re having some trouble with PHYSX within your project when you’re packaging however, I see that this isn’t the full log. With that being said, please post a question to AnswerHub and provide your full error logs as a .txt file uploaded to the question. It’ll be much easier for us to look at the logs that way.

Thanks!

Hi, There is no answer at Answerhub and the crash still exist in 4.9.2 mac (both yosemite & el capitan)
The repro is simple, place a mediatexture with a video .mp4, compile = crash as simple as that

Hi, I’m wondering is there has been any progress or solution to this? I’m running into the same issue 0n 4.9.2 with the Media Framework. I tried moving the project to 4.10, there the project can be cooked and packaged without crashing, but the final package still fails. The media file is a mp4.

Ok, so I found a super janky work around, so your mileage may very. I did this in Unreal 4.10.0 which was still crashing on me while cooking, it was just a silent crash.

Anyways onto the work around. Set you media player up with the player pointing to the Content/Movies folder in your project for the video file and make sure it works when you play in editor. Then find your video file in the finder, not the content browser and remove, put it into a place outside the game folders. Now, do not remove the media player in the content browser, it needs to be there so any textures, materials, and blueprints can call on it. Now the Media Player should complain about the file not being there, but it should keep the path to where the video file used to be.

Now you want to go into project settings, then packaging and turn off the “Use PAK file”. Now this may be a problem for some people as when you build the game the .uassat files will be viewable inside the package. In my case this is a game jam file so it’s not a huge issue.

Now you should be able to cook and build the game like normal without any crashes. Once built go to the package in the finder, right click and show package content. Navigate to /Contents/UE4/NameOfYourGame/Content/Movies now move or paste the video file into the root the Movies folder. Close the window and run the app. If you did everything right and are lucky the video should play like it is supposed to.

Hope this helps.

Edit: tried this in 4.9.2 and it’s a no go, so it looks like you have to use 4.10. However there is a bug moving from 4.9 to 4.10 with updating path names, so your project folder has to stay the same, this means removing the 4.10 from the folder name.