You are not logged in.

#1 2024-02-07 18:56:36

mac666er
Member
Registered: 2023-09-29
Posts: 4

[SOLVED] Houdini 20 crashes on startup with NVidia

Hello,

Posting in arch forum so that other users can see it or maybe chime in. I have several Houdini installations in several linux machines, all with arch. I never had an issue in years, but this week, I have had Houdini not start (launch but not get to the viewport or accept commands via command line), by Houdini launcher, command line, or via python. It would always say it had a segmentation fault.

The fix was to implement before launch:

export LD_PRELOAD="/usr/lib/libc_malloc_debug.so.0" /opt/hfs20.0.590/bin/houdini

I came to that conclusion by first launching gdb and trying to understand the crash by following all the processes, and I would get this:

Thread 3.1 "houdini-bin" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffbe3fdf40 (LWP 73924)]
0x00007ffff7f7b082 in malloc (size=848) at src/jemalloc.c:926
warning: 926    src/jemalloc.c: No such file or directory

After asking where, it would always point me to the dynamic library loader:

(gdb) where
#0  0x00007ffff7f7b082 in malloc (size=848) at src/jemalloc.c:926
#1  0x00007ffff7fd9941 in ?? () from /lib64/ld-linux-x86-64.so.2
#2  0x00007ffff7fda2c0 in ?? () from /lib64/ld-linux-x86-64.so.2
#3  0x00007ffff7fda3bc in ?? () from /lib64/ld-linux-x86-64.so.2
#4  0x00007ffff7fdcd2c in __tls_get_addr () from /lib64/ld-linux-x86-64.so.2
#5  0x00007ffff7f7b2f3 in je_tcache_get (create=true) at include/jemalloc/internal/tcache.h:219
#6  je_arena_malloc (try_tcache=true, zero=false, size=<optimized out>, arena=0x0) at include/jemalloc/internal/arena.h:956
#7  je_imalloct (arena=0x0, try_tcache=true, size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:771
#8  je_imalloc (size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:780
#9  malloc (size=<optimized out>) at src/jemalloc.c:929
#10 0x00007ffff7fd9941 in ?? () from /lib64/ld-linux-x86-64.so.2
#11 0x00007ffff7fda2c0 in ?? () from /lib64/ld-linux-x86-64.so.2
#12 0x00007ffff7fda3bc in ?? () from /lib64/ld-linux-x86-64.so.2
#13 0x00007ffff7fdcd2c in __tls_get_addr () from /lib64/ld-linux-x86-64.so.2
#14 0x00007ffff7f7b2f3 in je_tcache_get (create=true) at include/jemalloc/internal/tcache.h:219
#15 je_arena_malloc (try_tcache=true, zero=false, size=<optimized out>, arena=0x0) at include/jemalloc/internal/arena.h:956
#16 je_imalloct (arena=0x0, try_tcache=true, size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:771
#17 je_imalloc (size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:780
#18 malloc (size=<optimized out>) at src/jemalloc.c:929
#19 0x00007ffff7fd9941 in ?? () from /lib64/ld-linux-x86-64.so.2
#20 0x00007ffff7fda2c0 in ?? () from /lib64/ld-linux-x86-64.so.2
#21 0x00007ffff7fda3bc in ?? () from /lib64/ld-linux-x86-64.so.2
#22 0x00007ffff7fdcd2c in __tls_get_addr () from /lib64/ld-linux-x86-64.so.2
#23 0x00007ffff7f7b2f3 in je_tcache_get (create=true) at include/jemalloc/internal/tcache.h:219
#24 je_arena_malloc (try_tcache=true, zero=false, size=<optimized out>, arena=0x0) at include/jemalloc/internal/arena.h:956
#25 je_imalloct (arena=0x0, try_tcache=true, size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:771
#26 je_imalloc (size=<optimized out>) at include/jemalloc/internal/jemalloc_internal.h:780
#27 malloc (size=<optimized out>) at src/jemalloc.c:929
#28 0x00007ffff7fd9941 in ?? () from /lib64/ld-linux-x86-64.so.2
#29 0x00007ffff7fda2c0 in ?? () from /lib64/ld-linux-x86-64.so.2
#30 0x00007ffff7fda3bc in ?? () from /lib64/ld-linux-x86-64.so.2
#31 0x00007ffff7fdcd2c in __tls_get_addr () from /lib64/ld-linux-x86-64.so.2
--Type <RET> for more, q to quit, c to continue without paging--q

