Camelia Slimani

camelia

About Me

EXPERTISE
Technical Director
INDUSTRY
Film/TV

Connect

LOCATION
France
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Pipeline - Serializing nodes Feb. 19, 2019, 5:39 p.m.

graham
camelia
I don't know what's the big difference between calling the same script in the Python Shell and on another place (Tool in Shelf, python node, etc.).

The main difference is that the Python Shell runs in a separate thread where as things like shelf tools, menu entries, etc are run in the main thread. A lot of things definitely can cause weird behavior/crashes when running from the shell (think Qt) so if you're doing something complex it'a always advised to do it via shelf tool or menu item.

We've been successfully using the hou.Node methods for quite a while without running into issues so it could be very specific to what you are attempting to copy.

Thank you Graham for your answer. You confirm what I thought.

Yes, one day I had this same weird behavior with a tool I did in Qt (events log when I move the cursor). On the Houdini documentation, there is a warning about that here [www.sidefx.com] but I thought it was just about UI. So now, I will only use the Python Shell for simple needs.

Pipeline - Serializing nodes Feb. 19, 2019, 1:49 p.m.

I really think the issue is due to the Python Shell.
I don't know what's the big difference between calling the same script in the Python Shell and on another place (Tool in Shelf, python node, etc.).

As an example, the hscript command opread doesn't have the same result from the Python Shell and from the python node :

path = '/path/to/the/file.cpio'

objNode = hou.node('/obj')
hou.setPwd(objNode)
hou.hscript('opread {}'.format(path))

Maybe I don't do the right thing but this call in a python node import the contents of the cpio file BUT in the Python Shell it only returns without nothing imported:

('Loaded 0 operators, 0 network boxes\n', ‘\n’)

Hope it will help anyone who might have this issue.

Pipeline - Serializing nodes Feb. 19, 2019, 11:27 a.m.

When I use the copy/paste system, it creates a .cpio file in the temporary directory. I tried to do the same actions (by using Ctrl+V) and no crash.

I use the file generated by Houdini (OBJ_copy.cpio) and call the function hou.Node.loadItemsFromFile() and few actions later it crashes. The actions are just re-creating the node many times with the function above, or create a new scene and call the same function.

This is the crash log :

Uptime 1224 seconds
Tue Feb 19 11:20:18 2019
Caught signal 11

Traceback from 25106 ThreadId=0x7efeaf69fc80
AP_Interface::coreDumpChaser(UTsignalHandlerArg) <libHoudiniUI.so>
AP_Interface::si_CrashHandler::chaser(UTsignalHandlerArg) <libHoudiniUI.so>
signalCallback(UTsignalHandlerArg) <libHoudiniUT.so>
UT_Signal::UT_ComboSignalHandler:perator()(int, siginfo_t*, void*) const <libHoudiniUT.so>
UT_Signal::processSignal(int, siginfo_t*, void*) <libHoudiniUT.so>
_L_unlock_13 <libpthread.so.0>
je_arena_dalloc_bin_locked (arena.c:1897)
je_tcache_bin_flush_small (tcache.c:127)
je_tcache_event_hard (tcache.c:39)
vk_icdGetInstanceProcAddr <libGLX_nvidia.so.0>