CoreSessionTracking, two SDMs, same var: Brings Zope to its knees
I'm using CoreSessionTracking 0.9.0 successfully in my application. Recently I stumbled on an issue that woke my curiosity. When I have two Session Data Managers, can they have the same var stored? The following is an exact setup that results in dead Zope: DTML Method "cst_multi_write": <dtml-var frame_html_header> <dtml-call "cst_multi_write_script()"> <h1>Wrote to two SDMs.</h1> <dtml-var standard_html_footer> Script (Python) "cst_multi_write_script": data_1=context.SDMorg.getSessionData() data_1.set('fname','sdmORG') data_1=context.SDMart.getSessionData() data_1.set('fname','sdmART') return DTML Method "cst_multi_read": <dtml-var frame_html_header> <dtml-let data="SDMorg.getSessionData()"> <b>SDMorg fname:</b> <dtml-var "data.get('fname')"><br> </dtml-let> <dtml-var standard_html_footer> What happens: I can run cst_multi_write just fine. However, when I run cst_multi_read, it never gives any result (browser keeps "spinning" indefinitely). And Zope dies in a few clicks. First symptoms include inability to access Internal Data Container of a Session Data Manager using ZMI. Then Zope stops responding. "z2.py" does not consume CPU cycles. The only remedy is to "killall python2" and restart Zope. -- Milos Prudek
Milos Prudek writes:
.... What happens: I can run cst_multi_write just fine. However, when I run cst_multi_read, it never gives any result (browser keeps "spinning" indefinitely). And Zope dies in a few clicks. First symptoms include inability to access Internal Data Container of a Session Data Manager using ZMI. Then Zope stops responding. "z2.py" does not consume CPU cycles. The only remedy is to "killall python2" and restart Zope. Looks like the thread tries to acquire a lock it already holds...
Dieter
Milos Prudek wrote:
What happens: I can run cst_multi_write just fine. However, when I run cst_multi_read, it never gives any result (browser keeps "spinning" indefinitely). And Zope dies in a few clicks. First symptoms include inability to access Internal Data Container of a Session Data Manager using ZMI. Then Zope stops responding. "z2.py" does not consume CPU cycles. The only remedy is to "killall python2" and restart Zope.
Were you able to get this to happen regularly? I can't seem to get it to happen even once using CST 0.9.-- Chris McDonough Zope Corporation http://www.zope.org http://www.zope.com "Killing hundreds of birds with thousands of stones"
participants (3)
-
Chris McDonough -
Dieter Maurer -
Milos Prudek