sideeffects / HoudiniEngineForUnreal

Houdini Engine Plugin for Unreal Engine.
http://www.sidefx.com/unreal
Other
1.36k stars 374 forks source link

"Signal 11 caught" in houdini engine for unreal 4.18.3 on linux OS opensuse (houdini build 393) #80

Closed habernir closed 6 years ago

habernir commented 6 years ago

[2018.02.22-16.18.34:260][ 0]LogTcpMessaging: Initializing TcpMessaging bridge [2018.02.22-16.18.34:277][ 0]LogUdpMessaging: Initializing bridge on interface 0.0.0.0:0 to multicast group 230.0.0.1:6666. [2018.02.22-16.18.35:991][ 0]LogMaterial: Uniform references updated for custom material expression Custom. [2018.02.22-16.18.36:844][ 0]LogHoudiniEngine: Starting the Houdini Engine module. [2018.02.22-16.18.36:845][ 0]LogHoudiniEngine: Loaded libHAPIL.so from HFS environment path /opt/hfs16.5.378/dsolib [2018.02.22-16.18.36:864][ 0]LogMaterial: Missing cached shader map for material houdini_default_material, compiling. [2018.02.22-16.18.37:477][ 0]LogLinux: Error: appError called: Assertion failed: [File:/home/habernir/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/MallocBinned2.cpp] [Line: 1139] FMallocBinned2 Attempt to realloc an unrecognized block 0x7d70000 canary == 0x0 != 0xe3

Signal 11 caught. Malloc Size=131076 LargeMemoryPoolOffset=131092 CommonLinuxCrashHandler: Signal=11

habernir commented 6 years ago

its also happen in 4.17

[2018.02.22-19.46.13:014][ 0]LogLinux: Error: appError called: Assertion failed: Assertion failed: [File:/home/habernir/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/MallocBinned2.cpp] [Line: 1082] FMallocBinned2 Attempt to realloc an unrecognized block 0x9550000 canary == 0x0 != 0xe3

Signal 11 caught. Malloc Size=131076 LargeMemoryPoolOffset=131092

varomix commented 6 years ago

the plugin hasn't been working for a few versions, @dpernuit recently told me he's finally working to fix this issues, so hopefully it will work soon.

habernir commented 6 years ago

nice. thanks for the info

dpernuit commented 6 years ago

Hi,

The issue was caused by library conflicts between Houdini and Unreal that were introduced in UE4.17 (we didn't have those conflicts before). The solution for this is to use an out-of process session for the Unreal plug-in.

This is normally done in the Houdini Engine settings, but you can just add the following lines to UnrealEngine\Engine\Config\LinuxEngine.ini

[/Script/HoudiniEngineRuntime.HoudiniRuntimeSettings] SessionType=HRSST_NamedPipe ServerHost=localhost ServerPort=9090 ServerPipeName=hapi bStartAutomaticServer=True AutomaticServerTimeout=3000.000000

This should resolve the conflict and allow you to use the UE4 plugin normally. Be sure to call source houdini_setup for the houdini version that matches the plugin before launching the editor.

The default settings will be changed in tomorrow's daily build, so that out-of-process sessions are used by default on Linux, but updating the ini file will save you the time needed to reinstall/rebuild houdini/UE.