【SOLVED】Error when using OpenGL Rop with Rop Fetch Top node

   3089   6   1
User Avatar
Member
22 posts
Joined: May 2015
Offline
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,
Edited by Shigeru Iriki - May 25, 2023 22:13:48

Attachments:
pdg_test.hipnc (173.4 KB)

User Avatar
Member
22 posts
Joined: May 2015
Offline
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 --

Attachments:
Screenshot from 2023-05-11 16-56-27.png (107.7 KB)
Screenshot from 2023-05-11 16-56-07.png (1.1 MB)

User Avatar
Member
22 posts
Joined: May 2015
Offline
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...

Attachments:
Screenshot from 2023-05-11 17-52-21.png (581.9 KB)

User Avatar
Member
22 posts
Joined: May 2015
Offline
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
User Avatar
Member
1 posts
Joined: July 2023
Offline
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
User Avatar
Member
22 posts
Joined: May 2015
Offline
.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
User Avatar
Member
15 posts
Joined: Dec. 2018
Offline
Same issue in 20.724, fixed it following the above suggestion with this script:

export LD_PRELOAD=/opt/hfs20.0/dsolib/libHoudiniUI.so
cd /opt/hfs20.0
source houdini_setup
cd -
/opt/hfs20.0/bin/hindie
  • Quick Links