Search - User list
Full Version: 【SOLVED】Error when using OpenGL Rop with Rop Fetch Top node
Root » PDG/TOPs » 【SOLVED】Error when using OpenGL Rop with Rop Fetch Top node
Shigeru Iriki
Hi,

I get the following error when using OpenGL Rop with Rop Fetch Top node on Linux mint 20.3.

This problem occurs when using OpenGL rop with Rop fetch Top node, and OpenGL Rop by itself works fine.

---
Running Houdini 19.5.605 with PID 2789
HFS = '/opt/hfs19.5.605'
HOUDINI_TEMP_DIR = '/tmp/houdini_temp'
HOUDINI_PATH = '/tmp/houdini_temp/pdg_test/pdgtemp/2722:/opt/sidefx_packages/SideFXLabs19.5:/opt/hfs19.5.605/packages/kinefx:/home/shigeru/houdini19.5/packages/axiom3.0.122/houdini19.5.605:/home/shigeru/houdini19.5/packages/axiom3.0.122/houdini:&'
Loading .hip file '/home/shigeru/Downloads/pdg_test.hipnc'...
WARNING: Entered non-commercial session mode.
.hip file done loading
ROP node path '/out/opengl1'
ROP type name: 'opengl'
ROP source path: '/opt/hfs19.5.605/houdini/dso/ROP_OpenGL.so'
Checking for output parm(s) 'picture' on node '/out/opengl1'
Cooking node using 'hou.Rop.render'
2789: Fatal error: Segmentation fault (sent by pid 799)
-- TRACEBACK BEGIN --
Traceback from hython 19.5.605 (Compiled on linux-x86_64-gcc9.3):
stackTrace(UTsignalHandlerArg) <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>
_dl_find_dso_for_object <ld-linux-x86-64.so.2>
_dl_find_dso_for_object <ld-linux-x86-64.so.2>
_dl_catch_exception <libc.so.6>
_dl_catch_error <libc.so.6>
dlerror <libdl.so.2>
dlclose <libdl.so.2>
RE_OGLExt::setupTheExtensions() <libHoudiniUI.so>
RE_OGLExt::initialize() <libHoudiniUI.so>
RE_OGLRender::initGLExtensions() <libHoudiniUI.so>
RE_OGLRender::initGLState() <libHoudiniUI.so>
RE_OGLRender::makeCurrent(bool) <libHoudiniUI.so>
RE_OGLRender::lockContextForRender() <libHoudiniUI.so>
RE_Window::openWindow() <libHoudiniUI.so>
RE_OGLComputeGPUState::initStandalone(bool) <libHoudiniUI.so>
ROP_OpenGL::startRender(int, double, double) <ROP_OpenGL.so>
ROP_Node::executeSingle(double, ROP_Verbose*, SOHO_IPRList*, ROP_SohoOutput*, bool) <libHoudiniOP4.so>
ROP_RenderItem::render(ROP_Verbose*, int, int) const <libHoudiniOP4.so>
ROP_RenderManager::renderOrder(ROP_RenderList const&, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_RenderManager::render(ROP_Node*, double, double, double, bool, bool, bool, bool, bool, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_Node::renderCommand(ROP_RenderCmdParms&) <libHoudiniOP4.so>
HOMF_RopNode::render(std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, char const*, char const*, bool, int, bool, HOM_EnumValue&, bool, bool, bool, bool) <libHoudiniOPZ.so>
_wrap_RopNode_render <_hou.so>
cfunction_call <libpython3.9.so.1.0>
_PyObject_Call <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyEval_EvalCode <libpython3.9.so.1.0>
method_vectorcall <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyFunction_Vectorcall.localalias <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyFunction_Vectorcall.localalias <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyFunction_Vectorcall.localalias <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyFunction_Vectorcall.localalias <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyFunction_Vectorcall.localalias <libpython3.9.so.1.0>
_PyEval_EvalFrameDefault <libpython3.9.so.1.0>
_PyEval_EvalCode <libpython3.9.so.1.0>
_PyEval_EvalCodeWithName <libpython3.9.so.1.0>
PyEval_EvalCodeEx <libpython3.9.so.1.0>
PyEval_EvalCode <libpython3.9.so.1.0>
run_eval_code_obj <libpython3.9.so.1.0>
run_mod <libpython3.9.so.1.0>
pyrun_file <libpython3.9.so.1.0>
PyRun_SimpleFileExFlags <libpython3.9.so.1.0>
Py_RunMain <libpython3.9.so.1.0>
Py_Main <libpython3.9.so.1.0>
_init <hython-bin>
__libc_start_main <libc.so.6>
_init <hython-bin>
-- TRACEBACK END --



I opened the attached file in Windows 11 installed on the same PC and no error appeared, so I thought it was a problem that occurs only in my environment (Ryzen9 7950x + RTX4090), but I found the same problem on another machine with Rocky Linux 8.7 installed.

Does anyone know how to solve this problem?

Thanks in advance.

Shigeru,
Shigeru Iriki
I checked if the same problem occurs with linux mint 19.3 and it still happens.And even after installing Python 3.7 version of Houdini and downgrading NVIDIA driver from 530.41.03 to 515.105.1.0, the problem still occurs.

---
Running Houdini 19.5.605 with PID 2591
HFS = '/opt/hfs19.5.605'
HOUDINI_TEMP_DIR = '/tmp/houdini_temp'
HOUDINI_PATH = '/tmp/houdini_temp/ropfet_test.v01/pdgtemp/2184:/opt/sidefx_packages/SideFXLabs19.5:/opt/hfs19.5.605/packages/kinefx:&'
Loading .hip file '/home/shigeru/ropfetch_test/ropfet_test.v01.hip'...
.hip file done loading
ROP node path '/out/opengl1'
ROP type name: 'opengl'
ROP source path: '/opt/hfs19.5.605/houdini/dso/ROP_OpenGL.so'
Checking for output parm(s) 'picture' on node '/out/opengl1'
Cooking node using 'hou.Rop.render'
2591: Fatal error: Segmentation fault (sent by pid 980)
-- TRACEBACK BEGIN --
Traceback from hython 19.5.605 (Compiled on linux-x86_64-gcc9.3):
stackTrace(UTsignalHandlerArg) <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>
_dl_close (dl-close.c:819)
_dl_close (dl-close.c:812)
__GI__dl_catch_exception (dl-error-skeleton.c:196)
__GI__dl_catch_error (dl-error-skeleton.c:215)
_dlerror_run (dlerror.c:162)
__dlclose (dlclose.c:46)
RE_OGLExt::setupTheExtensions() <libHoudiniUI.so>
RE_OGLExt::initialize() <libHoudiniUI.so>
RE_OGLRender::initGLExtensions() <libHoudiniUI.so>
RE_OGLRender::initGLState() <libHoudiniUI.so>
RE_OGLRender::makeCurrent(bool) <libHoudiniUI.so>
RE_OGLRender::lockContextForRender() <libHoudiniUI.so>
RE_Window::openWindow() <libHoudiniUI.so>
RE_OGLComputeGPUState::initStandalone(bool) <libHoudiniUI.so>
ROP_OpenGL::startRender(int, double, double) <ROP_OpenGL.so>
ROP_Node::executeSingle(double, ROP_Verbose*, SOHO_IPRList*, ROP_SohoOutput*, bool) <libHoudiniOP4.so>
ROP_RenderItem::render(ROP_Verbose*, int, int) const <libHoudiniOP4.so>
ROP_RenderManager::renderOrder(ROP_RenderList const&, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_RenderManager::render(ROP_Node*, double, double, double, bool, bool, bool, bool, bool, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_Node::renderCommand(ROP_RenderCmdParms&) <libHoudiniOP4.so>
HOMF_RopNode::render(std::vector<double, std::allocator<double> > const&, std::vector<double, std::allocator<double> > const&, char const*, char const*, bool, int, bool, HOM_EnumValue&, bool, bool, bool, bool) <libHoudiniOPZ.so>
_wrap_RopNode_render <_hou.so>
PyCFunction_Call (call.c:755)
_PyEval_EvalFrameDefault (ceval.c:4641)
_PyEval_EvalCodeWithName (ceval.c:3930)
_PyFunction_FastCallKeywords (call.c:433)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3139)
function_code_fastcall (call.c:283)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3110)
function_code_fastcall (call.c:283)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3110)
function_code_fastcall (call.c:283)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3110)
function_code_fastcall (call.c:283)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3124)
function_code_fastcall (call.c:283)
call_function (ceval.c:4616)
_PyEval_EvalFrameDefault (ceval.c:3124)
_PyEval_EvalCodeWithName (ceval.c:3930)
PyEval_EvalCodeEx (ceval.c:3959)
PyEval_EvalCode (ceval.c:524)
PyRun_FileExFlags (pythonrun.c:1037)
PyRun_SimpleFileExFlags (pythonrun.c:429)
pymain_main (main.c:456)
Py_Main (main.c:3091)
_init <hython-bin>
__libc_start_main (libc-start.c:310)
_init <hython-bin>
-- TRACEBACK END --
Shigeru Iriki
I'm surprised that same trouble happens even if I tested with Houdini 19. But, if I tried Rop Fetch Top with Mantra rop, it works fine...
Shigeru Iriki
I ran OpenGL ROP on hbatch to see if it was an OpenGL ROP issue or a Rop fetch TOP node issue and got the following error.

