Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Unraid Web GUI Inaccessible with Error 500

Featured Replies

On 5/3/2025 at 5:09 AM, phoenixdiigital said:

The only recommendation to @ryans100 and @Excision I would have would be remove all non-critical plugins you have then try a reboot and see. If it works start adding them back one by one leaving a day or two between adding another one.

 

In my case GPU Statistics was a "nice to have" purely from a nerd perspective to see the GPU usage. It made no difference to the functionality of my UnRAID server.

 

It's definitely an annoying bug and even more annoying that nothing was captured in the logs.

I resolved my issue two weeks ago now.

I ended up following these steps - https://docs.unraid.net/unraid-os/manual/changing-the-flash-device/

One thing I did though was create backups of my plugin folders and then after the USB was created fresh again, I put the backup of the plugin folders in the boot/config path, so it was like "plugin_backup". Then I manually reinstalled the plugins one by one, making sure everything worked fine in between. When I had a plugin that had configuration and whatnot, it was easy enough to pull out the original data from the "plugin_backup" folder.

Server hasn't had an issue since I did this and I've rebooted a few times. The GUI works perfectly without the errors.

  • 1 month later...
  • Author

This issue has started happening again with error 500 on Web GUI :(

I've recently (3 weeks ago) replaced my flash drive with a brand new sanddisk so I doubt that's the issue.

Same problem as documented before where the critical files in /usr/local/emhttp are missing stopping the web gui from restarting when you run /etc/rc.d/rc.php-fpm restart

Does anyone know what part of the UnRAID boot process creates all of these?

It's been running fine for weeks. The only major thing I was doing prior to me noticing the failure was copying a bunch of backups ~60G from my main PC to the array. The copy is still going about 50% but the WebGUI is inaccessible.

root@Tower:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           32G  2.4G   29G   8% /
tmpfs           128M  2.7M  126M   3% /run
/dev/sda1        29G  2.0G   27G   7% /boot
overlay          32G  2.4G   29G   8% /usr
overlay          32G  2.4G   29G   8% /lib
tmpfs           128M  2.0M  127M   2% /var/log
devtmpfs        8.0M     0  8.0M   0% /dev
tmpfs            32G     0   32G   0% /dev/shm
efivarfs        256K  146K  106K  59% /sys/firmware/efi/efivars
tmpfs           1.0M     0  1.0M   0% /mnt/disks
tmpfs           1.0M     0  1.0M   0% /mnt/remotes
tmpfs           1.0M     0  1.0M   0% /mnt/addons
tmpfs           1.0M     0  1.0M   0% /mnt/rootshare
/dev/md1p1      7.3T  5.4T  2.0T  74% /mnt/disk1
/dev/md2p1      7.3T  5.3T  2.0T  73% /mnt/disk2
/dev/md5p1      7.3T  6.6T  778G  90% /mnt/disk5
/dev/md7p1      7.3T  6.8T  500G  94% /mnt/disk7
/dev/md8p1      7.3T  6.6T  717G  91% /mnt/disk8
/dev/sdd1       224G   27G  196G  12% /mnt/cache
shfs             37T   31T  5.9T  84% /mnt/user0
shfs             37T   31T  5.9T  84% /mnt/user
/dev/nvme0n1p1  466G   99G  368G  22% /mnt/disks/Dockers
/dev/nvme1n1p1  1.9T  166G  1.7T   9% /mnt/disks/VMs
/dev/sdb1       2.8T  2.8T  9.3G 100% /mnt/disks/WD-WCC4N2CZCNS3-security_feeds
/dev/loop2      100G   32G   67G  32% /var/lib/docker
/dev/loop3      1.0G  6.8M  904M   1% /etc/libvirt
tmpfs           6.3G     0  6.3G   0% /run/user/0

tower-diagnostics-20250626-1553.zip

Edited by phoenixdiigital
more information

  • Community Expert

Lots of plugin related errors logged, try rebooting in safe mode.

  • Author
31 minutes ago, JorgeB said:

Lots of plugin related errors logged, try rebooting in safe mode.

Are you referring to these?

2025-06-26T14:47:34.797739+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:35.790424+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:36.801497+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:37.798279+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:38.800184+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:39.804975+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:40.413511+10:00 Tower webGUI: error: /plugins/dynamix.system.temp/include/SystemTemp.php - uninitialized csrf_token
2025-06-26T14:47:45.815652+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:46.421163+10:00 Tower webGUI: error: /plugins/dynamix.system.temp/include/SystemTemp.php - uninitialized csrf_token
2025-06-26T14:47:46.816625+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:47.823506+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token
2025-06-26T14:47:48.828000+10:00 Tower webGUI: error: /plugins/unassigned.devices/include/UnassignedDevices.php - uninitialized csrf_token

Pretty sure that's because the critical "state" symlink in /usr/local/emhttp have dissapeared which is the cause of the web gui being dead. When I was digging into the web gui code last time this happened I saw lots of errors referencing "state" files. Someone else discovered some other missing links on the previous page I think.

/usr/local/emhttp/ when in a working state

root@Tower:~# ls -al /usr/local/emhttp/
total 43
drwxr-xr-x 1 root root   140 Feb  9 15:52 ./
drwxr-xr-x 1 root root   160 Dec 20 00:15 ../
-rw-r--r-- 1 root root     0 Feb  9 15:53 0
-rw-r--r-- 1 root root  1742 Feb  9 15:51 auth-request.php
-rw-rw-rw- 1 root root   648 Feb  9 15:51 auth-request.php.patch
lrwxrwxrwx 1 root root     5 Nov 16  2023 boot -> /boot/
-rw-r--r-- 1 root root 15086 Nov 16  2023 favicon.ico
drwxr-xr-x 1 root root    60 Nov 16  2023 languages/
lrwxrwxrwx 1 root root     8 Nov 16  2023 log -> /var/log/
-rw-r--r-- 1 root root  6757 Nov 16  2023 logging.htm
-rw-r--r-- 1 root root  1438 Feb  3  2024 login.php
lrwxrwxrwx 1 root root     4 Nov 16  2023 mnt -> /mnt/
drwxr-xr-x 1 root root   700 Dec 20 00:15 plugins/
-rw-r--r-- 1 root root  1649 Jan 10 08:26 redirect.htm
-rw-r--r-- 1 root root    26 Nov 16  2023 robots.txt
lrwxrwxrwx 1 root root    17 Nov 16  2023 state -> /var/local/emhttp/
-rw-r--r-- 1 root root  3036 Nov 16  2023 update.htm
-rw-r--r-- 1 root root  6006 Aug 28 05:19 update.php
lrwxrwxrwx 1 root root    15 Nov 16  2023 webGui -> plugins/dynamix/

/usr/local/emhttp/ in it's current dead state

root@Tower:/boot/config# ls -al /usr/local/emhttp/
total 43
drwxr-xr-x 1 root root   160 Jun 26 14:34 ./
drwxr-xr-x 1 root root   140 Jun 22 10:17 ../
-rw-r--r-- 1 root root     0 Jun 26 17:29 0
-rw-r--r-- 1 root root  1831 Jun  4 17:38 auth-request.php
-rw-rw-rw- 1 root root   738 Jun  4 17:38 auth-request.php.patch
lrwxrwxrwx 1 root root     5 Nov 16  2023 boot -> /boot/
-rw-r--r-- 1 root root 15086 Nov 16  2023 favicon.ico
drwxr-xr-x 1 root root    60 Nov 16  2023 languages/
lrwxrwxrwx 1 root root     8 Nov 16  2023 log -> /var/log/
-rw-r--r-- 1 root root  6757 Nov 16  2023 logging.htm
-rw-r--r-- 1 root root  1438 Feb  3  2024 login.php
lrwxrwxrwx 1 root root     4 Nov 16  2023 mnt -> /mnt/
drwxr-xr-x 1 root root   640 Jun 22 10:17 plugins/
-rw-r--r-- 1 root root  1649 Jan 10 08:26 redirect.htm
-rw-r--r-- 1 root root    26 Nov 16  2023 robots.txt
-rw-r--r-- 1 root root  3036 Nov 16  2023 update.htm
-rw-r--r-- 1 root root  6006 Aug 28  2024 update.php
lrwxrwxrwx 1 root root    15 Nov 16  2023 webGui -> plugins/dynamix/

A reboot will fix but it's annoying this keeps coming back. I probably wont have time for a reboot for a few days when I have time to troubleshoot. All dockers and shares still seem to be functioning so I'll just hope that continues.

I'd love to know what part of the UnRAID boot process creates all these symlinks and how I can recreate them without a reboot.

Edited by phoenixdiigital

  • Community Expert

I don't see anything relevant logged before those errors start, so it may still be worth trying safe mode, in case a plugin is killing the GUI, another more extreme thing you can try is to boot the server in safe mode with all docker containers/VMs disabled, let it run as a basic NAS for a few days, if the GUI keeps working like that start turning on the other services one by one, including the individual docker containers.

  • Author
6 minutes ago, JorgeB said:

I don't see anything relevant logged before those errors start, so it may still be worth trying safe mode, in case a plugin is killing the GUI, another more extreme thing you can try is to boot the server in safe mode with all docker containers/VMs disabled, let it run as a basic NAS for a few days, if the GUI keeps working like that start turning on the other services one by one, including the individual docker containers.

Yeah we all scoured the logs the last few times too. The server can work fine for months (with the same plugins) but this just crops us randomly. So gradually adding plugins sadly won't really identify the issue unless I re-add a plugin every 2 months.

When I started this thread last year I had suspected the GPU stats plug which I've never put back on but the issue still comes back. I've not added any new plugins beyond the ones I have in about 8 months.

Do you know who I might be able to talk to to find out what part of the boot process adds these symlinks? Being able to recreate them will mean I can get the GUI back without a blind reboot.

There are plenty of others seeing this issue too with nothing obvious in the logs as to why the symlinks suddenly dissapear.

Edited by phoenixdiigital

  • Author
  • Solution

OK I've managed to revive the WebGUI with the suggested fix I posted earlier in the year for others getting this issue.

Essentially I recreated the symlink

ln -s /var/local/emhttp /usr/local/emhttp/state

Then tried to reload the Web GUI (Didn't bother trying to restart the web GUI service)

IT'S ALIVE!!!!

Someone on the previous page a few months back said that fix didn't work for them so I hadn't tried yet. Glad I did.

Full details here of before/after.

root@Tower:/boot/config# ls -al /usr/local/emhttp/
total 43
drwxr-xr-x 1 root root   160 Jun 26 14:34 ./
drwxr-xr-x 1 root root   140 Jun 22 10:17 ../
-rw-r--r-- 1 root root     0 Jun 26 17:29 0
-rw-r--r-- 1 root root  1831 Jun  4 17:38 auth-request.php
-rw-rw-rw- 1 root root   738 Jun  4 17:38 auth-request.php.patch
lrwxrwxrwx 1 root root     5 Nov 16  2023 boot -> /boot/
-rw-r--r-- 1 root root 15086 Nov 16  2023 favicon.ico
drwxr-xr-x 1 root root    60 Nov 16  2023 languages/
lrwxrwxrwx 1 root root     8 Nov 16  2023 log -> /var/log/
-rw-r--r-- 1 root root  6757 Nov 16  2023 logging.htm
-rw-r--r-- 1 root root  1438 Feb  3  2024 login.php
lrwxrwxrwx 1 root root     4 Nov 16  2023 mnt -> /mnt/
drwxr-xr-x 1 root root   640 Jun 22 10:17 plugins/
-rw-r--r-- 1 root root  1649 Jan 10 08:26 redirect.htm
-rw-r--r-- 1 root root    26 Nov 16  2023 robots.txt
-rw-r--r-- 1 root root  3036 Nov 16  2023 update.htm
-rw-r--r-- 1 root root  6006 Aug 28  2024 update.php
lrwxrwxrwx 1 root root    15 Nov 16  2023 webGui -> plugins/dynamix/

root@Tower:/boot/config# ln -s /var/local/emhttp /usr/local/emhttp/state

root@Tower:/boot/config# ls -al /usr/local/emhttp/
total 43
drwxr-xr-x 1 root root   160 Jun 26 18:45 ./
drwxr-xr-x 1 root root   140 Jun 22 10:17 ../
-rw-r--r-- 1 root root     0 Jun 26 18:45 0
-rw-r--r-- 1 root root  1831 Jun  4 17:38 auth-request.php
-rw-rw-rw- 1 root root   738 Jun  4 17:38 auth-request.php.patch
lrwxrwxrwx 1 root root     5 Nov 16  2023 boot -> /boot/
-rw-r--r-- 1 root root 15086 Nov 16  2023 favicon.ico
drwxr-xr-x 1 root root    60 Nov 16  2023 languages/
lrwxrwxrwx 1 root root     8 Nov 16  2023 log -> /var/log/
-rw-r--r-- 1 root root  6757 Nov 16  2023 logging.htm
-rw-r--r-- 1 root root  1438 Feb  3  2024 login.php
lrwxrwxrwx 1 root root     4 Nov 16  2023 mnt -> /mnt/
drwxr-xr-x 1 root root   640 Jun 22 10:17 plugins/
-rw-r--r-- 1 root root  1649 Jan 10 08:26 redirect.htm
-rw-r--r-- 1 root root    26 Nov 16  2023 robots.txt
lrwxrwxrwx 1 root root    17 Jun 26 18:45 state -> /var/local/emhttp/
-rw-r--r-- 1 root root  3036 Nov 16  2023 update.htm
-rw-r--r-- 1 root root  6006 Aug 28  2024 update.php
lrwxrwxrwx 1 root root    15 Nov 16  2023 webGui -> plugins/dynamix/

Hope the fix works for others encountering it. Glad I don't have to reboot every time this pops up.

  • 2 months later...

I am keeping this script around just for this situation, at least until I find the reason why it keeps happening. Mind you, I can keep running with no issues for months. Then it happens and I have no idea why. So the support method to remove all plugins and test for a few days is useless.

So my take-away from the above discussions is /usr/local/emhttp/state should by a sym-link to /var/local/emhttp. I have created the attached script to fix this so I don't need to reboot.

The steps it takes are:

  • Make sure /usr/local/emhttp/state is a directory (this is the symptom of whatever is going on).

  • Move the directory to a date-time stamped folder, just in case.

  • Create the sym-link.

fix_web.zip

Edited by WesMason

  • Author
13 hours ago, WesMason said:

I am keeping this script around just for this situation, at least until I find the reason why it keeps happening.

Good job making the script. It's weird that this happens completely at random with no obvious change to the system.

Just so you know something is wrong with your attachment it seems to be empty. Tried to open on both windows and linux and it doesn't seem to have the script.

On 8/29/2025 at 3:26 AM, phoenixdiigital said:

Just so you know something is wrong with your attachment it seems to be empty. Tried to open on both windows and linux and it doesn't seem to have the script.

Fixed

  • 2 weeks later...

Wow! I have the same issue since 2 years, resulting in having to reboot and check the whole array every some weeks.

I was able to recreate for some time that it happens every time I use a virtual machine, but even without it happens every some months.

But the symlink recreation is a lifesaver. Works just like a charm.

This really is a strange issue.

On 9/16/2025 at 1:54 PM, Zerginator said:

Wow! I have the same issue since 2 years, resulting in having to reboot and check the whole array every some weeks.

I was able to recreate for some time that it happens every time I use a virtual machine, but even without it happens every some months.

But the symlink recreation is a lifesaver. Works just like a charm.

This really is a strange issue.

Yeah, and the only solution is to disable potentially needed plugins and make note if it doesn't happen over 4 months since it's not something you can just make happen. And even if you can, it may not be the same reason either. -_- Software is... Complicated.

I had the problem this week on two completely different UnRaid servers.

Only thing in common, I am just using unbalanced to move files on both servers, as I migrate disks from XFS to BTRFS.

So might have something to do with unbalanced. Even though I until now usually ran into this problem on one server as soon as I start using virtual machines.

  • Author
35 minutes ago, Zerginator said:

I had the problem this week on two completely different UnRaid servers.

Only thing in common, I am just using unbalanced to move files on both servers, as I migrate disks from XFS to BTRFS.

So might have something to do with unbalanced. Even though I until now usually ran into this problem on one server as soon as I start using virtual machines.


Interesting. While I haven't seen this issue in months I did have the unbalanced plugin installed and enabled (its status must survive reboots). While I haven't used unbalanced for at least 6 months it has been enabled. Have turned it off and will see how things go.

FWIW when I first saw the issue people were blaming GPU Statistics. I haven't had it installed since last year but I was still getting the issue.

Edited by phoenixdiigital

  • 4 weeks later...

wow. how can this issue still exist in 2025, since the last post.
Thanks for sharing the fix.

  • 4 weeks later...

Hi. So I just ran into this issue, as well, and this command resolved it:

ln -s /var/local/emhttp /usr/local/emhttp/state

The commonality appears to be not just UnBalance, but bulk file movements in general. I was copying about 100G/4K files thru an SMB mount from my desktop to my UnRAID when this occurred. A similar copy didn't trigger it earlier, I think; for reference this was copying to a Share that has a 2TB cache --> Array setup.

I'm attaching my diags, but also the contents of /var/log/phplog, given it's actually showing some kind of errors, as others have reported:

[14-Nov-2025 20:27:52 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50 
[14-Nov-2025 20:27:55 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50 
[14-Nov-2025 20:30:30 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50 
[14-Nov-2025 20:31:22 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50 
[14-Nov-2025 20:31:29 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50 
[14-Nov-2025 20:32:42 America/New_York] PHP Fatal error:  Uncaught TypeError: extract(): Argument #1 ($array) must be of type array, false given in /usr/local/emhttp/plugins/dynamix/template.
php:50 
Stack trace: 
#0 /usr/local/emhttp/plugins/dynamix/template.php(50): extract(false) 
#1 {main} 
  thrown in /usr/local/emhttp/plugins/dynamix/template.php on line 50

So yeah, I'd assume this has something to do with one of the Dynamix plugins that deal with file changes. I'm going to remove almost all of them I have installed, for now:

  • Dynamix File Integrity

  • Dynamix S3 Sleep

  • Dynamix System Buttons

  • Dynamix System Information

  • Dynamix Cache Directories

I also have Dynamix SCSI Devices but given it's rename functions I don't want to risk deleting it quite yet.

My goal is to do some more file movements and then see what the results are, then respond to this thread (if I remember!)

Thanks to everyone who's reported and helped, so far.

ETA: One more data point -- when this 1st occurred, I tried a different browser that I'd never logged into UnRAID onto before. I was able to load the login page, but hit the 500 error after login. Don't know if that helps anyone, but wanted to point that out.

morningstar-diagnostics-20251114-2049.zip

Edited by raqisasim
Forgot to add about login

Posting to say I just experienced this exact same issue.

ln -s /var/local/emhttp /usr/local/emhttp/state

The command above worked for me as well. I really wish that the root cause could bee addressed though. This is strange behavior and has never once happened on my machine prior to v7, though it seems it has been an issue even for others on previous builds too.
I am just glad the above worked, as my server is currently mid parity check and a hard power off was not an option.
To @raqisasim and @phoenixdiigital thank you both so much for sharing a fix that worked. Your efforts are appreciated.

  • 2 weeks later...

same issue, same fix.

Edited by ALERT

  • 2 months later...

I have been battling with this for a couple of weeks, I initially thought it was caused by my vulnerability scanner, but this has been disabled since the first occurrence and it has happened again yesterday, this for me has only been happening since upgrading to 7.2.3 (which I performed 3 weeks ago ) and the only new plugin I installed was the Dynamic File Integrity plugin.

I am going to remove this and see if it re-occurs

recreating the symbolic link also fixed it for me.

  • 3 weeks later...

FYI. I have not had an occurrence of this again since disabling the Dynamix File Integrity plugin.

  • 3 weeks later...

This seems to have happened to me again, after upgrading from 7.1.2, to 7.2.4, the next day after I used it for a bit, I started to get 500s again for the main GUI. So far, fixing the symlink and such has not fixed it like before...

edit, I had to manually remove the state folder, before creating the symlink to fix it.

Edited by pixitha

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.