UE 4.15.0 Crash on Build Mac

Hello,
I am using UE 4.15 on macOS 10.12.3 when I am tying to build my project
it crashes on 60% - with the following Asserts

 [2017.02.17-20.11.32:933][282]TextureStreamingBuild:Display:
 Compiling optional shaders took 0.333
 seconds. Assertion failed:
 IsValidRef(GBufferResourcesUniformBuffer)
 [File:Runtime/Renderer/Private/PostProcess/SceneRenderTargets.h]
 [Line: 446]  GBuffer required but not
 available. Failure often caused by
 incorrect custom code use in a post
 processing material.

The project was working perfectly today at 4.14.3.
Same project builds compiles and works perfectly on a Windows machine with the 4.15.0!

Edit
Considering the fact that the very same project works perfectly on a same Engine version on Windows platform I tend to think that it is some sort of a bug.
I am not making anything platform specific + I am not making any custom post processing.

  • It would be helpful to know which exact material causing the crash - so I maybe can work it round.

Edit

Attaching Log files.

link text
Please advice!
Roma.

Crash Log:

 SEGV_MAPERR at 0x3
 
 FGenericPlatformMisc::RaiseException(unsigned
 int) Address = 0x100bc844b (filename
 not found) [in UE4Editor-Core.dylib]
 FOutputDeviceMacError::Serialize(wchar_t
 const*, ELogVerbosity::Type, FName
 const&) Address = 0x100d8d2d8
 (filename not found) [in
 UE4Editor-Core.dylib]
 FOutputDevice::Logf(wchar_t const*,
 ...) Address = 0x100e6f197 (filename
 not found) [in UE4Editor-Core.dylib]
 FDebug::AssertFailed(char const*, char
 const*, int, wchar_t const*, ...)
 Address = 0x100de8196 (filename not
 found) [in UE4Editor-Core.dylib]
 FSceneRenderTargets::GetGBufferResourcesUniformBuffer()
 const Address = 0x110f82525 (filename
 not found) [in
 UE4Editor-Renderer.dylib] void
 FDeferredPixelShaderParameters::Set(FRHICommandList&,
 FRHIPixelShader*, FSceneView const&,
 ESceneRenderTargetsMode::Type) const
 Address = 0x110f864b2 (filename not
 found) [in UE4Editor-Renderer.dylib]
 void
 FMaterialShader::SetParameters(FRHICommandList&,
 FRHIPixelShader*, FMaterialRenderProxy
 const*, FMaterial const&, FSceneView
 const&, TUniformBufferRef const&,
 bool, ESceneRenderTargetsMode::Type)
 Address = 0x11118dd98 (filename not
 found) [in UE4Editor-Renderer.dylib]
 TBasePassPixelShaderPolicyParamType::SetParameters(FRHICommandList&,
 FMaterialRenderProxy const*, FMaterial
 const&, FViewInfo const*, EBlendMode,
 bool, ESceneRenderTargetsMode::Type,
 bool, bool) Address = 0x110b69a6f
 (filename not found) [in
 UE4Editor-Renderer.dylib]
 TBasePassDrawingPolicy::SetSharedState(FRHICommandList&,
 FViewInfo const*,
 FMeshDrawingPolicy::ContextDataType,
 FDrawingPolicyRenderState const&,
 bool) const Address = 0x110b6868a
 (filename not found) [in
 UE4Editor-Renderer.dylib] void
 FDrawTranslucentMeshAction::Process(FRHICommandList&,
 FProcessBasePassMeshParameters const&,
 FUniformLightMapPolicy const&,
 FUniformLightMapPolicy::ElementDataType
 const&) Address = 0x1112b3541
 (filename not found) [in
 UE4Editor-Renderer.dylib] void
 ProcessBasePassMesh(FRHICommandList&,
 FProcessBasePassMeshParameters const&,
 FDrawTranslucentMeshAction&&) Address
 = 0x111267e63 (filename not found) [in UE4Editor-Renderer.dylib]
 FTranslucencyDrawingPolicyFactory::DrawMesh(FRHICommandList&,
 FViewInfo const&,
 FTranslucencyDrawingPolicyFactory::ContextType,
 FMeshBatch const&, unsigned long long
 const&, FDrawingPolicyRenderState
 const&, bool, FPrimitiveSceneProxy
 const*, FHitProxyId) Address =
 0x111266860 (filename not found) [in
 UE4Editor-Renderer.dylib]
 FTranslucencyDrawingPolicyFactory::DrawDynamicMesh(FRHICommandList&,
 FViewInfo const&,
 FTranslucencyDrawingPolicyFactory::ContextType,
 FMeshBatch const&, bool,
 FDrawingPolicyRenderState const&,
 FPrimitiveSceneProxy const*,
 FHitProxyId) Address = 0x11126809a
 (filename not found) [in
 UE4Editor-Renderer.dylib]
 FRendererModule::DrawTileMesh(FRHICommandListImmediate&,
 FSceneView const&, FMeshBatch const&,
 bool, FHitProxyId const&) Address =
 0x11106bd2b (filename not found) [in
 UE4Editor-Renderer.dylib]
 FMeshMaterialRenderItem::RenderMaterial(FRHICommandListImmediate&,
 FSceneView const&,
 FMeshMaterialRenderItem::FRenderData&)
 Address = 0x10f73f597 (filename not
 found) [in
 UE4Editor-MaterialUtilities.dylib]
 FMeshMaterialRenderItem::Render_GameThread(FCanvas
 const*)::EURCMacro_DrawMaterialCommand::DoTask(ENamedThreads::Type,
 TRefCountPtr const&) Address =
 0x10f74679e (filename not found) [in
 UE4Editor-MaterialUtilities.dylib]
 FMeshMaterialRenderItem::Render_GameThread(FCanvas
 const*) Address = 0x10f73ec76
 (filename not found) [in
 UE4Editor-MaterialUtilities.dylib]
 FCanvas::Flush_GameThread(bool)
 Address = 0x10383512f (filename not
 found) [in UE4Editor-Engine.dylib]
 FMeshRenderer::RenderMaterialTexCoordScales(FMaterialMergeData&,
 FMaterialRenderProxy*,
 UTextureRenderTarget2D*, TArray&)
 Address = 0x10f73554c (filename not
 found) [in
 UE4Editor-MaterialUtilities.dylib]
 FMaterialUtilities::ExportMaterialUVDensities(UMaterialInterface*,
 EMaterialQualityLevel::Type,
 ERHIFeatureLevel::Type,
 FMaterialUtilities::FExportErrorManager&)
 Address = 0x10f7334d8 (filename not
 found) [in
 UE4Editor-MaterialUtilities.dylib]
 FEditorBuildUtils::EditorBuildTextureStreaming(UWorld*,
 EViewModeIndex) Address = 0x108384585
 (filename not found) [in
 UE4Editor-UnrealEd.dylib]
 FBuildAllHandler::ProcessBuild(TWeakPtr
 const&) Address = 0x1083831cc
 (filename not found) [in
 UE4Editor-UnrealEd.dylib]
 FBuildAllHandler::StartBuild(UWorld*,
 FName, TWeakPtr const&) Address =
 0x108381051 (filename not found) [in
 UE4Editor-UnrealEd.dylib]
 FEditorBuildUtils::EditorBuild(UWorld*,
 FName, bool) Address = 0x10837af12
 (filename not found) [in
 UE4Editor-UnrealEd.dylib]
 TBaseStaticDelegateInstance::ExecuteIfSafe()
 const Address = 0x11a6c2677 (filename
 not found) [in
 UE4Editor-LevelEditor.dylib]
 FUICommandList::ExecuteAction(TSharedRef)
 const Address = 0x106eda66d (filename
 not found) [in UE4Editor-Slate.dylib]
 SToolBarButtonBlock::OnClicked()
 Address = 0x10701ab9e (filename not
 found) [in UE4Editor-Slate.dylib]
 TBaseSPMethodDelegateInstance::Execute()
 const Address = 0x10709cd31 (filename
 not found) [in UE4Editor-Slate.dylib]
 SButton::OnMouseButtonUp(FGeometry
 const&, FPointerEvent const&) Address
 = 0x1070f1f3a (filename not found) [in UE4Editor-Slate.dylib]
 FSlateApplication::RoutePointerUpEvent(FWidgetPath&,
 FPointerEvent&) Address = 0x106eab06d
 (filename not found) [in
 UE4Editor-Slate.dylib]
 FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&)
 Address = 0x106e4f1ae (filename not
 found) [in UE4Editor-Slate.dylib]
 FSlateApplication::OnMouseUp(EMouseButtons::Type,
 FVector2D) Address = 0x106eb3b4a
 (filename not found) [in
 UE4Editor-Slate.dylib]
 FMacApplication::ProcessEvent(FDeferredMacEvent
 const&) Address = 0x100d23d8f
 (filename not found) [in
 UE4Editor-Core.dylib]
 FMacApplication::ProcessDeferredEvents(float)
 Address = 0x100d21d3f (filename not
 found) [in UE4Editor-Core.dylib]
 FSlateApplication::TickPlatform(float)
 Address = 0x106e78ab5 (filename not
 found) [in UE4Editor-Slate.dylib]
 FSlateApplication::Tick() Address =
 0x106e77fab (filename not found) [in
 UE4Editor-Slate.dylib]
 FEngineLoop::Tick() Address =
 0x100ad65fc (filename not found) [in
 UE4Editor] GuardedMain(wchar_t const*)
 Address = 0x100adcba2 (filename not
 found) [in UE4Editor]
 -[UE4AppDelegate runGameThread:] Address = 0x100aea53c (filename not
 found) [in UE4Editor]
 -[FCocoaGameThread main] Address = 0x100d19366 (filename not found) [in
 UE4Editor-Core.dylib] Unknown()
 Address = 0x7fffa4e25c6d (filename not
 found) [in Foundation]
 _pthread_body Address = 0x7fffb8b6faab (filename not found) [in
 libsystem_pthread.dylib]
 _pthread_body Address = 0x7fffb8b6f9f7 (filename not found) [in
 libsystem_pthread.dylib] thread_start
 Address = 0x7fffb8b6f1fd (filename not
 found) [in libsystem_pthread.dylib]