2247: Fatal error: Segmentation fault (sent by pid 980)
-- TRACEBACK BEGIN --
Traceback from hbatch 19.5.605 (Compiled on linux-x86_64-gcc9.3):
stackTrace(UTsignalHandlerArg) <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>
_dl_close (dl-close.c:819)
_dl_close (dl-close.c:812)
__GI__dl_catch_exception (dl-error-skeleton.c:196)
__GI__dl_catch_error (dl-error-skeleton.c:215)
_dlerror_run (dlerror.c:162)
__dlclose (dlclose.c:46)
RE_OGLExt::setupTheExtensions() <libHoudiniUI.so>
RE_OGLExt::initialize() <libHoudiniUI.so>
RE_OGLRender::initGLExtensions() <libHoudiniUI.so>
RE_OGLRender::initGLState() <libHoudiniUI.so>
RE_OGLRender::makeCurrent(bool) <libHoudiniUI.so>
RE_OGLRender::lockContextForRender() <libHoudiniUI.so>
RE_Window::openWindow() <libHoudiniUI.so>
RE_OGLComputeGPUState::initStandalone(bool) <libHoudiniUI.so>
ROP_OpenGL::startRender(int, double, double) <ROP_OpenGL.so>
ROP_Node::startExecute(double, ROP_Verbose*) <libHoudiniOP4.so>
ROP_Node::execute(double, ROP_Verbose*) <libHoudiniOP4.so>
ROP_RenderItem::render(ROP_Verbose*, int, int) const <libHoudiniOP4.so>
ROP_RenderManager::renderOrder(ROP_RenderList const&, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_RenderManager::render(ROP_Node*, double, double, double, bool, bool, bool, bool, bool, bool, ROP_Verbose*) <libHoudiniOP4.so>
ROP_Node::renderCommand(ROP_RenderCmdParms&) <libHoudiniOP4.so>
ROP_Node::doRenderCommand(CMD_Args&, OP_Node*, bool) <libHoudiniOP4.so>
ROP_Node::cmdRender(CMD_Args&) <libHoudiniOP4.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>
tbb::interface7::internal::task_arena_base::internal_execute(tbb::interface7::internal::delegate_base&) const <libtbb.so.2>
TBBPROXY_TaskArenaExecute <libTBBPROXY.so>
CMD_Manager::sendInput(char const*, bool) <libHoudiniPRM.so>
_init <hbatch-bin>
__libc_start_main (libc-start.c:310)
_init <hbatch-bin>
-- TRACEBACK END --

After communication with SideFX Support, I was able to solve the problem by preloading the HoudiniUI by writing the following in the .bashrc.

export LD_PRELOAD=/opt/hfs19.5/dsolib/libHoudiniUI.so

cd /opt/hfs19.5
source houdini_setup
cd $home
icedflorent
Hi im facing the same issue actually, and im wondering in which file did you add this exactly ?
export LD_PRELOAD=/opt/hfs19.5/dsolib/libHoudiniUI.so

cd /opt/hfs19.5
source houdini_setup
cd $home
Shigeru Iriki
.bashrc. It is a hidden file inside your home directory.

icedflorent
Hi im facing the same issue actually, and im wondering in which file did you add this exactly ?
export LD_PRELOAD=/opt/hfs19.5/dsolib/libHoudiniUI.so

cd /opt/hfs19.5
source houdini_setup
cd $home
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB