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.

2 small issues with 6.12.rc-2

Featured Replies

  • Community Expert

I switched to the beta some weeks ago and most features are doing fine.

 

I miss my appdata backup plugin, I hope it comes back soon again..

 

But there are 2 small things I was not able to track down and solve.

 

1) Syslog filling up with:

...

Apr 10 07:11:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 10 07:12:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 10 07:13:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 10 07:14:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 10 07:15:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 10 07:16:01 F crond[1705]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null

...
Happens every minute, drives me crazy

(I have checked that script, cannot find any exit(255) in there 😞

 

2) Community Apps stuck

For some unknown reason, the CA plugin tells me, the german language pack was "pending".

grafik.png.5f75f5cd04e5bd0b3affa8097517df22.png

 

No Idea what this means, its stuck. I was able to delete the pack from the "OS language" page, no change. I reinstalled it from the "OS language" page, as you can see, still "pending" (and no other action is possible).

How can I "unlock" this plugin  for CA???

 

Solved by Squid

What other plugins did you try to install?

 

"Pending" comes from the underlying plugin system and means that another plugin has not finished installing (or there's a bug in the system).  

 

To clear it out, as you won't be able to handle any plugin related operation you need to either reboot or 

rm /tmp/plugins/pluginPending/*

 

  • Author
  • Community Expert
2 hours ago, Squid said:

To clear it out, as you won't be able to handle any plugin related operation you need to either reboot or 

Tnx! that rm did the job, it now shows as installed as it should. Still no idea how and why it get stuck at "pending", I remember there was an update for it last week, looks like it never made it thru completely.

 

Anyway, now only that annoying "one status 255 msg per minute in syslog" remains.

 

And "my servers" plugin does not work too anymore, but that is nothing i need. I guess, I will deinstall it again soon. Or I wait for the next rc and hope it will function again some day.

 

 

  • Author
  • Community Expert

Update: today there was an Update to the language pack again, and, guess what? its now stuck and pending again (yeah, now I know what to delete, but there is something wrong with the pack and somebody should investigate).


 

Install Plugin Applications

language: installing language pack Executing hook script: pre_plugin_checks language: XML file doesn't exist or xml parse error Executing hook script: post_plugin_checks

 

This was shown onscreen.

 

Nothing special in syslog (besides the ever nagging status 255 msg, nobody has replied on them for now)

Apr 14 06:57:26 F webGUI: Successful login user root from 192.168.0.26
Apr 14 06:58:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 14 06:59:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 14 07:00:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 14 07:01:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 14 07:02:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null
Apr 14 07:03:01 F crond[1727]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null

 

  • Author
  • Community Expert

update 2:

I used phpdbg to find the problem with the monitor script.

it tells me:

root@F:~# phpdbg /usr/local/emhttp/plugins/dynamix/scripts/monitor
[Welcome to phpdbg, the interactive PHP debugger, v8.2.4]
To get help using phpdbg type "help" and press enter
[Please report bugs to <http://bugs.php.net/report.php>]
[Successful compilation of /usr/local/emhttp/plugins/dynamix/scripts/monitor]
prompt> run
[Uncaught Error in /usr/local/emhttp/plugins/dynamix/scripts/monitor on line 4: Undefined constant "i"]
>00004: if ( ! ((date(i) * date(H) * 60 + date(i)) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {
 00005:   exec("mkdir /var/lib/docker_bind");
 00006:   exec("mount --bind /var/lib/docker /var/lib/docker_bind");

so, what is "i" and why I do not have it???

 

(not knowing anything about the date function of PHP, I just added double quotes around "i" and "H", the script now finishes normally... but still I do not understand what the formula should be good for... ??? )

((just an educated guess because date() wants a string argument...))

 

Edited by MAM59

You are running some modified version of the monitor script.

 

Original script doesn’t have this code.

 

 

  • Author
  • Community Expert
1 hour ago, bonienl said:

You are running some modified version of the monitor script.

 

Original script doesn’t have this code.

Yeah I also thought this would be something "unnatural".

 

The bad news are, I did not modify it, so "somebody" or "something" must have done it. The errors began after the update to 6.12.rc-2 and the only change during the update was the deletion of CA-appdata-backup.

 

Maybe there are more changes in there from other plugins? Where can I find the "original version", so that I can do a line by line compare???

 

It is more likely that a plugin modified the monitor script, which I find disturbing.

The monitor script is an essential core part of Unraid, this should not get modified in the first place and introduces any potential problems when core updates are done, like in 6.12.

 

I just updated the German language pack on my system without any issues and it appears to run fine.

Btw this system has all possible language packs installed for testing purposes.

 

37 minutes ago, bonienl said:

It is more likely that a plugin modified the monitor script, which I find disturbing.

 

I *think* it's the script floating around here that sets docker to log into /tmp instead of the image.  Alternatively it would be appdata backup v3 which didn't clean up the system when uninstalled without a reboot.  I'll look into this further.

1 hour ago, MAM59 said:

The bad news are, I did not modify it, so "somebody" or "something" must have done it. The errors began after the update to 6.12.rc-2 and the only change during the update was the deletion of CA-appdata-backup.

 

Can you post your diagnostics so I can see what's going on....

  • Author
  • Community Expert
22 minutes ago, Squid said:

*think* it's the script floating around here that sets docker to log into /tmp instead of the image.  Alternatively it would be appdata backup v3 which didn't clean up the system when uninstalled without a reboot.  I'll look into this further.

Now that you say it... yeah both can be true here. I once added that log-to-tmp code to make the usb stick last longer. And I used appdata backup which had not any chance to clean up, because the update declared it deprecated and did not run the uninstall script I guess.

1 hour ago, bonienl said:

I just updated the German language pack on my system without any issues and it appears to run fine.

It does run fine here too, it is just that the App Gui thinks, the installation went wrong and keeps the status "pending". But it has been installed and it works ok (I think, hard to check, there are still a lot of translations missing)

 

  • Author
  • Community Expert
5 minutes ago, Squid said:

You've done this to modify the monitor script

Yeah, guilty on 1st sight :-)))

But maybe we should inform the author that his code stopped working?

 

And yes2: as he only modified the "go" script I was not aware that this "monitor" was changed too...

 

 

  • Author
  • Community Expert

found the bug in the Go script:

sed -i '/^<?PHP$/a \
$sync_interval_minutes=60;\
if ( ! ((date('i') * date('H') * 60 + date('i')) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {\
  exec("mkdir /var/lib/docker_bind");\
  exec("mount --bind /var/lib/docker /var/lib/docker_bind");\
  exec("rsync -aH --delete /var/lib/docker/containers/ /var/lib/docker_bind/containers");\
  exec("umount /var/lib/docker_bind");\
  exec("rmdir /var/lib/docker_bind");\
}' /usr/local/emhttp/plugins/dynamix/scripts/monitor

the sed starts with ' so any ' within the code are ignored.

have to change them to " to get the job done again..

(still no idea why it hits just now and ran before ?!?!?)

 

aah yes.. somebody asked for the diagnostics, here it is.

 

 

f-diagnostics-20230414-1718.zip

Edited by MAM59

Still don’t like it that people change core files of the OS.

It can lead to all kinds of unwanted site effects, like in this case.

 

  • Author
  • Community Expert
Just now, bonienl said:

Still don’t like it that people change core files of the OS.

It can lead to all kinds of unwanted site effects, like in this case.

I agree, but I was not really aware what it did. I just followed the orders here from the forum (and from a guy with good reputation).

 

The better approach here is to use the "user scripts" plugin and define a custom schedule to let it run.

Or alternatively create a dedicated plugin which adds new background task.

 

  • Solution
2 hours ago, MAM59 said:

it is just that the App Gui thinks

rm /tmp/plugins/pluginPending/*

 

  • Author
  • Community Expert

Yeah, I maybe a bit too correct, but:

 

* the language pack update still gets stuck with "pending" but...

 

during the last few updates, it happened again, but today I have tried a new "trick" and it seems to work.

 

Usually I use the "Action Center" from the "App" window, "select all" and let them update.

Doing this will 100% get the German language pack stuck with "pending" state.

 

But I remebered last week when there was an update for the lang pack only, this worked flawlessly.

 

So today, I selected "all but the lang pack", did the updates and afterwards selected the lang pack and updated it alone.

And, guess what? it worked.

 

So I think somebody should check what the difference is between a mass update and a single one...

 

  • 2 months later...
  • Author
  • Community Expert
9 minutes ago, garion said:

so, changing ' per " solve the problem?

You have to look carefully.

sed starts with a ' and from this line down to

"}' /usr/local/emhttp/plugins/dynamix/scripts/monitor"

every occurance of ' has to be changed to ".

if ( ! ((date('i') * date('H') * 60 + date('i'))

should become

 if ( ! ((date("i") * date("H") * 60 + date("i"))

 

This is because the shell reads a multiline string beginning with the terminator (either ' or " ) up to the next occurance of the same terminator. So if we start with ' we have to end with ' too. (The reason for having two terminator chars that do the same is that you start and end with one and use the other one inside the string treated as a normal character there)

 

  • 5 months later...

I am having this same issue exactly.

  • 2 months later...

I am also having this issue.  Every minute, my log gets this annoying message.

 

Feb 21 01:17:01 MyServer crond[1597]: exit status 255 from user root /usr/local/emhttp/plugins/dynamix/scripts/monitor &> /dev/null

 

When I look at the file "/usr/local/emhttp/plugins/dynamix/scripts/monitor", I can see this code on line 4.

 

if ( ! ((date(i) * date(H) * 60 + date(i)) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {


This is similar to but not quite the same as what's being discussed in the thread.  The variables on my system have no single or double quotes.

 

I never modified this script myself and honestly have no idea what it even does.  I've read the thread a couple of times but it's not even clear to me how this got corrupted on the OP's machine, or if my issue is something totally unrelated and the script is failing for a different reason.

 

Not sure how to proceed.  Any help on this?

Edited by singularity098

  • 2 months later...

I was able to fix it on my system.  Even though on my system, the script "/usr/local/emhttp/plugins/dynamix/scripts/monitor" does NOT have single or double quotes as shared by others:

 

if ( ! ((date(i) * date(H) * 60 + date(i)) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {

 

I changed it to adding double quotes around those variables anyway.  It fixed the issue:

 

if ( ! ((date("i") * date("H") * 60 + date("i")) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {

 

No more errors in my logs.

4 hours ago, singularity098 said:

I was able to fix it on my system.  Even though on my system, the script "/usr/local/emhttp/plugins/dynamix/scripts/monitor" does NOT have single or double quotes as shared by others:

 

if ( ! ((date(i) * date(H) * 60 + date(i)) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {

 

I changed it to adding double quotes around those variables anyway.  It fixed the issue:

 

if ( ! ((date("i") * date("H") * 60 + date("i")) % $sync_interval_minutes) && file_exists("/var/lib/docker/containers")) {

 

No more errors in my logs.

 

This is not stock Unraid code, but was due to a modification you added to your go script right? Please make that clear when requesting help, and upload your diagnostics so people can see the code you added to your go script.

 

Overall though, I'd recommend discussing this in the thread where you got the code, perhaps there has been an update. Or you can delete all the mods to the go script and return to stock Unraid.

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.