Discussion:
ClientDisconnected error
(too old to reply)
Malika LB
2009-11-19 16:59:37 UTC
Permalink
Bonjour,

Je vous soumets un pb rencontré sur notre site en espérant que vous
connaissez ce genre de pb.

Symptomes:
- la navigation devient impossible, on a l'erreur suivante chaque fois qu'on
clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même machine atteignent
des maximums (72 000) (database activity de la zmi)
Seul un arrêt relance de la machine vient à bout du pb.

Merci pour vos retours d'expérience.

Malika LAHOUCHE
ACOSS

Contexte :

Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.2
2 serveurs zope avec 2 instances chacun et un zeo pour la BD.
data.fs de 13 GO

ci-joint un extrait du fichier zope.conf sur les 2 instances des 2 serveurs
:

<zodb_db main>

mount-point /

*# ZODB cache, in number of objects

#cache-size 30000

# modif 30/10/2009 suite problemes perf signales

cache-size 100000
*

<zeoclient>

server webprod11.ac750.recouv:9999

storage 1

name zeostorage

var $INSTANCE/var

# ZEO client cache, in bytes

#cache-size 50MB

cache-size 100MB

# Uncomment to have a persistent disk cache

#client zeo3

</zeoclient>

</zodb_db>

Le client zope de la machine qui rencontre le pb nous renvoit ce message à
chaque consultation de page :

Traceback (innermost last):

Module ZPublisher.Publish, line 101, in publish

Module ZPublisher.mapply, line 88, in mapply

Module ZPublisher.Publish, line 39, in call_object

Module Products.CMFCore.PortalContent, line 116, in __call__

Module Shared.DC.Scripts.Bindings, line 306, in __call__

Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec

Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec

Module Products.CMFCore.FSPageTemplate, line 191, in _exec

Module Products.CMFCore.FSPageTemplate, line 124, in pt_render

Module Products.PageTemplates.PageTemplate, line 96, in pt_render

- <FSPageTemplate at /iliad/folder_view used for
/iliad/sections/metiers/lettres_acoss/dirres>

Module TAL.TALInterpreter, line 186, in __call__

Module TAL.TALInterpreter, line 190, in __call__

Module TAL.TALInterpreter, line 234, in interpret

Module TAL.TALInterpreter, line 650, in do_defineMacro

Module TAL.TALInterpreter, line 234, in interpret

Module TAL.TALInterpreter, line 409, in do_optTag_tal

Module TAL.TALInterpreter, line 394, in do_optTag

Module TAL.TALInterpreter, line 389, in no_tag

Module TAL.TALInterpreter, line 234, in interpret

Module TAL.TALInterpreter, line 671, in do_useMacro

Module TAL.TALInterpreter, line 234, in interpret

Module TAL.TALInterpreter, line 460, in do_setLocal_tal

Module Products.PageTemplates.TALES, line 221, in evaluate

Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__

- __traceback_info__: btool.getBoxes(here)

Module Python expression "btool.getBoxes(here)", line 1, in <expression>

Module Products.CPSDefault.BoxesTool, line 94, in getBoxes

Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings

Module ZODB.Connection, line 597, in setstate

Module ZEO.ClientStorage, line 757, in load

Module ZEO.ClientStorage, line 75, in __getattr__

ClientDisconnected
Racinet Georges
2009-11-19 18:00:04 UTC
Permalink
Post by Malika LB
Bonjour,
Je vous soumets un pb rencontré sur notre site en espérant que vous
connaissez ce genre de pb.
- la navigation devient impossible, on a l'erreur suivante chaque
fois qu'on clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même machine
atteignent des maximums (72 000) (database activity de la zmi)
Seul un arrêt relance de la machine vient à bout du pb.
Bonjour,

pour le cpu, j'ai vu ça récemment avec la conversion des documents
excel.
Par ailleurs, cela pourrait être la cause première, le
ClientDisconnected error devenant une conséquence d'un absence de
communications trop long entre client et serveur ZEO.
Ce n'est qu'une hypothèse...

Si le CPU s'emballe, vous devez savoir quels process l'occupe ?

Cordialement,

