Mantra Render Crashing - Illegal Instruction

   1468   5   0
User Avatar
Member
3 posts
Joined: March 2020
Offline
Hi all,

I am trying to render a scene with mantra on a fresh houdini 18.0.532 install on Linux and periodically getting crashes with the following traceback:

117314 ThreadId=0x7ff1fb7ff700: Fatal error: Illegal instruction -- TRACEBACK BEGIN -- Traceback from mantra 18.0.532 (Compiled on linux-x86_64-gcc6.3): stackTrace() signalCallback(UTsignalHandlerArg) UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo_t*, void*) const UT_Signal::processSignal(int, siginfo_t*, void*) __funlockfile __memmove_avx_unaligned_erms -- TRACEBACK END -- 117314: Fatal error: Illegal instruction (sent by pid 117314) -- TRACEBACK BEGIN -- Traceback from mantra 18.0.532 (Compiled on linux-x86_64-gcc6.3): stackTrace() signalCallback(UTsignalHandlerArg) UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo_t*, void*) const UT_Signal::processSignal(int, siginfo_t*, void*) __funlockfile __pthread_cond_wait UT_PThread::waitForState(UT_Thread::State) RAY_Scene::doRender() RAY_Scene::render() RAY_SceneIO::doRender(CMD_Args&) CMD_Manager::runCommand(char*) CMD_Manager::internalExecute(char const*) CMD_Manager::processInput(CMD_Source*, char const*) CMD_Manager::internalSendInput(char const*, bool) CMD_Manager::sendInputNoLock(char const*, bool) RAY_Scene::load(UT_IStream&) _init __libc_start_main _init -- TRACEBACK END --
User Avatar
Member
7740 posts
Joined: Sept. 2011
Offline
CALL THE POLICE
User Avatar
Member
1616 posts
Joined: March 2009
Offline
Hi panuelosj,

it would be good to know what exactly you were doing when it happened (maybe a minimal example hip file), and also, if you could provide the exact type of CPU you are using.
Martin Winkler
money man at Alarmstart Germany
User Avatar
Member
3 posts
Joined: March 2020
Offline
I was rendering a file with imported geometry (originally cooked from a DOP). I've attached a minimal file that I was able to reproduce the issue with.

I'm running on an AMD R7 1700 cpu, RX480 gpu, Linux 5.6.19-2-MANJARO, and Houdini v18.0.391 (I've also reproduced it with Houdini v18.0.532).

Edit: I should mention mean time to fail for me running on full cpu is about 20-30 minutes. Sometimes it takes longer but it has never gotten past 100 frames of renders.

