Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Linux

Reply
 
Thread Tools Display Modes
Old 02-20-2021, 09:39 AM   #1
tobinf
Human being with feelings
 
Join Date: Feb 2021
Posts: 5
Default Why do I have to restart my computer to open REAPER?

I've been using REAPER on Ubuntu for a few months. It sort of works, but I have been having one fairly severe recurring issue. Basically, REAPER crashes at random times and then won't restart until I reboot. The crashes don't seem linked to any particular plugins or actions. When I try to restart REAPER after a crash, it gets stuck on "Initializing Registration Info..." If I start REAPER as root, it seems to work. Of course I have tried moving all the plugins and replacing my REAPER config with the default. Neither seems to work. Any ideas what could be happening?

More generally, are there any good ways to debug REAPER? Logs?
tobinf is offline   Reply With Quote
Old 02-20-2021, 11:09 AM   #2
biopsin
Human being with feelings
 
Join Date: Sep 2010
Location: oslo
Posts: 142
Default

Try lauching REAPER in a terminal and wait for it to crash, maybe
something gets printet there.
Reason for crash that comes first to mind is between
a filesystem error or a audio driver error, so check those first.
Also test renaming ~/.config/REAPER to something and let it reinitialize a new profile folder..
__________________
Voidlinux_glibc / gcc_12.2. / libSwell_GDK2 - 250423 /
Reaper_6.82 / NI_KA2 / Dynaudio_BM6
biopsin is offline   Reply With Quote
Old 02-20-2021, 12:06 PM   #3
tobinf
Human being with feelings
 
Join Date: Feb 2021
Posts: 5
Default

I've tried renaming the REAPER config. Doesn't change anything. When REAPER crashes, all I get on the command line is a segfault. When I try to restart REAPER the only thing that is printed to the console is "rtconfig: front 'set' not found" which I do not think is related.
tobinf is offline   Reply With Quote
Old 02-20-2021, 12:08 PM   #4
JamesPeters
Human being with feelings
 
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
Default

Quote:
Originally Posted by tobinf View Post
More generally, are there any good ways to debug REAPER? Logs?
I had been instructed to do this to troubleshoot Reaper when I had an issue with it (the problem at the time was an incompatible script, a dependency issue that needed resolving).

Install GDB (GNU debugger), and enter this in terminal (in the folder as the Reaper executable):

Code:
gdb reaper -ex 'set pagination off' -ex run -ex bt -ex quit
See what the output is.
JamesPeters is offline   Reply With Quote
Old 02-20-2021, 12:30 PM   #5
tobinf
Human being with feelings
 
Join Date: Feb 2021
Posts: 5
Default

I've been putting off GDB so far because it's a bit tricky to replicate the crash. Not sure what I could really learn from it without having the source. I'll probably give it a try before too long, though.
tobinf is offline   Reply With Quote
Old 02-20-2021, 12:46 PM   #6
porzione
Human being with feelings
 
Join Date: Jan 2021
Posts: 32
Default

Run
$ strace -or.log reaper.log
and inspect the r.log from the end - to see what is happening
try to search for strings "stat", "open", "rename", "ENOENT" and so on
geeky way but it works
porzione is offline   Reply With Quote
Old 02-20-2021, 12:56 PM   #7
tobinf
Human being with feelings
 
Join Date: Feb 2021
Posts: 5
Default

Ah that's not a bad idea. strace output is

