Pressing F11, minimizing or resizing a viewport crashes the editor

Whenever I try to resize or minimize the main viewport to reveal the other three perspectives or when I press F11 for it to go into immersive mode (aka full screen) the editor crashes.

Conditions and reproduction of the bug.

  • I have tried the above actions with UE
    4.10.4, 4.11.2, 4.12.5.
  • This happens in either edit or play mode.
  • I have tried the above actions with a
    totally empty level, a basic new
    level or any built level.
  • I have tried the above actions with a
    totally empty project or a project created by Epic.
  • I have verified all versions.
  • I have reset all preferences either
    Editor or Project.
  • I have tried different resolutions
    and Unreal Engine graphic settings.
  • I have tried using only the main display, without a second screen attached.
  • Further testing showed the following. If you switch the perspective of the main viewport to any orthographic view, you can maximize and minimize the viewports without a problem. Now the following does not make sense, In the viewport that shows four different views, if you change the top left to a Lit/Unlit Perspective view you can also minimize the viewports without a problem, if you do that to any other of the four viewports, it crashes again. Again this was tested in an empty level/project and a built level/project using all three UE versions.
  • I will try to re-install 4.10.4, 4.11.2, 4.12.5.

Hardware and OS used.

I am using a Macbook Pro 15" Retina (late 2013)

CPU: 2,3 GHz Intel Core i7

RAM: 16GB 16000 MHz DDR3

GPU: Nvidia GeForce GT 750M with 2048MB
with
CUDA Driver Version: 8.0.46,
GPU Driver Version: 10.12.68 355.10.05.05b16

OS: macOS Sierra 10.12.1.

I also use an external monitor besides the main display.

Crash Report 4.12.5

FGenericPlatformMisc::RaiseException(unsigned int) Address = 0x1014e074b (filename not found) [in UE4Editor-Core.dylib]
FOutputDeviceMacError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) Address = 0x1016824e6 (filename not found) [in UE4Editor-Core.dylib]
FOutputDevice::Logf(wchar_t const*, ...) Address = 0x101739f27 (filename not found) [in UE4Editor-Core.dylib]
FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) Address = 0x1017354c4 (filename not found) [in UE4Editor-Core.dylib]
___ZN17FMetalCommandList6CommitEPU27objcproto16MTLCommandBuffer11objc_objectb_block_invoke Address = 0x12ea02bba (filename not found) [in UE4Editor-MetalRHI.dylib]
_doMTLDispatch Address = 0x7fff7e80b3ae (filename not found) [in Metal]
-[_MTLCommandBuffer didCompleteWithStartTime:endTime:error:] Address = 0x7fff7e80c435 (filename not found) [in Metal]
-[MTLIOAccelCommandBuffer didCompleteWithStartTime:endTime:error:] Address = 0x7fff7e7d8699 (filename not found) [in Metal]
-[_MTLCommandQueue commandBufferDidComplete:startTime:completionTime:error:] Address = 0x7fff7e81055a (filename not found) [in Metal]
__53-[MTLIOAccelCommandQueue submitCommandBuffers:count:]_block_invoke.27 Address = 0x7fff7e7ecd31 (filename not found) [in Metal]
ioAccelCommandQueueBlockFenceCallback Address = 0x7fff89a468cc (filename not found) [in IOAccelerator]
IODispatchCalloutFromCFMessage Address = 0x7fff7d031cf8 (filename not found) [in IOKit]
_IODispatchCalloutWithDispatch Address = 0x7fff7d031d77 (filename not found) [in IOKit]
dispatch_mig_server Address = 0x7fff90198668 (filename not found) [in libdispatch.dylib]
_dispatch_client_callout Address = 0x7fff9018a128 (filename not found) [in libdispatch.dylib]
_dispatch_continuation_pop Address = 0x7fff9019fc10 (filename not found) [in libdispatch.dylib]
_dispatch_source_latch_and_call Address = 0x7fff90195ad2 (filename not found) [in libdispatch.dylib]
_dispatch_source_invoke Address = 0x7fff9018c966 (filename not found) [in libdispatch.dylib]
_dispatch_queue_serial_drain Address = 0x7fff901a09d2 (filename not found) [in libdispatch.dylib]
_dispatch_queue_invoke Address = 0x7fff90192d41 (filename not found) [in libdispatch.dylib]
_dispatch_root_queue_drain_deferred_item Address = 0x7fff901a13bf (filename not found) [in libdispatch.dylib]
_dispatch_kevent_worker_thread Address = 0x7fff901a41b0 (filename not found) [in libdispatch.dylib]
_pthread_wqthread Address = 0x7fff903d760f (filename not found) [in libsystem_pthread.dylib]
start_wqthread Address = 0x7fff903d7211 (filename not found) [in libsystem_pthread.dylib]
_Block_object_assign Address = 0x7fff901f4bdc (filename not found) [in libsystem_blocks.dylib]

