LCDProc multiple instances after packages restart
-
Hello,
i have here a strange behavior of pfsense (maybe there is another culprit - i dont know). Every time the packages are reloadet (on change of the WAN-IP or install/uninstall of a package)
I'm getting more an more instances like this:33867 0 SN 0:00.67 /usr/local/bin/php -f /usr/local/pkg/lcdproc_client.php
80226 0 SN 0:00.65 /usr/local/bin/php -f /usr/local/pkg/lcdproc_client.phpDo somebody know where this came from or where I should look to find the reason for that?
PS. After there are a lot of lcdproc processes (about 6) it beginn to appear also sonewconn errors ...! (this behaviour is reproductible)
Thanks a lot,
fireodoSystem: 2.4.3-RELEASE-p1 (amd64) on APU2 Board
-
I have seen that with the sdeclcd driver but not with all hardware. It seems to be a timing issue that shouldn't really exist IMO.
The only way I have avoided that is to leave lcdproc disabled in the package and start the client and server manually at boot with a shellcmd. Not pretty but worked OK.
Steve
-
@stephenw10 I resolved myself (not the elegant way :-) ) by attaching this command: /usr/local/etc/rc.d/lcdproc.sh stop ; pkill -f lcdproc_client.php ; /usr/local/etc/rc.d/lcdproc.sh start to the ppp-linkup script and that works fine - I asked perhaps someone with more experience in pfsense knows the real cause of this behaviour! :-)
Thanks for answering,
fireodo -
The issue appears to be in at least two places IMO.
The lcdproc package is restarted when the WAN IP changes but that should not be required. Some packages will need to be restarted but unless you have LCDd listening for clients on WAN I can't see why lcdproc needs to be. It may need explicitly excluding.
It should be able to be restarted, even multiple times, and not fail anyway. As I said this appears to be a timing issue which shouldn't be a problem. Something is missing to prevent this running out of sequence.
Are you using the SDEC driver?
Steve
-
@stephenw10 said in [LCDProc multiple instances after packages restart]
Are you using the SDEC driver?
No, the ChrystalFontz Package ...
fireodo
-
@fireodo said in LCDProc multiple instances after packages restart:
ppp-linkup script
It seems the problem persists, even using ANY driver. I am using MatrixOrbital and everytime a package is installed/uninstalled and/or a WAN/OPT is up and down, the LCDPROC is being restarted with errors, creating a new php instance.
After 1 or 2 days, the Firewall is consuming 100% CPU because of that. You have to stop the LCDPROC service and wait for the php to drop, or kill them all manually.
Would it be the case to open a REDMINE ticket for this? This is really bad for those who are using LCD on the box.
Regards
Fabricio. -
Sure go ahead. Give as much detail as possible. There was actually a control added that can be set on any package to prevent unnecessary restarts. Could apply here.
I'm not seeing that issue any longer here with SDEC driver.Steve
-
@stephenw10
Hi Steve,
Thanks for the message. Much Appreciated!
I am writing (with details) a ticket on redmine. Also collecting some LOGs.
Would you mind let me know how to prevent the restart? Is there any other topic mentioning that?
Thanks once again!
Fabricio. -
It was to add the tag
<starts_on_sync/>
inside the<service>
tags. That can be added for any package that is started by sync and doesn't need to be (re)started by other scripts.
However I think I tried it at the time and it stopped lcdproc starting at all. YMMV!Steve
-
@stephenw10 said in LCDProc multiple instances after packages restart:
Steve
I will give it a try.. Thanks Much Steve!!
Fabricio.