Zoe server not responding (Newsletter)

Hi guys,
We have two issues:

  • Zoe server not starting (server disconnected)
  • Python cron job not working (python environment setup along with zope libraries)

For the Zoe server we start it as /bin/zoe start
And we get this in its error log

2016-11-18T11:42:26 new connection ('127.0.0.1', 51821): <ManagedServerConnection ('127.0.0.1', 51821)>
2016-11-18T11:42:26 new connection ('127.0.0.1', 51822): <ManagedServerConnection ('127.0.0.1', 51822)>
2016-11-18T11:42:26 new connection ('127.0.0.1', 51823): <ManagedServerConnection ('127.0.0.1', 51823)>
2016-11-18T11:42:26 (127.0.0.1:51821) received handshake 'Z3101'
2016-11-18T11:42:26 (unconnected) disconnected
2016-11-18T11:42:26 (unconnected) disconnected
2016-11-18T11:42:27 (127.0.0.1:51818) disconnected

For other issue we talk later.

Server issue is on prod so urgent help is desired.

Either we can work together to fix it or it can be a paid opportunity.

Thanks, Habib

  1. It's called ZEO server
  2. There is no indication in your log file that indicates that the ZEO is not running. The clearly
    shows you that clients are connecting and disconnecting - nothing more, nothing lese. Your ZEO server
    is running

-aj

Thank AJ for your quick response.

The Zeo server is running but something seems to be disconnected; and which is why my plone site is down/not responding (503 Service Unavailable).

What could be missing that is making my site not work then?

Regards

Hi Habib - along with the zeoserver, there should also be an instance running. Look in the bin directory for a script called instance, or client (may also have a number with it). Start that in the foreground to make sure you don't get errors:

$ bin/instance fg

If that runs to the point where you get 'INFO Zope ready to handle requests', then hit ctrl+c, and restart the script this way:

$ bin/instance start

Otherwise if you get errors when starting it in the foreground, you'll need to take care of whatever causes the error.

Check the logs of your instance and see if the application starts up correctly or if you see the instance restarting regularly. Then run instance in foreground as @cdw9 indicated. I have seen various cases where the Zope app server was starting fine in foreground but failing to start in daemon mode for a variety of reasons.

-aj

Thanks for the idea cdw9

running instance fg on shell gives some errors:

from plone.protect.interfaces import IDisableCSRFProtection
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/data/hiding/parts/instance/etc/site.zcml", line 16.2-16.23
ZopeXMLConfigurationError: File "/data/hiding/buildout-cache/eggs/Products.EasyNewsletter-2.6.15-py2.7.egg/Products/EasyNewsletter/configure.zcml", line 18.2-18.32
ZopeXMLConfigurationError: File "/data/hiding/buildout-cache/eggs/Products.EasyNewsletter-2.6.15-py2.7.egg/Products/EasyNewsletter/browser/configure.zcml", line 50.2-55.32
ImportError: cannot import name IDisableCSRFProtection

and terminated.

What does this error indicate?

EasyNewsletter may be expecting a certain version of plone.protect. I'm guessing you may not have the plone4.csrffixes security fix installed. Follow the instructions here to set it up: https://pypi.org/project/plone4.csrffixes/

1 Like

Actually site was working a day ago.
There were issues with python environment, everything (almost) was working with python 2.7.6 on ubuntu then it was upgraded to 2.7.12; things started to happen bad; and this night i revert back, rebuild again python 2.7.6 based virtualenv.

This is why I feel csrffixes may not be the cause of the issue here.

Did you run buildout after upgrading python? What likely happened is that a buildout run picked up newer versions of the products you had installed if they were not pinned. You were probably using an older version of Easynewsletter before.

is obviously not installed.

Add the package to your buildout and re-run buildout.

-aj

1 Like

Thanks aj,
/data/hiding/buildout-cache/eggs contains this directory plone.protect-2.0.2-py2.7.egg
Do I still need to install plone.protect as you suggested?

(You might have got the idea that I am new with Plone.. Therefore many thanks for your support)
If thats the case which section of buildout.cfg should I add?
eggs =
Plone
Pillow
plone.app.dexterity
plone.directives.dexterity
plone.protect
..

You need a newer version of plone.protect. You don't need to add it to eggs, since it's already installed. Your buildout.cfg should have a [versions] section, or you may have a versions.cfg where you can pin product versions. I still recommend installing plone4.csrffixes, in which the instructions have you pin a newer version of plone.protect. https://pypi.org/project/plone4.csrffixes/

1 Like

Yes my buildout.cfg has a version section.
> [versions]

setuptools = 0.7.2
zc.buildout = 2.2.1
ZopeSkel = 2.21.2
Cheetah = 2.2.1
Products.DocFinderTab = 1.0.5
buildout.sanitycheck = 1.0b1
collective.recipe.backup = 2.17
plone.recipe.unifiedinstaller = 4.3.1
zopeskel.dexterity = 1.5.4.1
zopeskel.diazotheme = 1.1

What exactly the string (name plus version) should I add here?

To install csrffixes
Do I just need to do: pip install plone4-csrffixes
will this be enough? and should I do sudo pip install machine level or better only for my virtualenv?

Thanks

Habib, go to the link I posted for csrffixes, it explains how to install it.

Does the page ask me to do

  1. pip install plone4-csrffixes
  2. in buildout.cfg - egg section add entries
  3. in buildout.cfg - version section add entries
  4. optionally add these entries also in version section
    Products.CMFQuickInstallerTool = 3.0.12
    Products.PlonePAS = 5.0.4

and after that I should do sh run_buildout.sh ?

It seems to me all he did was upgrade Products.EasyNewsletter to a version that is incompatible with the Plone he is running.

@habibcs Downgrade https://pypi.python.org/pypi/Products.EasyNewsletter to something like 2.6.14.

Also, Plone uses buildout. If you install things with pip, you'll probably break stuff worse if you're doing it into the same python that plone is using--version conflicts. Plone uses buildout to manage versions/depenedencies, build config, etc.

You don't need to do step 1, it will be picked up by buildout. But do the rest of the steps and run buildout.

1 Like

cdw9 - ok to follow 2,3,4 steps.

vangheem based on what you suggest I better downgrade?

I told you the problem was caused because the virtualenv was created for python 2.7.6 in mind and it was point to /bin/python which was also 2.7.6 but mistakenly (or not) was updated to 2.7.12 and then the plone inside the virtualenv started to break - I did number of pip installs - which was wrong of me to do; as I just learned that either use buildout.cfg or pip to be cleaner.
Now I have downgraded the virtualenv of plone to 2.7.6 by having another python bins under home with version 2.7.6 while /bin/python is still 2.7.12

I need to decide now shall I look to downgrade EasyNewsletter (somehow) or follow steps to update csrffixes.
What you guys would suggest now?

Thanks

Thanks to all of you guys specially aj and cdw9!


This package and the instructions were indeed the fix - The site is up & running!

Regards, Habib

2 Likes