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

Arnd
KVRer
19 posts since 22 Nov, 2016

Post Tue Jun 25, 2019 9:49 am

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

glokraw
KVRAF
7341 posts since 6 Oct, 2004

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

Post Tue Jun 25, 2019 9:04 pm

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/

Arnd
KVRer
19 posts since 22 Nov, 2016

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

Post Wed Jun 26, 2019 3:32 am

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

skottish
KVRist
44 posts since 11 Feb, 2018

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

Post Wed Jun 26, 2019 9:16 am

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

glokraw
KVRAF
7341 posts since 6 Oct, 2004

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

Post Wed Jun 26, 2019 10:24 am

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

Arnd
KVRer
19 posts since 22 Nov, 2016

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

Post Sun Jun 30, 2019 3:43 am

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

glokraw
KVRAF
7341 posts since 6 Oct, 2004

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

Post Sun Jun 30, 2019 4:29 pm

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

glokraw
KVRAF
7341 posts since 6 Oct, 2004

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

Post Mon Jul 01, 2019 2:12 pm

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

Arnd
KVRer
19 posts since 22 Nov, 2016

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

Post Wed Jul 03, 2019 2:59 am

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

Return to “u-he Linux support”