[Linux] Crash when opening skeletal mesh

Hi,

The editor crashes when I open a skeletal mesh or an animation. This worked fine with UE 4.13.
I am using the C++ First-Person-Content and I build the editor with clang 3.9.0. The error at which the engine is closing is the following:

LogLinux:Error: appError called: Assertion failed: Assertion failed: IsValid() [File:Runtime/Core/Public/Templates/SharedPointer.h] [Line: 783]

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092

Any idea how to fix that?

Thanks in advance

Hey -

Thank you for submitting a bug report. I have reproduced this issue and logged a report for it here Unreal Engine Issues and Bug Tracker (UE-38790) . You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

Cheers

Created PR with a fix for the issue. It is a simple change and fixes the issue completely on my side: (removed)

Edit: Sort of overestimated my Fix. I was happy it enabled me to launch the editor but found couple more bugs thanks to that. It still works, but… see the comment in the PR.

Edit #2: Moved the PR to master branch as with it everything seems to be mostly working https://github.com/EpicGames/UnrealEngine/pull/3037 The only remaining issue mentioned there is the Skeleton Editor does not show any skeleton(you can still select the bones in the viewport and manipulate them though).
(Sorry for these edits as your answer is till the correct one)

Oh, I just found this report after reporting the same issue on my side here:

same bug here. UE4 crash on opening mesh or skeleton.

[2016.12.24-14.21.28:732][747]LogLinux:Error: appError called: Assertion failed: Assertion failed: IsValid() [File:Runtime/Core/Public/Templates/SharedPointer.h] [Line: 783]

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655
[2016.12.24-14.21.28:782][747]LogCrashTracker:

[2016.12.24-14.21.28:783][747]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2016.12.24-14.21.28:783][747]LogLinux: Assertion failed: Assertion failed: IsValid() [File:Runtime/Core/Public/Templates/SharedPointer.h] [Line: 783]

Should work with my patch still. And on 4.16(master branch currently) it works with no additional issues.

I do not think they will merge it into the release branch before the next release.

4.16 (master) does compile sucessfully under linux, however it doesnt run at all:

ine/Binaries/Linux/UE4Editor: symbol lookup error: /media/dragontas/db0e75f2-c92c-4cc8-9baf-bc33e784e280/Dokumente/UnrealEngine/Engine/Binaries/Linux/…/…/…/Engine/Binaries/ThirdParty/CEF3/Linux/libcef.so: undefined symbol: g_type_check_instance_is_fundamentally_a

The error still persists: It is not possible to open a skeletal mesh in the UE4Editor.

I got 4.16 running under Ubuntu 16.10 now (it does not work with ubuntu 14.04).
To reproduce this error a took a fresh ubuntu installation with latest NVidia drivers.

Open UE4Editor.
Create a map from the tuturials, e.g. vehicle game.
double click on sedan skeletal mesh.

