|
|
|
09-15-2020, 02:20 AM
|
#1
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Fedora 32 / linux_x86_64 : Crash on loading JS plugins
I've been using the linux_x86_64 versions on Fedora without issues whatsoever since they first appeared. On upgrading my system to Fedora 32, I now always get immediate application crashes whenever I try to load any JS plugin. Other than the system upgrade, system configuration hasn't changed. I consulted the linux readme and made sure that all required libraries are still installed.
Rea effects such as ReaFIR, and instruments such as ReaSynth, all load successfully.
I tested with 5.99, 6.12c, 6.13 and reaper613+dev0908 and several JS plugins. I tried a fresh config folder. Never had any issues with these same application versions before the system upgrade.
Typical strace output below.
Fedora32
PulseAudio
Reaper 6.13 linux_x86_64
fresh config
Open REAPER.
Trying to add 3BandEQ JS to any track.
Result: Reaper crashes immediately without notice.
Happy to provide more info.
Code:
writev(3, [{iov_base="%(\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="+(\1\0", iov_len=4}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 4
poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\2\1%\0\0\0\0\342\5\200\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 32
openat(AT_FDCWD, "/dev/urandom", O_RDONLY) = 16
read(16, "\240 0s\356\270\344\247%\224\r\367\6\31\244\356", 16) = 16
close(16) = 0
stat("/home/$USER/.config/REAPER/Effects/loser/3BandEQ", {st_mode=S_IFREG|0644, st_size=2031, ...}) = 0
openat(AT_FDCWD, "/home/$USER/.config/REAPER/Effects/loser/3BandEQ", O_RDONLY) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=2031, ...}) = 0
read(16, "// (C) 2006, Michael Gruhn.\r\n\r\n/"..., 4096) = 2031
read(16, "", 4096) = 0
close(16) = 0
mprotect(0x21d6000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
mprotect(0x21f6000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
mprotect(0x2216000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x21d6360} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
edit:
reaper614rc1_linux_x86_64
Code:
poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1(86\7\0\0\0f\7\0\0\0\0\0\0\0\0|\3\0\0S\1\0\0\32\1\0\0c\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 60
openat(AT_FDCWD, "/dev/urandom", O_RDONLY) = 32
read(32, ",\316\351I\246\3038\24\361\304\343\37'2Q\371", 16) = 16
close(32) = 0
stat("/home/$USER/.config/REAPER/Effects/Liteon/3bandpeakfilter", {st_mode=S_IFREG|0644, st_size=15094, ...}) = 0
openat(AT_FDCWD, "/home/$USER/.config/REAPER/Effects/Liteon/3bandpeakfilter", O_RDONLY) = 32
fstat(32, {st_mode=S_IFREG|0644, st_size=15094, ...}) = 0
read(32, "// (C) 2008-2009, Lubomir I. Iva"..., 4096) = 4096
read(32, "/d;\r\ncx12 = (p-m*ta)/d;\r\ncy11 = "..., 4096) = 4096
read(32, "l_c3);\r\nbl_out2 = (bl1_2*bl_c1 +"..., 4096) = 4096
read(32, " series out\r\no_out1l = 0.5*(bl_o"..., 4096) = 2806
read(32, "", 4096) = 0
close(32) = 0
brk(NULL) = 0x569b000
brk(0x56cb000) = 0x56cb000
mprotect(0x569a000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
brk(NULL) = 0x56cb000
brk(0x56fb000) = 0x56fb000
mprotect(0x56ca000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
mprotect(0x56ea000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
brk(NULL) = 0x56fb000
brk(0x572b000) = 0x572b000
mprotect(0x56fa000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x569ac60} ---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)
|
|
|
09-23-2020, 04:06 AM
|
#2
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Ah looks like Fedora 32 changes permissions to prevent writing to executable pages:
Quote:
mprotect(0x2216000, 69632, PROT_READ|PROT_WRITE|PROT_EXEC) = -1 EACCES (Permission denied)
|
Perhaps we can make the pages executable after writing to avoid this, but for now, can you try:
Code:
chcon -t execmem_exec_t /path/to/reaper
and see if that fixes?
|
|
|
09-24-2020, 02:18 PM
|
#3
|
Human being with feelings
Join Date: Dec 2017
Posts: 152
|
Thank you for the support!
Alas, that did not fix it it. Tried with reaper614_linux_x86_64.
Applied the command to both the REAPER executable, then to the folder. Identical symptoms.
btw, I should have mentioned, I just extract the archive in my home folder and then run Reaper without installing.
|
|
|
11-21-2020, 07:18 AM
|
#4
|
Human being with feelings
Join Date: Nov 2020
Posts: 1
|
Hi,
Just in case people are still interested in fixing this.
I could make it work by disabling SELinux, making it permissive actually:
"Changing to permissive mode" from https://docs.fedoraproject.org/en-US...tes-and-modes/
Hope this helps.
|
|
|
02-06-2021, 04:37 AM
|
#5
|
Human being with feelings
Join Date: Aug 2014
Location: Kraków, PL
Posts: 20
|
The problem is not Fedora-specific, but it exist in every SELinux enforced system
Actually it's not required to disable SELinux at all. You need to allow heap execution using command:
Code:
sudo setsebool -P selinuxuser_execheap 1
Despite existing workaround, it is a potential security risk to have memory be both writable and executable simultaneously. The problem is still valid with REAPER 6.23.
__________________
my ReaPack repo with Source-Destination editing scripts and other utils
|
|
|
02-06-2021, 06:47 AM
|
#6
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Hmm as of 6.20 REAPER should no longer need to mark pages as both executable and write at the same time -- it first writes to them, then makes them read-only and executable. I'll look at why it is failing with selinux execheap disabled, but it's probably simply because it is within the heap.
|
|
|
02-06-2021, 11:05 AM
|
#7
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Hmm installed Fedora 32 and it all works fine (with selinuxuser_execheap off, even), how do I reproduce?
|
|
|
02-06-2021, 11:15 AM
|
#8
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Edit: updated to latest, now duplicated, thanks! Seeing if I can fix!
Edit: should be fixed in the latest +dev builds
Last edited by Justin; 02-06-2021 at 04:21 PM.
|
|
|
02-07-2021, 08:43 AM
|
#9
|
Human being with feelings
Join Date: Aug 2014
Location: Kraków, PL
Posts: 20
|
Quote:
Originally Posted by Justin
Edit: should be fixed in the latest +dev builds
|
I confirm, thanks!
__________________
my ReaPack repo with Source-Destination editing scripts and other utils
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 11:20 AM.
|