Kalina Posted October 24, 2014 Share Posted October 24, 2014 I created a custom SOP. Sometimes I can cook it successfully, other times it segfaults. It seems to always segfault after the "cookMySop()" function completes (i.e., outside of the code that I wrote???). When it segfaults, it either gives me one of two error logs, or no error log at all. Here are the two error logs. Can anyone make sense of them and direct me in a direction that I can start to look to debug this? Log version 1: Caught signal 11 AP_Interface::coreDumpChaser(UTsignalHandlerArg) <libHoudiniUI.so> AP_Interface::si_CrashHandler::chaser(UTsignalHandlerArg) <libHoudiniUI.so> signalCallback(UTsignalHandlerArg) <libHoudiniUT.so> UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo*, void*) const <libHoudiniUT.so> UT_Signal::processSignal(int, siginfo*, void*) <libHoudiniUT.so> [0xf70e] <libpthread.so.0> UT_StringArray::entries() const <libHoudiniUT.so> GT_AttributeMap::GT_AttributeMap(GT_AttributeMap const&) <libHoudiniGEO.so> GT_AttributeList::addAttribute(char const*, UT_IntrusivePtr<GT_DataArray> const&, bool) const <libHoudiniGEO.so> GT_PrimVolume::getPointPrimitive() <libHoudiniGEO.so> GR_PrimVolume::update(RE_Render*, UT_IntrusivePtr<GT_Primitive> const&, GR_UpdateParms const&) <libHoudiniAPPS3.so> GUI_GeoRender::updatePrimitives(RE_Render*, GR_DisplayOption*, UT_Array<UT_IntrusivePtr<GT_Primitive> >&, GT_RefineParms&, GR_UpdateReason, GR_DecorationOverride, char const*) <libHoudiniAPPS3.so> GUI_GeoRender::update(RE_Render*, GR_DisplayOption*, GUI_SetupResult, GR_DecorationOverride, char const*, bool&) <libHoudiniAPPS3.so> GUI_DetailLook::updateForRender(RE_Render*, GUI_DisplayOption&, RE_LightList*, GR_DecorationOverride, char const*, bool&) <libHoudiniAPPS3.so> DM_VPortAgent3D::setupGeometry(RE_Render*) <libHoudiniAPPS3.so> DM_VPortAgent3D::renderViewport(RE_Render*, int, int, bool, bool) <libHoudiniAPPS3.so> DM_VPortAgent3D::doRender(RE_Render*, int, int) <libHoudiniAPPS3.so> DM_Viewport::doRender(RE_Render*, int, int) <libHoudiniAPPS3.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Viewport::reRender(RE_Render*, bool) <libHoudiniUI.so> UI_Window::renderChildViews(RE_Render*) <libHoudiniUI.so> UI_Window::doRedraw() <libHoudiniUI.so> UI_Queue::doWindowRedraws() <libHoudiniUI.so> UI_Queue::processNextEvent() <libHoudiniUI.so> UI_Queue::drain() <libHoudiniUI.so> UI_Queue::eventLoop() <libHoudiniUI.so> main_part2(int, char const* const*) <libHoudiniUI.so> main <libHoudiniUI.so> [0x1ed1b] <libc.so.6> _start <houdini-bin> Log version 2: Caught signal 11 AP_Interface::coreDumpChaser(UTsignalHandlerArg) <libHoudiniUI.so> AP_Interface::si_CrashHandler::chaser(UTsignalHandlerArg) <libHoudiniUI.so> signalCallback(UTsignalHandlerArg) <libHoudiniUT.so> UT_Signal::UT_ComboSignalHandler::operator()(int, siginfo*, void*) const <libHoudiniUT.so> UT_Signal::processSignal(int, siginfo*, void*) <libHoudiniUT.so> [0xf70e] <libpthread.so.0> RE_TextureFont::getGlyphInfo(unsigned int) <libHoudiniUI.so> RE_TextureFont::getStringWidth(unsigned char const*, unsigned char const*, UT_Unicode::transform const*) <libHoudiniUI.so> SI_DopeSheet::renderFrameIndex(RE_Render*, float, float, int, int, int, int, double) <libHoudiniUI.so> SI_DopeSheet::renderFrameIndicator(RE_Render*, int, int, float, float) <libHoudiniUI.so> SI_DopeSheet::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRenderKids(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Window::doRender(RE_Render*, int, int) <libHoudiniUI.so> UI_Feel::renderMe(RE_Render*, int, int) <libHoudiniUI.so> UI_Window::doRedraw() <libHoudiniUI.so> UI_Queue::doWindowRedraws() <libHoudiniUI.so> UI_Queue::processNextEvent() <libHoudiniUI.so> UI_Queue::drain() <libHoudiniUI.so> UI_Queue::eventLoop() <libHoudiniUI.so> main_part2(int, char const* const*) <libHoudiniUI.so> main <libHoudiniUI.so> [0x1ed1b] <libc.so.6> _start <houdini-bin> Quote Link to comment Share on other sites More sharing options...
michael Posted October 24, 2014 Share Posted October 24, 2014 posting this on the SESI forums would be your best bet - the SESI developers view those forums more often than these... Quote Link to comment Share on other sites More sharing options...
Kalina Posted October 24, 2014 Author Share Posted October 24, 2014 Thanks, will do. Quote Link to comment Share on other sites More sharing options...
edward Posted October 24, 2014 Share Posted October 24, 2014 Load Houdini with valgrind (I think it's mentioned in the HDK docs) with your test scene. Ignore all the messages it gives you except for the ones in your own code. Make sure you compile your plugin with the -g option so that debugging information is provided. Quote Link to comment Share on other sites More sharing options...
Kalina Posted October 27, 2014 Author Share Posted October 27, 2014 (edited) edward, thanks for the suggestion. I couldn't get valgrind working at first, but I just figured it out. I'll report back if I have more questions or relevant findings. Edited October 27, 2014 by Kalina Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.