Have you tried opening the UE4.14.3 version on a Mac? If not, please try this. If so, what were your results?

Hello Steve,

I already converted the Project to 4.15 → and I can’t open it on 4.14.3 now :frowning:
(I saw it worked on Windows so decided to convert in place).

Before the conversion it was working (building) perfectly on Mac with 4.14.3 - that’s why I think it is something internal inside UE4 :-?

I tried to change to SM4 and SM5 back and forth but the crash is the same.

However I have to say 1 more finding - I am not sure if it is helpful but I was able to package project (distribution configuration) successfully on Mac with the 4.15.0

I maybe forgot to mention as well - the build crashes on “Build texture streaming” phase - regardless if built only texture streaming or all together.

I also copied a “working” 4.15.0 project from Windows to Mac to ensure that the projects are same - but I get the same crash on build texture streaming.

I am using MBP late 2013 i7 2.3 quadcore with Nvidia GT 750m i

I have reviewed your recent crashes against our records and have found that the reports from your machine are isolated to your project only. This typically means that there is something fixable in your project verses a bug that needs to be corrected in UE4 itself, though that’s still a possibility.

That said, here are some things you can try (after making a back up of Project Folder):

  1. Delete your intermediate and Saved folders from your active Project Folder
  2. Right click on your Contents folder in the Content Browser and select “Fix up redirectors in folder”
  3. Run a map check for each level and correct any errors
  4. Save all
  5. Delete the DerivedDataCache folder from the Engine install directory
  6. Try to package again