Past experience using UE

I have been using UE since 4.6 on the same machine, never had issues using Unreal Engine before, besides the rare crashes when you push the editor too much. On the contrary 4.12 gave it a big performance boost on the Mac.

Conclusion

The above mentioned problem is not present in the 4.13.2 version of Unreal Engine. I will eventually upgrade my project to 4.13.2 but for now I need to work on 4.12.5. I would appreciate any help you could provide in fixing this annoying bug. Thanks in advance.

Hello Sutorcen,

Thank you for the report, but I’ve moved this out of our Bug Reports section as, even if we’re not sure of the cause of the issue, if it doesn’t exist in our most recent version of the editor, we consider it to be fixed. As you mentioned, upgrading to 4.13.2 would likely be the best way to resolve this.

I won’t be looking into this personally as it can be fixed by converting but I’ll leave the post open so that you may be able to get some assistance from our community.

Thank you Matthew for keeping this open.

I can confirm 100% that this is clearly an issue with macOS Sierra and Unreal Engine versions 4.12 and down.

Unreal Engine versions 4.12 and down work fine with macOS versions 10.11 and down.

CUDA Drivers were updated to GPU Driver Version: 10.12.68 355.10.05.05b16 but that didn’t fix the problem.

So if you are using Unreal Engine on a Mac with macOS Sierra work with UE 4.13.2.

It seems that I will have to upgrade my project to 4.13.2 sooner than I had planned.

That is one of the reasons I posted this. Not everybody can upgrade to the latest version of UE, so I hope somebody will look into it.

The project I’m working on started with UE 4.6 and I haven’t had any issues updating it to the latest versions, I just like to play it safe and let the newest versions roll for a while. I will be moving on to 4.13.2 this weekend. I hope everything works out well with your project. I don’t know what version you are currently working on, but consider upgrading to 4.13.2.

I’m seeing the same problem on my 15" retina Macbook (mid 2012)

CPU: 2.3 GHz Intel Core i7

RAM: 16 GB 1600 MHz DDR3

GPU: NVIDIA GeForce GT 650M 1024 MB - Intel HD Graphics 4000 1536 MB

OS: Sierra 10.12.1

The project I’m working on is ~18 months into development, with a team of others mostly working on Windows, so I’m not sure an upgrade to 4.13.2 is likely to happen.

The workaround you noted, switching the main view to Orthographic before resizing, and then back to Perspective, seems to work for me as well, so at least there’s that.

AAA Unreal projects I’ve worked on in the past always hit a point where you have to stop changing horses and just learn how to develop defensively to avoid losing too much when the inevitable crashes come along. It’s not pretty, but it gets things made.

That is definitely suggested. Upgrading without any reason can cause problems, but that isn’t only inclusive to Unreal Engine Versions. This particular issue came up due to updating to Sierra, which did not exist when we were actively developing 4.12, so problems would be expected since we can’t plan for changes made by Apple’s updates. Please keep all upgrades in mind when working on a project for an extended period of time.

It is understandable and expected that you can’t plan for changes made by any manufacturer. Is there a chance to apply a patch or a hot fix to a previous version of UE?

The tests so far show that my project works fine with 4.13.2 so I will be finalizing the update in the next days. I’m not sure that’s the case for everybody thought. If you plan to look into it I would be more than happy to provide you with any data needed.

Unfortunately this is in the same area as when XCode, Visual Studio, Windows, or any other major software that interfaces with the engine is updated. There are some QFEs that we release when development on our most recently released version has been broken by something like this, such as the QFE released to let 4.11.2 work with Visual Studio 2015 Update 3, since it was a simple fix and unavoidable since Update 3 was automatically installed with new installations of Visual Studio 2015.

Unfortunately since we’re already working on 4.14, 4.13 is now our most recent release, seeing a QFE or hotfix for 4.12 to fix this issue is unlikely. In the future, I would suggest checking to see which versions of the editor support new updates to your OS or other interfacing software before updating, since some things cannot be reverted.