[Callstack] 00 0x00007f768ba57cff FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*)
[Callstack] 01 0x00007f768b940ea5 FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack] 02 0x00007f768ba5d712 FDebug::LogAssertFailedMessage(char const*, char const*, int, wchar_t const*, …)
[Callstack] 03 0x00007f7597191e00 TCommands::Get()
[Callstack] 04 0x00007f759718d21e FSkeletalMeshEditor::BindCommands()
[Callstack] 05 0x00007f759718cb24 FSkeletalMeshEditor::InitSkeletalMeshEditor(EToolkitMode::Type, TSharedPtr const&, USkeletalMesh*)
[Callstack] 06 0x00007f7597196632 FSkeletalMeshEditorModule::CreateSkeletalMeshEditor(EToolkitMode::Type, TSharedPtr const&, USkeletalMesh*)
[Callstack] 07 0x00007f7624bd427b FAssetTypeActions_SkeletalMesh::OpenAssetEditor(TArray const&, TSharedPtr)
[Callstack] 08 0x00007f7683778070 FAssetEditorManager::OpenEditorForAsset(UObject*, EToolkitMode::Type, TSharedPtr)
[Callstack] 09 0x00007f767527404c FAssetTypeActions_Base::AssetsActivated(TArray const&, EAssetTypeActivationMethod::Type)
[Callstack] 10 0x00007f760fc56cb2 SContentBrowser::OnAssetsActivated(TArray const&, EAssetTypeActivationMethod::Type)
[Callstack] 11 0x00007f760fd035f5 TBaseSPMethodDelegateInstance const&, EAssetTypeActivationMethod::Type)>::ExecuteIfSafe(TArray const&, EAssetTypeActivationMethod::Type) const
[Callstack] 12 0x00007f760fc20cc2 SAssetView::OnListMouseButtonDoubleClick(TSharedPtr)
[Callstack] 13 0x00007f760fcc3b7b TBaseSPMethodDelegateInstance (TSharedPtr)>::Execute(TSharedPtr) const
[Callstack] 14 0x00007f760fcc3c15 TBaseSPMethodDelegateInstance)>::ExecuteIfSafe(TSharedPtr) const
[Callstack] 15 0x00007f760fb857eb non-virtual thunk to SListView >::Private_OnItemDoubleClicked(TSharedPtr)
[Callstack] 16 0x00007f760fbee058 STableRow >::OnMouseButtonDoubleClick(FGeometry const&, FPointerEvent const&)
[Callstack] 17 0x00007f760fbf167d non-virtual thunk to STableRow >::OnMouseButtonDoubleClick(FGeometry const&, FPointerEvent const&)
[Callstack] 18 0x00007f7685241109 FSlateApplication::RoutePointerDoubleClickEvent(FWidgetPath&, FPointerEvent&)
[Callstack] 19 0x00007f7685240b9f FSlateApplication::ProcessMouseButtonDoubleClickEvent(TSharedPtr const&, FPointerEvent&)
[Callstack] 20 0x00007f768524055d FSlateApplication::OnMouseDoubleClick(TSharedPtr const&, EMouseButtons::Type, FVector2D)
[Callstack] 21 0x00007f768ba0d725 FLinuxApplication::ProcessDeferredMessage(SDL_Event)
[Callstack] 22 0x00007f768ba0ba5d FLinuxApplication::AddPendingEvent(SDL_Event)
[Callstack] 23 0x00007f768ba0b92c FLinuxPlatformMisc::PumpMessages(bool)
[Callstack] 24 0x000000000041f36d FEngineLoop::Tick() [Runtime/Core/Public/UObject/NameTypes.h, line 638]
[Callstack] 25 0x000000000042460a GuardedMain(wchar_t const*) [/media/dragontas/35e8a147-8027-4a92-9ff9-4a0d79173eef/Dokumente/4-16/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 166]
[Callstack] 26 0x00007f7681c46f2b CommonLinuxMain(int, char**, int ()(wchar_t const))
[Callstack] 27 0x00007f7680ff03f1 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f7680ff03f1]
[Callstack] 28 0x0000000000414e4a /media/dragontas/35e8a147-8027-4a92-9ff9-4a0d79173eef/Dokumente/4-16/
[2016.12.26-20.35.53:375][884]LogLinux:Error: appError called: Assertion failed: Assertion failed: IsValid() [File:Runtime/Core/Public/Templates/SharedPointer.h] [Line: 826]

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655
[2016.12.26-20.35.53:405][884]LogCrashTracker:

[2016.12.26-20.35.53:405][884]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2016.12.26-20.35.53:406][884]LogLinux: Assertion failed: Assertion failed: IsValid() [File:Runtime/Core/Public/Templates/SharedPointer.h] [Line: 826]

The PR i linked is not yet merged into master, you would have to apply it manually or I would have to keep an up to date fork with the branch. But it is 3 lines added to 4 files, it can be done manually just to test if it helps.

The editor works great(apart from a memory leak:D) and all functionality does seem to be there at the moment.

your pr works. great :slight_smile:

“Please be aware that this issue may not be prioritized or fixed soon.” - That’s kind of a bummer. This bug renders 4.14 unusable (thanks @aknarts, but the skeletal editor still crashes here) and no fix planned for 4.15, 4.16, while 4.13 and below can’t correctly import skeletal FBX due to bugs in the importer code (Unreal Engine Issues and Bug Tracker (UE-34690) ).

It does crash in 4.14 but not in 4.16(while using the patch) this does bring some hope. And yeah it is not a high priority issue…sadly.

The thing is I did not look into why 4.14 is still crashing as it does seem to be fixed higher up… hence why I also moved the patch from 4.14 to master…

I applied the changes from the commit listed on UE-38790 directly to the 4.14.3 release and I can now open the mesh SK_Mannequin!

HOWEVER
Doing almost anything else seems to crash the entire editor, including merely closing the Static Mesh Editor tab.

Hi, 4.14 had different issues than the one causing the original crash. I recommend using 4.15 which is in preview now as a stable version.