How to debug root cause causing "Segmentation Fault" when calling u-he plugin GUI?

Post Reply New Topic
RELATED
PRODUCTS

Post

Hello,

I've been using several u-he plugins on my openSUSE Leap 15.0 system successfully for quite some time without any issues.

When working on a current project (Ardour 5.12) with u-he's Presswerk and Satin on multiple tracks everything was working fine, until I tried to open the GUI which caused a Segmentation Fault.

The same behaviour is happening using Carla. I used both gdb and strace to find the root cause, but to no avail.

According to strace (using Carla) the problem seems to occur after reading many (all?) pngs.

Presswerk:

Code: Select all

[pid 14535] openat(AT_FDCWD, "/home/arnd/.u-he/Presswerk/Data/Images/Animations/vu_left/vu_left_0149.png", O_RDONLY <unfinished ...>
[pid 14535] <... openat resumed> )      = 50
[pid 14535] fstat(50,  <unfinished ...>
[pid 14535] <... fstat resumed> {st_mode=S_IFREG|0644, st_size=4640, ...}) = 0
[pid 14535] read(50,  <unfinished ...>
[pid 14535] <... read resumed> "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0\200\0\0\1\0\10\6\0\0\0{\371~"..., 4096) = 4096
[pid 14535] read(50, "\364\3R\376\3571\322=\361\362\322\6\332\273\276\333G\362\227 \327\17\362\243x\214!\341\va\246/"..., 4096) = 544
[pid 14535] close(50 <unfinished ...>
[pid 14535] <... close resumed> )       = 0
[pid 14535] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1c} ---
Satin:

Code: Select all

[pid 15024] openat(AT_FDCWD, "/home/arnd/.u-he/Satin/Data/Images/Animations/Small_Knob/Small_Knob_100.png", O_RDONLY <unfinished ...>
[pid 15024] <... openat resumed> )      = 50
[pid 15024] fstat(50,  <unfinished ...>
[pid 15024] <... fstat resumed> {st_mode=S_IFREG|0644, st_size=3844, ...}) = 0
[pid 15024] read(50,  <unfinished ...>
[pid 15024] <... read resumed> "\211PNG\r\n\32\n\0\0\0\rIHDR\0\0\0002\0\0\0002\10\6\0\0\0\36?\210"..., 4096) = 3844
[pid 15024] close(50 <unfinished ...>
[pid 15024] <... close resumed> )       = 0
[pid 15024] --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1c} ---
I assume that there is an incompatibility between the u-he plugins and installed system libraries, unfortunately I couldn't find any clue.

Any help will be greatly appreciated!

Thanks, Arnd

Post

Hi, I tried the Satin demo with Carla in my Mint 18/kx-studio setup.
No gui problems here. It has an nvidia 9400 pcie video card.
Old by modern standards, but works well in linux.

I highly recommend trying the Reaper linux demo, and after the
60 day demo, buy it if you like it. Have had very few gui issues over the years.
And get lots of help from the reaper users

https://forum.cockos.com/forumdisplay.php?f=52

https://www.reaper.fm/download.php#linux_download

Ardour lets you access unsupported testing versions from their
nightly builds, heeding the cautions there for good luck.
Might get lucky...

https://nightly.ardour.org/

Post

Thanks for your ideas...

But the problem is not related to Ardour. Everything was working fine some time ago and it the problem is there as well using Carla. Debugging a problem caused by Ardour would be easy as I can compile the source myself...

The problem is that the segmentation fault occurs within the u-he plugins and that i assume that the root cause may be an incompatibility between the u-he plugins and some system library installed (or a specific version of it).

Regards, Arnd

Post

Have you recently installed newer plugins over older ones? In my experience, that can lead to plugin crashes.

Post

Mint 18 has libpng 1.2.54-1

Arch has libpng 1.6.37-2

Satin and Presswerk work fine in both those distros.

qtractor daw provides Suse packages, perhaps Rui's code
is well suited for the task of hosting U-he products
outside the typical debian systems. His work to understand and implement
the vst shell aspects of some U-he releases was very important
to vst format becoming a standard in linux daws.

Reaper has an installer, but also you can just expand the archive
to a folder. It's config file goes in .config/REAPER
It's a 9 meg download, a $60 license is available,
and runs unrestricted on the honour system
for 60 days.
Cheers

Post

Hello glokraw,

I tried it with Reaper, the exact same Segmentation Fault happens (both using VST2 and VST3), same code location, same root cause.

After some further debugging I have a faint suspicion that the root cause may be related to xcb, at the time of the segmentation fault a register is loaded from a data structure which which contain a pointer to a memory area but the pointer is 0x0... Unfortunately without further details (like symbols or debug messages) debugging may take some time (setting breakpoints, performing single stepping and possibly some disassembling)...

Regards, Arnd

Post

Maybe run a Mint live dvd, and compare
the xcb libs to what's in Suse, there's a hoard
of the little buggers.

If version differences are apparent,
maybe the OpenSuse Build Service
could help with matching things up.
Cheers

Post

In my working Mint 18, the many xcb libs are either

V 2:1.6.3-1 or

V 1.11.1-1

xcb itself is V 2.4-4.3

Cheers

Post

Further debugging and digging around revealed the root cause of my problem:

The segmentation fault is caused by X authorization problems, most probably because I'm not connected to my usual network. It seems that ~/.Xauthority refers to the short hostname while the u-he plugins GUI seems to use the fully qualified hostname, which is different on a different interface.

Allowing access from my local user to X causes all u-he plugins to work flawlessly:

Code: Select all

xhost +SI:localuser:arnd

Post Reply

Return to “u-he Linux support”