Edit2: A different stacktrace:
63861 ThreadId=0x7fafdebf5700: Fatal error: Segmentation fault
-- TRACEBACK BEGIN --
Traceback from mantra 18.0.391 (Compiled on linux-x86_64-gcc6.3):
stackTrace() <libHoudiniUT.so>
signalCallback(UTsignalHandlerArg) <libHoudiniUT.so>
UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo_t*, void*) const <libHoudiniUT.so>
UT_Signal::processSignal(int, siginfo_t*, void*) <libHoudiniUT.so>
__funlockfile <libpthread.so.0>
UT_Array<int>::setSizeNoInit(long) <libHoudiniRAY.so>
UT_Array<int>::setSizeNoInit(long) <libHoudiniRAY.so>
RAY_RayList::render(RAY_RayListParms const&, RAY_VarExports const&, RAY_RayCompositor*) <libHoudiniRAY.so>
VMAT_TraceData::trace(RAY_VexState&, VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, VEX_ValueHandle<UT_Vector3T<float>, (VEX_Precision)0> const&, VEX_ValueHandle<UT_Vector3T<float>, (VEX_Precision)0> const&, VEX_ValueHandle<float, (VEX_Precision)0> const&) <libHoudiniRAY.so>
void vmatTrace<false>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&) <libHoudiniRAY.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
RAY_VexState::shadowLight(UT_Vector3T<float>*, UT_Vector3T<float> const*, UT_Vector3T<float> const*, VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&) <libHoudiniRAY.so>
RAY_VexState::shadowLight(int, UT_Vector3T<float>*, UT_Vector3T<float> const*, UT_Vector3T<float> const*, float const*, VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, VEX_VarExport<(VEX_Precision)0> const&) <libHoudiniRAY.so>
vmatShadowLight(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&) <libHoudiniRAY.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
void executeShaderFunc<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, VEX_AutoFoldedCode<(VEX_Precision)0>*) <libHoudiniUT.so>
void vexMemberFunc<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&) <libHoudiniUT.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
void executeShaderFunc<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, VEX_AutoFoldedCode<(VEX_Precision)0>*) <libHoudiniUT.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
void runStrInstruction<(VEX_Precision)0>(VEX_Instance<(VEX_Precision)0>&, VEX_ProcArray&, int) <libHoudiniUT.so>
RAY_Shader::executeFog(VEX_Connectivity<(VEX_Precision)0> const&, RAY_VexState&, VEX_AutoFoldedCode<(VEX_Precision)0>*, VEX_TransformContext const*, RAY_Fog*) <libHoudiniRAY.so>
RAY_Shader::resolveFog(VEX_AutoFoldedCode<(VEX_Precision)0> const&, VEX_Connectivity<(VEX_Precision)0> const&, RAY_VexState&, bool) <libHoudiniRAY.so>
RAY_RayVShader::runShaders(RAY_VShadeInfo&, bool) <libHoudiniRAY.so>
RAY_VShadeInfo::doShading(RAY_RayVShader*, VGEO_RayType const&, RAY_VarExports const&, RAY_RayCompositor*) <libHoudiniRAY.so>
RAY_RayList::doShading(VGEO_RayState&, RAY_VarExports const&, RAY_RayCompositor*, RAY_Scope const*, VEX_VarExport<(VEX_Precision)0>*) <libHoudiniRAY.so>
RAY_RayList::render(RAY_RayListParms const&, RAY_VarExports const&, RAY_RayCompositor*) <libHoudiniRAY.so>
RAY_TileRenderer::renderTile(RAY_TileInfo const&, RAY_SampleMask const*) <libHoudiniRAY.so>
RAY_TileRenderer::processTile(RAY_TileInfo&) <libHoudiniRAY.so>
RAY_Scene::renderThread(RAY_BaseRenderer&, double&, bool&) <libHoudiniRAY.so>
farmWorker((anonymous namespace)::RenderTask*) <libHoudiniRAY.so>
UT_Thread::threadWrapper(void*) <libHoudiniUT.so>
start_thread <libpthread.so.0>
__GI___clone <libc.so.6>
-- TRACEBACK END --
63861: Fatal error: Segmentation fault (sent by pid 63861)
-- TRACEBACK BEGIN --
Traceback from mantra 18.0.391 (Compiled on linux-x86_64-gcc6.3):
stackTrace() <libHoudiniUT.so>
signalCallback(UTsignalHandlerArg) <libHoudiniUT.so>
UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo_t*, void*) const <libHoudiniUT.so>
UT_Signal::processSignal(int, siginfo_t*, void*) <libHoudiniUT.so>
__funlockfile <libpthread.so.0>
__pthread_cond_wait <libpthread.so.0>
UT_PThread::waitForState(UT_Thread::State) <libHoudiniUT.so>
RAY_Scene::doRender() <libHoudiniRAY.so>
RAY_Scene::render() <libHoudiniRAY.so>
RAY_SceneIO::doRender(CMD_Args&) <libHoudiniRAY.so>
CMD_Manager::runCommand(char*) <libHoudiniPRM.so>
CMD_Manager::internalExecute(char const*) <libHoudiniPRM.so>
CMD_Manager::processInput(CMD_Source*, char const*) <libHoudiniPRM.so>
CMD_Manager::internalSendInput(char const*, bool) <libHoudiniPRM.so>
CMD_Manager::sendInputNoLock(char const*, bool) <libHoudiniPRM.so>
RAY_Scene::load(UT_IStream&) <libHoudiniRAY.so>
_init <mantra-bin>
__libc_start_main <libc.so.6>
_init <mantra-bin>
-- TRACEBACK END --
Edited by panuelosj - July 31, 2020 22:37:46

Attachments:
testFile1.zip (5.6 MB)

User Avatar
Member
7740 posts
Joined: Sept. 2011
Offline
Is it a specific frame that consistently fails? Are you caching the geometry before rendering?
User Avatar
Member
3 posts
Joined: March 2020
Offline
It's not a specific frame - happens randomly. Geometry is cached to disk.
  • Quick Links