Code:
stat("/home/tobin/.config/REAPER/reaper.ini", {st_mode=S_IFREG|0664, st_size=8353, ...}) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 6
fstat(6, {st_mode=S_IFREG|0644, st_size=136225, ...}) = 0
mmap(NULL, 136225, PROT_READ, MAP_PRIVATE, 6, 0) = 0x7f22d071a000
close(6)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libjack.so.0", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\306\0\0\0\0\0\0"..., 832) = 832
fstat(6, {st_mode=S_IFREG|0644, st_size=306920, ...}) = 0
mmap(NULL, 310600, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7f22d06ce000
mprotect(0x7f22d06d9000, 253952, PROT_NONE) = 0
mmap(0x7f22d06d9000, 163840, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0xb000) = 0x7f22d06d9000
mmap(0x7f22d0701000, 86016, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x33000) = 0x7f22d0701000
mmap(0x7f22d0717000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x48000) = 0x7f22d0717000
close(6)                                = 0
mprotect(0x7f22d0717000, 8192, PROT_READ) = 0
munmap(0x7f22d071a000, 136225)          = 0
stat("/home/tobin/.config/REAPER/reaper.ini", {st_mode=S_IFREG|0664, st_size=8353, ...}) = 0
mmap(NULL, 528384, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f22cfd97000
mprotect(0x7f22cfd98000, 524288, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
clone(child_stack=0x7f22cfe16fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[14595], tls=0x7f22cfe17700, child_tidptr=0x7f22cfe179d0) = 14595
openat(AT_FDCWD, "/proc/self/task/14595/comm", O_RDWR) = 6
write(6, "reaper/libjack", 14)          = 14
close(6)                                = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
socket(AF_UNIX, SOCK_STREAM, 0)         = 6
getuid()                                = 1000
connect(6, {sa_family=AF_UNIX, sun_path="/dev/shm/jack_default_1000_0"}, 110) = 0
shutdown(6, SHUT_RDWR)                  = 0
close(6)                                = 0
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=2000000}, NULL) = 0
socket(AF_UNIX, SOCK_STREAM, 0)         = 6
getuid()                                = 1000
connect(6, {sa_family=AF_UNIX, sun_path="/dev/shm/jack_default_1000_0"}, 110) = 0
write(6, "\26\0\0\0", 4)                = 4
write(6, "Q\0\0\0", 4)                  = 4
write(6, "REAPER\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 65) = 65
write(6, "\10\0\0\0", 4)                = 4
write(6, "\1\0\0\0", 4)                 = 4
write(6, "\377\377\377\377", 4)         = 4
write(6, "\1\0\0\0", 4)                 = 4
read(6,
Seems like it is hanging trying to read from JACK socket. That is an interesting lead. I will try a few things.
tobinf is offline   Reply With Quote
Old 02-21-2021, 05:40 AM   #8
jjcale_guitar
Human being with feelings
 
Join Date: Jan 2021
Posts: 120
Default

Could be Jack that is misbehaving. Do you use Jack? How do you start it? Do you start Jack as user or as root? Do you let Reaper start Jack? How is it configured.
__________________
Open source as a principle. Devuan distro - systemd free!
jjcale_guitar is offline   Reply With Quote
Old 02-21-2021, 07:37 AM   #9
Glennbo
Human being with feelings
 
Glennbo's Avatar
 
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,055
Default

Quote:
Originally Posted by jjcale_guitar View Post
Could be Jack that is misbehaving. Do you use Jack? How do you start it? Do you start Jack as user or as root? Do you let Reaper start Jack? How is it configured.
I think a fair question would be "Do you really NEED Jack?".

ALSA is the preferred Audio System for the Linux version of REAPER, and is much simpler to get working.
__________________
Glennbo
Hear My Music - Click Me!!!
--
Glennbo is offline   Reply With Quote
Old 02-21-2021, 08:26 AM   #10
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by Glennbo View Post
I think a fair question would be "Do you really NEED Jack?".

ALSA is the preferred Audio System for the Linux version of REAPER, and is much simpler to get working.
Unfortunately, Reaper's ALSA implementation doesn't seem to recognize some devices. I remember when I was first setting mine up, Reaper wouldn't recognize the USB DAC I was using under ALSA. I opened Ardour and Ardour saw it and it worked properly. Using Jack with Reaper, it worked fine.

So in some cases, Jack is necessary to use Reaper. Also, jack seems to be the only way currently to use multiple midi loopback busses (such as RTP midi). When I tried using without Jack, Reaper would only make one virtual port available. I asked Justin about it a while back but don't remember if he answered or not.

I'm sure ALSA audio and midi support will improve in future versions, but in the meantime there are definitely scenarios where Jack is the only solution.
Klangfarben is offline   Reply With Quote
Old 02-21-2021, 10:03 AM   #11
tobinf
Human being with feelings
 
Join Date: Feb 2021
Posts: 5
Default

Yes, the issue was related to JACK. Seems like REAPER wasn't releasing the resource when it crashed, or something along those lines. I had already tried restarting JACK by killing the jackdbus process. I guess this didn't work. Stopping JACK with jack_control stop, seemed to do the trick (I was avoiding using this in my JACK restart script because the command hangs).

I have been using JACK rather than ALSA directly because ALSA doesn't seem to support multiple simultaneous sources out of the box. Being able to watch a YouTube video while having REAPER open is non-negotiable for me. I think you can maybe use the dmix plugin to achieve this with ALSA, but it seems easier to just use JACK. The big drawbacks so far have been that JACK gets really confused if I unplug my interface and I ultimately have to restart REAPER, that I have to use a2jmidid as a bridge, and that it randomly breaks as in this case.
tobinf is offline   Reply With Quote
Old 02-21-2021, 10:07 AM   #12
Glennbo
Human being with feelings
 
Glennbo's Avatar
 
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,055
Default

One thing a lot of people trying out REAPER for Linux miss is that just selecting ALSA does not select an ALSA device for audio input and output, so they try JACK and make the setup more complicated than it needs to be.

I'm sure you knew to pull down the selection lists for "Input Device" and "Output Device" when using ALSA, but a lot of users coming from Windows don't because in Windows they selected ASIO and it was pretty much setup, without additionally having to specify input and output devices.

__________________
Glennbo
Hear My Music - Click Me!!!
--
Glennbo is offline   Reply With Quote
Old 02-21-2021, 10:15 AM   #13
Glennbo
Human being with feelings
 
Glennbo's Avatar
 
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,055
Default

Quote:
Originally Posted by tobinf View Post
I have been using JACK rather than ALSA directly because ALSA doesn't seem to support multiple simultaneous sources out of the box. Being able to watch a YouTube video while having REAPER open is non-negotiable for me.
I have all OS sound routed to my motherboard audio, and REAPER gets exclusive ownership of my 8-channel audio interface. I frequently compose and record in REAPER while streaming video.

That said, have you tried un-ticking the "Auto-Suspend Pulse Audio" box on REAPER's audio setup page? I dunno what effect that might have, since like I mentioned I've used mobo audio for OS sound since the Windows 98 days, and always give exclusive use of my pro audio to the DAW software.
__________________
Glennbo
Hear My Music - Click Me!!!
--
Glennbo is offline   Reply With Quote
Old 02-21-2021, 11:21 AM   #14
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by Glennbo View Post
One thing a lot of people trying out REAPER for Linux miss is that just selecting ALSA does not select an ALSA device for audio input and output, so they try JACK and make the setup more complicated than it needs to be.

I'm sure you knew to pull down the selection lists for "Input Device" and "Output Device" when using ALSA, but a lot of users coming from Windows don't because in Windows they selected ASIO and it was pretty much setup, without additionally having to specify input and output devices.
Yeah, that wasn't the issue unfortunately. Pull-down list was just empty in Reaper. Not in other DAWS I tried. I think in a later update, it started showing up but I never did find a solution to only one loopback MIDI port being available in Reaper with ALSA, whereas I could use as many as I wanted in Jack and they were all available in Reaper.

I'm also in the OP's camp where I want all system audio using my Pro interface, not the built-in audio device. So the only way to do that and get it in/out of Reaper is using a pulse audio sink in Jack. Can't be done with ALSA unfortunately. Maybe Pipewire will solve some of this but won't really know until it's more mature and DAWS start supporting it.
Klangfarben is offline   Reply With Quote
Old 02-21-2021, 12:43 PM   #15
Held
Human being with feelings
 
Held's Avatar
 
Join Date: Nov 2019
Posts: 539
Default

Are you using Cadence to manage Jack? It works really well for me. Might be worth trying.
Held is offline   Reply With Quote
Old 02-21-2021, 10:20 PM   #16
porzione
Human being with feelings
 
Join Date: Jan 2021
Posts: 32
Default

I had similar issues with jack, I played with parameters until I achieved stable work with '-dalsa -r48000 -p512 -n3 -Xseq -D'. I got rid of jack_dbus and use script to start and stop jackd and a2jmidid. In fact I use pulseaudio, but before starting DAW the script stops pulse, starts jack, then starts pulse again with jack as sink and source.
I don't want to use jack all the time because it drains laptop's battery too fast, especially in realtime mode. And life with plain alsa is too complicated nowadays unless you have sound dedicated desktop.
porzione is offline   Reply With Quote
Old 02-21-2021, 11:49 PM   #17
biopsin
Human being with feelings
 
Join Date: Sep 2010
Location: oslo
Posts: 142
Default

Quote:
Originally Posted by tobinf View Post
...watch a YouTube video while having REAPER open is non-negotiable for me. I think you can maybe use the dmix plugin to achieve this with ALSA, ...
I've tried DMIX ROUTE LOOPBACK nothing takes, it seems to me REAPER blocks alsa on a lower level, probably to guarantee and deliver high precision.
Personally I would like user control here as well and decide when and what I need.
__________________
Voidlinux_glibc / gcc_12.2. / libSwell_GDK2 - 250423 /
Reaper_6.82 / NI_KA2 / Dynaudio_BM6
biopsin is offline   Reply With Quote
Old 02-23-2021, 12:53 AM   #18
s wave
Human being with feelings
 
Join Date: Sep 2018
Location: Colorado
Posts: 429
Default

Quote:
Originally Posted by tobinf View Post
Yes, the issue was related to JACK. Seems like REAPER wasn't releasing the resource when it crashed, or something along those lines. I had already tried restarting JACK by killing the jackdbus process. I guess this didn't work. Stopping JACK with jack_control stop, seemed to do the trick (I was avoiding using this in my JACK restart script because the command hangs).

I have been using JACK rather than ALSA directly because ALSA doesn't seem to support multiple simultaneous sources out of the box. Being able to watch a YouTube video while having REAPER open is non-negotiable for me. I think you can maybe use the dmix plugin to achieve this with ALSA, but it seems easier to just use JACK. The big drawbacks so far have been that JACK gets really confused if I unplug my interface and I ultimately have to restart REAPER, that I have to use a2jmidid as a bridge, and that it randomly breaks as in this case.
Do NOT forget there is 2 DIFFERENT JACKS... LOOK HERE FIRST under Detailed Differences: https://github.com/jackaudio/jackaud...ack1-and-jack2 https://github.com/jackaudio/jackaudio.github.com/wiki https://wiki.archlinux.org/index.php...Connection_Kit (I would also re-look at your pulse set up auto-suspend etc.) (GUI PAVU & ALSA MIXER can help)
s wave is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 09:52 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.