Web UI timing out with UnionFS mount


#1

Sonarr version (exact version): 3.0.0.348
Mono version (if Sonarr is not running on Windows): 5.20.1.19
OS: Ubuntu Server LTS 18.0.4 x64
Debug logs: https://pastebin.com/WAqAKHtg
Description of issue: Can not access web ui with UnionFS mount. Web ui times out. Using nginx web and reverse proxy server. Radarr 0.2.0.1293 develop works fine.


#2

First, update Sonarr you’re using an old version. Follow the instructions on https://sonarr.tv

How many series and how many root folders do you have in Sonarr?


#6

Only one root folder /union/tv
225 series

Just updated to the latest

New trace log https://pastebin.com/7rxURGi7
Debug log https://pastebin.com/tEGWR39u

My gDrive mount recently failed, now the webui seems to be responding properly


#7

I don’t see anything wrong in the logs, but seeing the logs when first loading the UI would be helpful in seeing how longs the various requests take.

A screenshot of the Network tab of the developer tools in Chrome (F12 in Windows/Linux) will also let us know which requests fail.

Do you see timeouts when bypassing the proxy as well?

With the mount unavailable the UI loads properly?


#8

What’s your actual mount command that you are using?


#9

Yes, the UI loads and functions properly when not using the union path as the root.


#10

What’s the unionfs command you are using to mount it?


#11

rclone.conf
https://pastebin.com/xLXmQELN

gdrive-tv.service
https://pastebin.com/6GYBGsYi

union-tv.service
https://pastebin.com/dQrws7UL


#12

Try removing direct_io

ExecStart=/usr/bin/unionfs -o cow,allow_other,direct_io,auto_cache,sync_read,relaxed_permissions,nonempty /media/tv=RW:/gdrive/tv=RO /union/tv

To be

ExecStart=/usr/bin/unionfs -o cow,allow_other,auto_cache,sync_read,relaxed_permissions,nonempty /media/tv=RW:/gdrive/tv=RO /union/tv

As nmap doesn’t work with direct_io and I’m pretty sure they are calls that require nmap via sqlite.

Also, not related, but nonempty is bad as it allows over mounting things and you tend to hide files. Much better to ensure that the mount location is empty.


#13

So, I should also remove nonempty?


#14

I personally would not ever use it. The problem with non empty is that if a process starts before the mount and writes something to that location, a mount with non emtpy can go over top of it.

Say next time, the mount happens first, and the previous process looks for a file, it doesn’t find it because it was over mounted. I’d rather make sure the order is right and if something got there first, error out on the mount so I can take manual action to fix it.


#15

I have removed both of those. Should ui work properly now?


#16

Hopefully ? You can tell us :slight_smile:

If the sqlite/direct_io was the only issue, that should help.


#17

Here is a new trace log, after making changes to the ufs mounts, and changing the root folder in Sonarr back to /union/tv.

https://pastebin.com/WAqAKHtg


#18

What’s the actual timestamp of when the UI locks up? I see a bunch of long gaps in there when I try to parse through the logs.


#19

I’m not 100% sure. I’ll reset the paths and do another trace, so I can track it.


#20

I can’t send trace logs, as I am unable to load the webui now, even after stopping and starting the service.


#21

You can change the log level directly via the config file too. Its usually present at ~/.config/Sonarr/config.xml. Just make sure Sonarr is stopped before modifying the file.


#22

https://pastebin.com/7rxURGi7


#23

The issue appears to have been resolved with one of the last two updates. I will keep an eye on it, and report if the issue reoccurs.

With unionfs, is it possible to stop it from copying back to the local filesystem? Local is only used for downloading/staging, and verifying metadata is correct before uploading to gDrive.