If I checked the library loader with houdini, I would then get this error:

/lib64/ld-linux-x86-64.so.2 /opt/hfs20.0.590/bin/houdini
/opt/hfs20.0.590/bin/houdini: error while loading shared libraries: /opt/hfs20.0.590/bin/houdini: invalid ELF header

That is when I started looking at the Houdini forums and among many suggestions, found these ones:

https://www.sidefx.com/forum/topic/8138 … ost-398245
https://www.sidefx.com/forum/topic/88535/

I gave it a shot and Houdini launched in all machines with

export LD_PRELOAD="/usr/lib/libc_malloc_debug.so.0"

Since, I haven't modified houdini installations or shared library installations, I am going to guess that this has to do with the latest nvidia driver, which I updated in all machines to 545.29.06. That is probably why there are not any message posts anywhere complaining about Houdini not launching in other linux environments such as fedora or ubuntu.

If anybody has more info about this, would love to know and launch Houdini correctly!

Thanks!

Offline

#2 2024-02-07 19:00:58

mac666er
Member
Registered: 2023-09-29
Posts: 4

Re: [SOLVED] Houdini 20 crashes on startup with NVidia

I forgot to mention, what makes me think it is the nvidia driver is that the Houdini gpu check command outputs this:

/opt/hfs20.0.590/bin/hgpuinfo -q                             
double free or corruption (out)
zsh: IOT instruction (core dumped)  /opt/hfs20.0.590/bin/hgpuinfo -q

Offline

#3 2024-02-20 22:00:06

TheSunCat
Member
Registered: 2021-12-22
Posts: 23

Re: [SOLVED] Houdini 20 crashes on startup with NVidia

Thanks so much for your post, this fixed it for me! I don't think it's an nvidia issue as I am on AMD and was getting the same crash (stack overflow with jemalloc). The program would show the splash screen for a few seconds before crashing silently (no logs anywhere I could find). I found the stack trace via `coredumpctl`.
Setting the env var does get it to run!

Offline

#4 2024-02-25 21:31:05

mac666er
Member
Registered: 2023-09-29
Posts: 4

Re: [SOLVED] Houdini 20 crashes on startup with NVidia

You are welcome!

After reading your post, I also updated houdini to the 20.0.625 release and the crash is exactly the same.

If AMD is also crashing, then I am thinking the linux SideFX Houdini OpenCL must have a serious bug in its memory allocation. SideFX said they changed its implementation per their own post:

https://www.sidefx.com/forum/topic/88535/#post-382561

So, if we set the LD_PRELOAD variable prior to start, then we are using the old memory allocation that they say is inefficient.

However, if we don't, memory allocation crashes. I was able to get the same issue with gdb following hgpuinfo -q.

I am at a loss, however of why 19.5 installations also crash as the installations did not change. Without having looked at the houdini source code, I am guessing they relied on previous OpenCL implementations that are no longer available under the latest mesa and nvidia drivers.

I think then, that the only way to properly fix this is to SideFX to address it. I submitted a report but received no reply sad I guess a larger client needs to complain!

Offline

#5 2024-03-06 02:39:12

mokchira
Member
Registered: 2022-01-19
Posts: 13

Re: [SOLVED] Houdini 20 crashes on startup with NVidia

This issue has been fixed in 20.0.632/19.5.910 and newer.

Offline

Board footer

Powered by FluxBB