--
GR
Post by Malika LB
Merci pour vos retours d'expérience.
Malika LAHOUCHE
ACOSS
Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.2
2 serveurs zope avec 2 instances chacun et un zeo pour la BD.
data.fs de 13 GO
ci-joint un extrait du fichier zope.conf sur les 2 instances des 2
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
#cache-size 30000
# modif 30/10/2009 suite problemes perf signales
cache-size 100000
<zeoclient>
server webprod11.ac750.recouv:9999
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
#cache-size 50MB
cache-size 100MB
# Uncomment to have a persistent disk cache
#client zeo3
</zeoclient>
</zodb_db>
Le client zope de la machine qui rencontre le pb nous renvoit ce
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.CMFCore.PortalContent, line 116, in __call__
Module Shared.DC.Scripts.Bindings, line 306, in __call__
Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec
Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 191, in _exec
Module Products.CMFCore.FSPageTemplate, line 124, in pt_render
Module Products.PageTemplates.PageTemplate, line 96, in pt_render
- <FSPageTemplate at /iliad/folder_view used for /iliad/sections/
metiers/lettres_acoss/dirres>
Module TAL.TALInterpreter, line 186, in __call__
Module TAL.TALInterpreter, line 190, in __call__
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 650, in do_defineMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 409, in do_optTag_tal
Module TAL.TALInterpreter, line 394, in do_optTag
Module TAL.TALInterpreter, line 389, in no_tag
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 671, in do_useMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 460, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: btool.getBoxes(here)
Module Python expression "btool.getBoxes(here)", line 1, in
<expression>
Module Products.CPSDefault.BoxesTool, line 94, in getBoxes
Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings
Module ZODB.Connection, line 597, in setstate
Module ZEO.ClientStorage, line 757, in load
Module ZEO.ClientStorage, line 75, in __getattr__
ClientDisconnected
_______________________________________________
cps-users-fr
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
Malika LB
2009-11-27 10:12:28 UTC
Permalink
Bonjour,

pour info, il s'agit du process python.

Il n'y a pas de conversion de fichiers excel.

Merci.
Post by Malika LB
Bonjour,
Post by Malika LB
Je vous soumets un pb rencontré sur notre site en espérant que vous
connaissez ce genre de pb.
- la navigation devient impossible, on a l'erreur suivante chaque fois
qu'on clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même machine atteignent
des maximums (72 000) (database activity de la zmi)
Seul un arrêt relance de la machine vient à bout du pb.
Bonjour,
pour le cpu, j'ai vu ça récemment avec la conversion des documents excel.
Par ailleurs, cela pourrait être la cause première, le
ClientDisconnected error devenant une conséquence d'un absence de
communications trop long entre client et serveur ZEO.
Ce n'est qu'une hypothèse...
Si le CPU s'emballe, vous devez savoir quels process l'occupe ?
Cordialement,
--
GR
Post by Malika LB
Merci pour vos retours d'expérience.
Malika LAHOUCHE
ACOSS
Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.2
2 serveurs zope avec 2 instances chacun et un zeo pour la BD.
data.fs de 13 GO
ci-joint un extrait du fichier zope.conf sur les 2 instances des 2
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
#cache-size 30000
# modif 30/10/2009 suite problemes perf signales
cache-size 100000
<zeoclient>
server webprod11.ac750.recouv:9999
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
#cache-size 50MB
cache-size 100MB
# Uncomment to have a persistent disk cache
#client zeo3
</zeoclient>
</zodb_db>
Le client zope de la machine qui rencontre le pb nous renvoit ce message à
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.CMFCore.PortalContent, line 116, in __call__
Module Shared.DC.Scripts.Bindings, line 306, in __call__
Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec
Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 191, in _exec
Module Products.CMFCore.FSPageTemplate, line 124, in pt_render
Module Products.PageTemplates.PageTemplate, line 96, in pt_render
- <FSPageTemplate at /iliad/folder_view used for
/iliad/sections/metiers/lettres_acoss/dirres>
Module TAL.TALInterpreter, line 186, in __call__
Module TAL.TALInterpreter, line 190, in __call__
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 650, in do_defineMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 409, in do_optTag_tal
Module TAL.TALInterpreter, line 394, in do_optTag
Module TAL.TALInterpreter, line 389, in no_tag
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 671, in do_useMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 460, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: btool.getBoxes(here)
Module Python expression "btool.getBoxes(here)", line 1, in <expression>
Module Products.CPSDefault.BoxesTool, line 94, in getBoxes
Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings
Module ZODB.Connection, line 597, in setstate
Module ZEO.ClientStorage, line 757, in load
Module ZEO.ClientStorage, line 75, in __getattr__
ClientDisconnected
_______________________________________________
cps-users-fr
Gestion de l'abonnement : <
http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
Gestion de l'abonnement : <
http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
Georges Racinet
2009-11-27 11:46:31 UTC
Permalink
Post by Malika LB
Bonjour,
pour info, il s'agit du process python.
Il n'y a pas de conversion de fichiers excel.
Voilà donc un point évacué. Il reste toutefois possible (seulement
possible) que régler l'emballement CPU règle le ClientDisconnected.

Avez-vous moyen de déterminer précisément le moment de l'emballement. Si
oui, qu'avez-vous comme logs au niveau DEBUG, ou même TRACE, juste avant ?

Une remarque générale : CPS 3.2 et Zope 2.7 sont maintenant des versions
fort vieilles.
Au niveau du logiciel libre qu'est CPS générique, passer du temps sur ce
problème n'est intéressant pour la communauté que dans la mesure où l'on
pense que la branche stable actuelle (CPS 3.4 sur Zope 2.9) en souffre
potentiellement. À ce stade, il est par exemple tout à fait possible que
ce soit un problème de Zope 2.7 réglé depuis longtemps dans Zope 2.9.

Je n'ai aucune idée de vos perspectives à moyen terme (un an) pour cette
application ni de l'étendue de vos développements spécifiques, mais ne
peux que vous encourager à envisager une migration à CPS 3.4.9

Très cordialement,

GR
Post by Malika LB
Merci.
Bonjour,
Je vous soumets un pb rencontré sur notre site en espérant que
vous connaissez ce genre de pb.
- la navigation devient impossible, on a l'erreur suivante
chaque fois qu'on clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même machine
atteignent des maximums (72 000) (database activity de la zmi)
Seul un arrêt relance de la machine vient à bout du pb.
Bonjour,
pour le cpu, j'ai vu ça récemment avec la conversion des documents excel.
Par ailleurs, cela pourrait être la cause première, le
ClientDisconnected error devenant une conséquence d'un absence de
communications trop long entre client et serveur ZEO.
Ce n'est qu'une hypothèse...
Si le CPU s'emballe, vous devez savoir quels process l'occupe ?
Cordialement,
--
GR
Merci pour vos retours d'expérience.
Malika LAHOUCHE
ACOSS
Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.2
2 serveurs zope avec 2 instances chacun et un zeo pour la BD.
data.fs de 13 GO
ci-joint un extrait du fichier zope.conf sur les 2 instances des
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
#cache-size 30000
# modif 30/10/2009 suite problemes perf signales
cache-size 100000
<zeoclient>
server webprod11.ac750.recouv:9999
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
#cache-size 50MB
cache-size 100MB
# Uncomment to have a persistent disk cache
#client zeo3
</zeoclient>
</zodb_db>
Le client zope de la machine qui rencontre le pb nous renvoit ce
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.CMFCore.PortalContent, line 116, in __call__
Module Shared.DC.Scripts.Bindings, line 306, in __call__
Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec
Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 191, in _exec
Module Products.CMFCore.FSPageTemplate, line 124, in pt_render
Module Products.PageTemplates.PageTemplate, line 96, in pt_render
- <FSPageTemplate at /iliad/folder_view used for
/iliad/sections/metiers/lettres_acoss/dirres>
Module TAL.TALInterpreter, line 186, in __call__
Module TAL.TALInterpreter, line 190, in __call__
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 650, in do_defineMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 409, in do_optTag_tal
Module TAL.TALInterpreter, line 394, in do_optTag
Module TAL.TALInterpreter, line 389, in no_tag
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 671, in do_useMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 460, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: btool.getBoxes(here)
Module Python expression "btool.getBoxes(here)", line 1, in <expression>
Module Products.CPSDefault.BoxesTool, line 94, in getBoxes
Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings
Module ZODB.Connection, line 597, in setstate
Module ZEO.ClientStorage, line 757, in load
Module ZEO.ClientStorage, line 75, in __getattr__
ClientDisconnected
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr <http://www.racinet.fr/>
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
Malika LB
2009-12-01 08:28:45 UTC
Permalink
Bonjour,

je reviens avec plus d'informations et des questions :

log du client zope :

2009-11-30T13:35:33 INFO(0) CookieLogger::getLoginURL(self) internal url
redirect =>
https://sitename:443/WebAppSSO/login?service=http%3A//sitename/iliad/sections/acoss/publications/en_direct%3F&next=http%3A//sitename/iliad/sections/acoss/publications/en_direct%3F
------
2009-11-30T13:35:33 ERROR(200) zrpc:27885 can't decode message:
'(JE\xa7\x04\x00K\x00U\x06.reply(T\x8a\xc6\x1e\x00((U\tO...'
------
2009-11-30T13:35:33 ERROR(200) zrpc-conn:zeoserver:9999 Error caught in
asyncore
Traceback (most recent call last):
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 69, in
read
obj.handle_read_event()
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 390,
in handle_read_event
self.handle_read()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/smac.py", line 217,
in handle_read
self.message_input(msg)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 233, in message_input
msgid, flags, name, args = self.marshal.decode(message)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/marshal.py", line
39, in decode
return unpickler.load() # msgid, flags, name, args
MemoryError
------
2009-11-30T13:35:33 PROBLEM(100) ZCS:27885 Disconnected from storage:
"('zeoserver', 9999)"
------
2009-11-30T13:35:33 ERROR(200) ZODB Couldn't load state for 0x610f8c
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ServerStub.py", line 82,
in zeoLoad
return self.rpc.call('zeoLoad', oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 370, in call
r_flags, r_args = self.wait(msgid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 477, in wait
asyncore.poll(delay, self._singleton)
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 119,
in poll
read(obj)
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 73, in
read
obj.handle_error()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 299, in handle_error
self.close()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 670, in close
self.mgr.close_conn(self)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/client.py", line
215, in close_conn
self.connect()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/client.py", line
178, in connect
t.start()
File "/usr/local/zope/python.2.3.4/lib/python2.3/threading.py", line 410,
in start
_start_new_thread(self.__bootstrap, ())
error: can't start new thread

------
2009-11-30T13:35:33 ERROR(200) SiteError
http://sitename/iliad/sections/metiers/recouvrement/socles_communs/socle_commun_delais/downloadFile/file/socle%20commun%20d%C3%A9lais%20SNV2%2007%2005%2008.zip/index_html
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", line
101, in publish
request, bind=1)
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/mapply.py", line
88, in mapply
if debug is not None: return debug(object,args,context)
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", line
39, in call_object
result=apply(object,args) # Type s<cr> to step into published object.
File
"/usr/local/zope/zope274_instance_ib/Products/AcossDocs/patchFileDownloader.py",
line 40, in file_downloader_index_html
File "/usr/local/zope/zope274_base/lib/python/OFS/Image.py", line 405, in
index_html
RESPONSE.write(data.data)
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ServerStub.py", line 82,
in zeoLoad
return self.rpc.call('zeoLoad', oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 370, in call
r_flags, r_args = self.wait(msgid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 477, in wait
asyncore.poll(delay, self._singleton)
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 119,
in poll
read(obj)
File "/usr/local/zope/python.2.3.4/lib/python2.3/asyncore.py", line 73, in
read
obj.handle_error()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 299, in handle_error
self.close()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/connection.py",
line 670, in close
self.mgr.close_conn(self)
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/client.py", line
215, in close_conn
self.connect()
File "/usr/local/zope/zope274_base/lib/python/ZEO/zrpc/client.py", line
178, in connect
t.start()
File "/usr/local/zope/python.2.3.4/lib/python2.3/threading.py", line 410,
in start
_start_new_thread(self.__bootstrap, ())
error: can't start new thread

------
2009-11-30T13:35:33 INFO(0) CookieLogger::getLoginURL(self) LoginURL
redirection
------
2009-11-30T13:35:33 INFO(0) CookieLogger::getLoginURL(self) service =
http://sitename/iliad/acoss_logged_out?
------
2009-11-30T13:35:33 INFO(0) CookieLogger::getLoginURL(self) internal url
redirect =>
https://sitename:443/WebAppSSO/login?service=http%3A//sitename/iliad/acoss_logged_out%3F&next=http%3A//sitename/iliad/acoss_logged_out%3F
------
2009-11-30T13:35:34 INFO(0) CookieLogger Attempt to login via SSO:
UNKS-4255-aiahezPGrU3a34g1DoAH
------
2009-11-30T13:35:34 INFO(0) CookieLogger SSO Validate send:
http://sitename:80/WebAppSSO/validate?service=http%3A//sitename/iliad/sections/communication/infos_directeurs/en_direct/en_direct_n89%3F&ticket=UNKS-4255-aiahezPGrU3a34g1DoAH
------
2009-11-30T13:35:34 INFO(0) CookieLogger SSO Validate return: yes
------
2009-11-30T13:35:34 INFO(0) CookieLogger SSO User: FMAUREL
------
2009-11-30T13:35:34 INFO(0) CookieLogger set cookie 2 __tc
77367196A4JoU5GeLGY
------
2009-11-30T13:35:36 INFO(0) CookieLogger::getLoginURL(self) LoginURL
redirection
------
2009-11-30T13:35:36 INFO(0) CookieLogger::getLoginURL(self) service =
https://applications.acoss.fr/iliad?
------
2009-11-30T13:35:36 INFO(0) CookieLogger::getLoginURL(self) external url
redirect =>
https://applications.acoss.fr:443/WebAppSSO/login?service=https://applications.acoss.fr/iliad?&next=https://applications.acoss.fr/iliad
------
2009-11-30T13:35:42 INFO(0) CookieLogger Attempt to login via SSO:
UNKS-3919-LGRcieEItRJmhe40Xg9y
------
2009-11-30T13:35:42 INFO(0) CookieLogger SSO Validate send:
http://sitename:80/WebAppSSO/validate?service=http%3A//sitename/iliad/sections/acoss/publications/en_direct%3F&ticket=UNKS-3919-LGRcieEItRJmhe40Xg9y
------
2009-11-30T13:35:42 INFO(0) CookieLogger SSO Validate return: yes
------
2009-11-30T13:35:42 INFO(0) CookieLogger SSO User: LROZIER
------
2009-11-30T13:35:42 INFO(0) CookieLogger set cookie 2 __tc
46815330A4JoU7RDde4
------
2009-11-30T13:35:42 ERROR(200) ZODB Couldn't load state for 0x3106cb
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
75, in __getattr__
raise ClientDisconnected()
ClientDisconnected
------
2009-11-30T13:35:42 ERROR(200) ZODB Couldn't load state for 0x3106cb
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
75, in __getattr__
raise ClientDisconnected()
ClientDisconnected
------
2009-11-30T13:35:42 ERROR(200) ZODB Couldn't load state for 0x3106cb
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
75, in __getattr__
raise ClientDisconnected()
ClientDisconnected
------
2009-11-30T13:35:42 ERROR(200) SiteError
http://sitename/iliad/sections/acoss/publications/en_direct
Traceback (most recent call last):
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", line
101, in publish
request, bind=1)
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/mapply.py", line
88, in mapply
if debug is not None: return debug(object,args,context)
File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", line
39, in call_object
result=apply(object,args) # Type s<cr> to step into published object.
File
"/usr/local/zope/zope274_instance_i1/Products/CMFCore/PortalContent.py",
line 116, in __call__
return view()
File
"/usr/local/zope/zope274_base/lib/python/Shared/DC/Scripts/Bindings.py",
line 306, in __call__
return self._bindAndExec(args, kw, None)
File
"/usr/local/zope/zope274_base/lib/python/Shared/DC/Scripts/Bindings.py",
line 324, in _bindAndExec
def _bindAndExec(self, args, kw, caller_namespace):
File
"/usr/local/zope/zope274_base/lib/python/Shared/DC/Scripts/Bindings.py",
line 343, in _bindAndExec
return self._exec(bound_data, args, kw)
File
"/usr/local/zope/zope274_instance_i1/Products/CMFCore/FSPageTemplate.py",
line 191, in _exec
result = self.pt_render(extra_context=bound_names)
File
"/usr/local/zope/zope274_instance_i1/Products/CMFCore/FSPageTemplate.py",
line 124, in pt_render
result = FSPageTemplate.inheritedAttribute('pt_render')(
File
"/usr/local/zope/zope274_base/lib/python/Products/PageTemplates/PageTemplate.py",
line 96, in pt_render
tal=not source, strictinsert=0)()
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
186, in __call__
def __call__(self):
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
190, in __call__
self.interpret(self.program)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
234, in interpret
handlers[opcode](self, args)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
650, in do_defineMacro
self.interpret(macro)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
234, in interpret
handlers[opcode](self, args)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
409, in do_optTag_tal
self.do_optTag(stuff)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
394, in do_optTag
return self.no_tag(start, program)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
389, in no_tag
self.interpret(program)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
234, in interpret
handlers[opcode](self, args)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
671, in do_useMacro
self.interpret(macro)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
234, in interpret
handlers[opcode](self, args)
File "/usr/local/zope/zope274_base/lib/python/TAL/TALInterpreter.py", line
460, in do_setLocal_tal
self.engine.setLocal(name, self.engine.evaluateValue(expr))
File
"/usr/local/zope/zope274_base/lib/python/Products/PageTemplates/TALES.py",
line 221, in evaluate
return expression(self)
File
"/usr/local/zope/zope274_base/lib/python/Products/PageTemplates/ZRPythonExpr.py",
line 47, in __call__
return eval(code, g, {})
File "Python expression "btool.getBoxes(here)"", line 1, in <expression>
File
"/usr/local/zope/zope274_instance_i1/Products/CPSDefault/BoxesTool.py", line
99, in getBoxes
f_boxes, f_settings = self._getFolderBoxesAndSettings(home)
File
"/usr/local/zope/zope274_instance_i1/Products/CPSDefault/BoxesTool.py", line
282, in _getFolderBoxesAndSettings
idbc = self.getBoxContainerId(folder)
File
"/usr/local/zope/zope274_instance_i1/Products/CPSDefault/BoxesTool.py", line
266, in getBoxContainerId
url = portal_url.getRelativeUrl(folder)
File "/usr/local/zope/zope274_instance_i1/Products/CMFCore/URLTool.py",
line 88, in getRelativeContentURL
return '/'.join( self.getRelativeContentPath(content) )
File "/usr/local/zope/zope274_instance_i1/Products/CMFCore/URLTool.py",
line 81, in getRelativeContentPath
content_path = content.getPhysicalPath()
File "/usr/local/zope/zope274_base/lib/python/ZODB/Connection.py", line
597, in setstate
p, serial = self._storage.load(oid, self._version)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
757, in load
p, s, v, pv, sv = self._server.zeoLoad(oid)
File "/usr/local/zope/zope274_base/lib/python/ZEO/ClientStorage.py", line
75, in __getattr__
raise ClientDisconnected()
ClientDisconnected

voici la config de mon log coté ZEO, est ce que je peux augmenter le niveau
de log et comment ?

# ZEO configuration file

%define INSTANCE /usr/local/zope/zope274_zeo_server

<zeo>
address 9999
read-only false
invalidation-queue-size 100
# monitor-address PORT
# transaction-timeout SECONDS
</zeo>

<filestorage 1>
path $INSTANCE/var/Data.fs
</filestorage>

<eventlog>
level info
<logfile>
path $INSTANCE/log/zeo.log
</logfile>
</eventlog>

<runner>
program $INSTANCE/bin/runzeo
socket-name $INSTANCE/etc/zeo.zdsock
daemon true
forever false
backoff-limit 10
exit-codes 0, 2
directory $INSTANCE
default-to-interactive true
# user zope
python /usr/local/zope/python.2.3.4/bin/python
zdrun /usr/local/zope/zope274_base/lib/python/zdaemon/zdrun.py

# This logfile should match the one in the zeo.conf file.
# It is used by zdctl's logtail command, zdrun/zdctl doesn't write it.
logfile $INSTANCE/log/zeo.log
</runner>


La valeur du cache-size avait été augmenté pour faire face au pbs de cpu, de
30000 à 100000, à présent on la remise à 60000.

Pour info nous n'envisageons pas de changer de version de zope/cps.

Merci d'avance.
Post by Georges Racinet
Post by Malika LB
Bonjour,
pour info, il s'agit du process python.
Il n'y a pas de conversion de fichiers excel.
Voilà donc un point évacué. Il reste toutefois possible (seulement
possible) que régler l'emballement CPU règle le ClientDisconnected.
Avez-vous moyen de déterminer précisément le moment de l'emballement. Si
oui, qu'avez-vous comme logs au niveau DEBUG, ou même TRACE, juste avant ?
Une remarque générale : CPS 3.2 et Zope 2.7 sont maintenant des versions
fort vieilles.
Au niveau du logiciel libre qu'est CPS générique, passer du temps sur ce
problème n'est intéressant pour la communauté que dans la mesure où l'on
pense que la branche stable actuelle (CPS 3.4 sur Zope 2.9) en souffre
potentiellement. À ce stade, il est par exemple tout à fait possible que
ce soit un problème de Zope 2.7 réglé depuis longtemps dans Zope 2.9.
Je n'ai aucune idée de vos perspectives à moyen terme (un an) pour cette
application ni de l'étendue de vos développements spécifiques, mais ne
peux que vous encourager à envisager une migration à CPS 3.4.9
Très cordialement,
GR
Post by Malika LB
Merci.
Bonjour,
Je vous soumets un pb rencontré sur notre site en espérant que
vous connaissez ce genre de pb.
- la navigation devient impossible, on a l'erreur suivante
chaque fois qu'on clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même machine
atteignent des maximums (72 000) (database activity de la zmi)
Seul un arrêt relance de la machine vient à bout du pb.
Bonjour,
pour le cpu, j'ai vu ça récemment avec la conversion des documents excel.
Par ailleurs, cela pourrait être la cause première, le
ClientDisconnected error devenant une conséquence d'un absence de
communications trop long entre client et serveur ZEO.
Ce n'est qu'une hypothèse...
Si le CPU s'emballe, vous devez savoir quels process l'occupe ?
Cordialement,
--
GR
Merci pour vos retours d'expérience.
Malika LAHOUCHE
ACOSS
Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.2
2 serveurs zope avec 2 instances chacun et un zeo pour la BD.
data.fs de 13 GO
ci-joint un extrait du fichier zope.conf sur les 2 instances des
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
#cache-size 30000
# modif 30/10/2009 suite problemes perf signales
cache-size 100000
<zeoclient>
server webprod11.ac750.recouv:9999
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
#cache-size 50MB
cache-size 100MB
# Uncomment to have a persistent disk cache
#client zeo3
</zeoclient>
</zodb_db>
Le client zope de la machine qui rencontre le pb nous renvoit ce
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.CMFCore.PortalContent, line 116, in __call__
Module Shared.DC.Scripts.Bindings, line 306, in __call__
Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec
Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 191, in _exec
Module Products.CMFCore.FSPageTemplate, line 124, in pt_render
Module Products.PageTemplates.PageTemplate, line 96, in pt_render
- <FSPageTemplate at /iliad/folder_view used for
/iliad/sections/metiers/lettres_acoss/dirres>
Module TAL.TALInterpreter, line 186, in __call__
Module TAL.TALInterpreter, line 190, in __call__
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 650, in do_defineMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 409, in do_optTag_tal
Module TAL.TALInterpreter, line 394, in do_optTag
Module TAL.TALInterpreter, line 389, in no_tag
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 671, in do_useMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 460, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
Module Products.PageTemplates.ZRPythonExpr, line 47, in __call__
- __traceback_info__: btool.getBoxes(here)
Module Python expression "btool.getBoxes(here)", line 1, in
<expression>
Module Products.CPSDefault.BoxesTool, line 94, in getBoxes
Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings
Module ZODB.Connection, line 597, in setstate
Module ZEO.ClientStorage, line 757, in load
Module ZEO.ClientStorage, line 75, in __getattr__
ClientDisconnected
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr <http://www.racinet.fr/>
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
Gestion de l'abonnement : <
http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
Racinet Georges
2009-12-01 09:06:26 UTC
Permalink
Bonjour,

vous arrivez à la limite de la RAM que le système peut allouer, ce
qui signifie au passage que cela fait un certain temps que le disque
dur relaye la RAM (swap) et que les performances sont dégradées au
delà du supportable... Pas la peine de chercher plus loin tant que
vous avez des MemoryError. Maintenant, si vous me dites que vos outils
d'administration du système ne le relèvent pas, je suis surpris.

Après, peut-être que Zope n'arrive pas bien à récupérer et part en
boucle infinie (c'est déjà assez remarquable de ne pas planter
direct), qu'une version plus récente se contenterait de s'arrêter,
mais ça n'a pas grande importance.
Post by Malika LB
Bonjour,
(...)
MemoryError
voici la config de mon log coté ZEO, est ce que je peux augmenter le
niveau de log et comment ?
Ça ne vous apprendra pas grand-chose dans ces conditions, mais cf plus
bas
Post by Malika LB
# ZEO configuration file
%define INSTANCE /usr/local/zope/zope274_zeo_server
<zeo>
address 9999
read-only false
invalidation-queue-size 100
# monitor-address PORT
# transaction-timeout SECONDS
</zeo>
<filestorage 1>
path $INSTANCE/var/Data.fs
</filestorage>
<eventlog>
level info
Ici, mettre «level debug» ou «level all»
Post by Malika LB
<logfile>
path $INSTANCE/log/zeo.log
</logfile>
</eventlog>
<runner>
program $INSTANCE/bin/runzeo
socket-name $INSTANCE/etc/zeo.zdsock
daemon true
forever false
backoff-limit 10
exit-codes 0, 2
directory $INSTANCE
default-to-interactive true
# user zope
python /usr/local/zope/python.2.3.4/bin/python
zdrun /usr/local/zope/zope274_base/lib/python/zdaemon/zdrun.py
# This logfile should match the one in the zeo.conf file.
# It is used by zdctl's logtail command, zdrun/zdctl doesn't write it.
logfile $INSTANCE/log/zeo.log
</runner>
La valeur du cache-size avait été augmenté pour faire face au pbs de
cpu, de 30000 à 100000, à présent on la remise à 60000.
le cache-size ne va certainement pas améliorer des problèmes de CPU,
mais des lenteurs liées au fait que les objets sont montés par réseau
depuis le serveur ZSS. Quand les entrées/sorties deviennent le facteur
limitant, au contraire, l'utilisation CPU chute : il ne fait
qu'attendre.

Bref, 60000 est encore beaucoup trop dans votre cas : vous allez
jusqu'au bout du swap, qu'en général on recommande de valoir deux fois
la RAM.
Post by Malika LB
Pour info nous n'envisageons pas de changer de version de zope/cps.
Merci d'avance.
Post by Malika LB
Bonjour,
pour info, il s'agit du process python.
Il n'y a pas de conversion de fichiers excel.
Voilà donc un point évacué. Il reste toutefois possible (seulement
possible) que régler l'emballement CPU règle le ClientDisconnected.
Avez-vous moyen de déterminer précisément le moment de
l'emballement. Si
oui, qu'avez-vous comme logs au niveau DEBUG, ou même TRACE, juste avant ?
Une remarque générale : CPS 3.2 et Zope 2.7 sont maintenant des versions
fort vieilles.
Au niveau du logiciel libre qu'est CPS générique, passer du temps sur ce
problème n'est intéressant pour la communauté que dans la mesure où l'on
pense que la branche stable actuelle (CPS 3.4 sur Zope 2.9) en souffre
potentiellement. À ce stade, il est par exemple tout à fait possible que
ce soit un problème de Zope 2.7 réglé depuis longtemps dans Zope 2.9.
Je n'ai aucune idée de vos perspectives à moyen terme (un an) pour cette
application ni de l'étendue de vos développements spécifiques, mais ne
peux que vous encourager à envisager une migration à CPS 3.4.9
Très cordialement,
GR
Post by Malika LB
Merci.
Bonjour,
Je vous soumets un pb rencontré sur notre site en espérant
que
Post by Malika LB
vous connaissez ce genre de pb.
- la navigation devient impossible, on a l'erreur suivante
chaque fois qu'on clique sur une page du site.
- le cpu s'emballe sur la machine concernée
- le nb d'objets chargés sur les 2 instances de la même
machine
Post by Malika LB
atteignent des maximums (72 000) (database activity de la
zmi)
Post by Malika LB
Seul un arrêt relance de la machine vient à bout du pb.
Bonjour,
pour le cpu, j'ai vu ça récemment avec la conversion des
documents
Post by Malika LB
excel.
Par ailleurs, cela pourrait être la cause première, le
ClientDisconnected error devenant une conséquence d'un absence
de
Post by Malika LB
communications trop long entre client et serveur ZEO.
Ce n'est qu'une hypothèse...
Si le CPU s'emballe, vous devez savoir quels process l'occupe ?
Cordialement,
--
GR
Merci pour vos retours d'expérience.
Malika LAHOUCHE
ACOSS
Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/
3.2
Post by Malika LB
2 serveurs zope avec 2 instances chacun et un zeo pour la
BD.
Post by Malika LB
data.fs de 13 GO
ci-joint un extrait du fichier zope.conf sur les 2
instances des
Post by Malika LB
<zodb_db main>
mount-point /
# ZODB cache, in number of objects
#cache-size 30000
# modif 30/10/2009 suite problemes perf signales
cache-size 100000
<zeoclient>
server webprod11.ac750.recouv:9999
storage 1
name zeostorage
var $INSTANCE/var
# ZEO client cache, in bytes
#cache-size 50MB
cache-size 100MB
# Uncomment to have a persistent disk cache
#client zeo3
</zeoclient>
</zodb_db>
Le client zope de la machine qui rencontre le pb nous
renvoit ce
Post by Malika LB
Module ZPublisher.Publish, line 101, in publish
Module ZPublisher.mapply, line 88, in mapply
Module ZPublisher.Publish, line 39, in call_object
Module Products.CMFCore.PortalContent, line 116, in __call__
Module Shared.DC.Scripts.Bindings, line 306, in __call__
Module Shared.DC.Scripts.Bindings, line 324, in _bindAndExec
Module Shared.DC.Scripts.Bindings, line 343, in _bindAndExec
Module Products.CMFCore.FSPageTemplate, line 191, in _exec
Module Products.CMFCore.FSPageTemplate, line 124, in
pt_render
Post by Malika LB
Module Products.PageTemplates.PageTemplate, line 96, in
pt_render
Post by Malika LB
- <FSPageTemplate at /iliad/folder_view used for
/iliad/sections/metiers/lettres_acoss/dirres>
Module TAL.TALInterpreter, line 186, in __call__
Module TAL.TALInterpreter, line 190, in __call__
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 650, in do_defineMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 409, in do_optTag_tal
Module TAL.TALInterpreter, line 394, in do_optTag
Module TAL.TALInterpreter, line 389, in no_tag
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 671, in do_useMacro
Module TAL.TALInterpreter, line 234, in interpret
Module TAL.TALInterpreter, line 460, in do_setLocal_tal
Module Products.PageTemplates.TALES, line 221, in evaluate
Module Products.PageTemplates.ZRPythonExpr, line 47, in
__call__
Post by Malika LB
- __traceback_info__: btool.getBoxes(here)
Module Python expression "btool.getBoxes(here)", line 1, in
<expression>
Module Products.CPSDefault.BoxesTool, line 94, in getBoxes
Module Products.CPSDefault.BoxesTool, line 288, in
_getFolderBoxesAndSettings
Module ZODB.Connection, line 597, in setstate
Module ZEO.ClientStorage, line 757, in load
Module ZEO.ClientStorage, line 75, in __getattr__
ClientDisconnected
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr <http://www.racinet.fr/>
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7
_______________________________________________
cps-users-fr
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr
--
Georges Racinet, http://www.racinet.fr
Zope/CPS/Plone expertise, assistance & development
GPG: 0x4862FFF7

Loading...