Let me know if these steps do not resolve the issue. Also, next time you package, if it fails, provide the Output log as well as the Project log.

The package is actually succeed (That’s why it is seems odd for me as well as the fact that it was working on 4.14.3 without any changes to the project since then - also same project works on Windows.)

It is a “build texture stream” that constantly crashing :-(.
As for the steps above - I already tried them all and the Build still crashes.

If I could atleast to figure out what exact material (I suppose) causing the crash it would be much helpful.

The project log and the output log should show this. Please post these.

I am sorry for my newbiness - but I am looking here

Could you please specify what exactly logs (or where is the locations) to post ?

I suppose this is the relevant Log file

Noticing that Last Material Named before the crash was BarbarianS
I am posting it’s blueprint here

I don’t think that material is the culprit… It looks like it finished processing. Also, the error refers to a post process material:

[2017.02.23-15.44.56:445][878]LogMac:Error: appError called: Assertion failed: Assertion failed: IsValidRef(GBufferResourcesUniformBuffer) [File:Runtime/Renderer/Private/PostProcess/SceneRenderTargets.h] [Line: 446] 
GBuffer required but not available. Failure often caused by incorrect custom code use in a post processing material.

…So most likely, the Material Domain is going to be “Post Process” on the material causing the crash as shown here:

127515-domainpostprocess.jpg

Enabling GBuffer options in your Project Settings>Rendering>Optimization>GBuffer may correct this issue. Otherwise you will need to locate the material and remove any custom code. The material should be a reflective material like glass or steel etc.

Thank you for your input sir,
I will try both of your suggestions tomorrow
and I will let you know.

Enabling G buffer has some negative performance effects ?

The G Buffer is actually on by default. Increasing it to see if this would resolve the “GBuffer required but not available” was for troubleshooting but, yes, this would affect performance. That said, I think you should still narrow the search down to post process materials and check for blueprints within those materials that reference bad render targets.

Hi Steve,
I found the material
It was “SM_Water” from “Water Planes” project in Market Place…
it was working in 4.14.3 though… as well as it works on Windows… I don’t really want to give this asset up :frowning:

Maybe something you can look in to it ?

Thanks,
Roma.

I’ve re added the water to another test project,
did all the same modifications

127542-translucientwatermodifications.png

And it works…
Not sure how to deal with this problem now :frowning:

Some thoughts: Contact the creator to see if this is compatible with Macs in UE4.15.

You could also try migrating the material from the project where it works to replace the asset in the project where it is failing. (I recommend making a back up of the original Mac version of the Project Folder before replacing or renaming any assets.)

Same step above, but moving the asset to a new directory. If you do this, reapply the material from the new directory (instead of simply deleting and over-writing the old material. *Also, do not rename the material in case other files are referencing the material) Then right-click the Contents folder and select “Fix up redirectors in folder.”

Hi Steve,

Thank you for your suggestions I will try them and let you know.

A little side note about the creator - it says it is some mysterious Epic Games :wink: and it written that it works on Win and Mac on 4.15.0 .

I’ll take a look at the Water_Planes asset on Monday (It’s not technically “Market Place” which threw me ha ha) I see in the comments someone has written “Importing it in your Content folder is only half the battle. I find that texture references are all broken so nothing works.” -This sounds similar to the issue you are experiencing.

Hey Steve,
Apologize for misleading you.
I am only 3-4 weeks on Unreal Engine - so I still have a lot of to learn starting from it’s terminology etc… Thanks a lot for all your suggestions and help

Roma.

It happened to me with 4.14.3 for windows version of project copied to mac. I did delete the build data registry from content/asset/map and build again in mac did work for me.

Hi rajibkumar,
Thank you for your suggestion!
But unfortunately it didn’t solve my crash on Mac :frowning: