I'm getting the following errors when I try to run a Xron as scheduled task. I can trigger the Xron method manually and it will work. The method is at the bottom of this message. Any ideas what is happening? Thanks-- Chris ------ 2001-03-13T19:11:49 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\012\220r' Traceback (innermost last): File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr ------ 2001-03-13T19:11:49 (302) Products.Xron.Loggerr Cannot access catalog. Suspending operation. Traceback (innermost last): File "F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py", line 123, in Timer (atime, aurl)=Schedule.armed_event() # Get next armed event File "F:\CONNEC~1\lib\python\Products\Xron\Schedule.py", line 215, in armed_event for event in self._catalog.searchResults( File "F:\CONNEC~1\lib\python\ZODB\Connection.py", line 490, in setstate if invalid(oid) or invalid(None): raise ConflictError, oid ConflictError: êr Traceback (innermost last): File F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py, line 123, in Timer File F:\CONNEC~1\lib\python\Products\Xron\Schedule.py, line 215, in armed_event (Object: Traversable) File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr ------ 2001-03-13T19:11:49 PROBLEM(100) Products.Xron.Loggerr Dispatcher thread is terminating. Content-type: text/plain <dtml-try> <dtml-let thisyear="_.str(ZopeTime().year())" thismonth="ZopeTime().mm()" thisday="ZopeTime().dd()"> <dtml-with Test> <dtml-in expr="objectIds('Folder')"> <dtml-var sequence-item> is item </dtml-in> <dtml-comment>See if the folder for the year exists. If not, make it</dtml-comment> <dtml-if expr="thisyear not in objectIds('Folder')"> Can't find <dtml-var thisyear><br> <dtml-try> <dtml-call expr="manage_addFolder(thisyear, thisyear)"> <dtml-except> Can't add year </dtml-try> <dtml-else> Year exists </dtml-if> <dtml-with expr="_.getitem(thisyear)"> <dtml-if expr="thismonth+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisyear, thismonth+thisyear)"> <dtml-except> Can't add monthyear </dtml-try> <dtml-else> Month exists </dtml-if> <dtml-with expr="_.getitem(thismonth+thisyear)"> <dtml-if expr="thismonth+thisday+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisday+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisday+thisyear, thismonth+thisday+thisyear)"> <dtml-except> Can't add monthdayyear </dtml-try> <dtml-else> Day exists </dtml-if> </dtml-with> </dtml-with> </dtml-with> </dtml-let> <dtml-except> Can't add folder </dtml-try>
I'm guessing you are running this on Win98. True? That shouldn't be a problem. What the second message in the log says is that, when the Dispatcher woke up and tried to get the next scheduled event from the Schedule (which is a ZCatalog), it encountered a ConflictError. The third message says the Dispatcher terminated, something it has to do in this situation; otherwise, it would go into a loop trying to access the Schedule. I can't see why there is a conflict error -- perhaps it has to do with the first message in the log. It probably has nothing to do with the content of the scheduled method, because that method wasn't executed yet. IIUC, a conflict error occurrs when it looks to Zope that two transactions are trying to update the same ZODB resource. This may be a transient occurrence, or may be caused by a stalled transaction hogging the resource. If you were running on Unix you could kill off a thread or two and see if the other ones proceed. But I don't think you can do that on Win. I don't think I can pinpoint your problem, but here are a few questions to ask: Does this situation occur only after a fresh install of Xron? ...or have you successfully run other Xron methods? Is this situation repeatable, even after restarting Zope? Are there any recent transactions that you can undo to eliminate the cause of the first message in the log? -- HTH -- Loren
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Chris Muldrow Sent: Tuesday, March 13, 2001 11:19 To: zope@zope.org Subject: [Zope] Xron problems
I'm getting the following errors when I try to run a Xron as scheduled task. I can trigger the Xron method manually and it will work. The method is at the bottom of this message. Any ideas what is happening? Thanks-- Chris
------ 2001-03-13T19:11:49 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\012\220r' Traceback (innermost last): File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr
------ 2001-03-13T19:11:49 (302) Products.Xron.Loggerr Cannot access catalog. Suspending operation. Traceback (innermost last): File "F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py", line 123, in Timer (atime, aurl)=Schedule.armed_event() # Get next armed event File "F:\CONNEC~1\lib\python\Products\Xron\Schedule.py", line 215, in armed_event for event in self._catalog.searchResults( File "F:\CONNEC~1\lib\python\ZODB\Connection.py", line 490, in setstate if invalid(oid) or invalid(None): raise ConflictError, oid ConflictError: êr Traceback (innermost last): File F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py, line 123, in Timer File F:\CONNEC~1\lib\python\Products\Xron\Schedule.py, line 215, in armed_event (Object: Traversable) File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr
------ 2001-03-13T19:11:49 PROBLEM(100) Products.Xron.Loggerr Dispatcher thread is terminating.
Content-type: text/plain
<dtml-try> <dtml-let thisyear="_.str(ZopeTime().year())" thismonth="ZopeTime().mm()" thisday="ZopeTime().dd()"> <dtml-with Test>
<dtml-in expr="objectIds('Folder')"> <dtml-var sequence-item> is item </dtml-in> <dtml-comment>See if the folder for the year exists. If not, make it</dtml-comment> <dtml-if expr="thisyear not in objectIds('Folder')"> Can't find <dtml-var thisyear><br> <dtml-try> <dtml-call expr="manage_addFolder(thisyear, thisyear)"> <dtml-except> Can't add year </dtml-try> <dtml-else> Year exists </dtml-if>
<dtml-with expr="_.getitem(thisyear)"> <dtml-if expr="thismonth+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisyear, thismonth+thisyear)"> <dtml-except> Can't add monthyear </dtml-try> <dtml-else> Month exists </dtml-if>
<dtml-with expr="_.getitem(thismonth+thisyear)"> <dtml-if expr="thismonth+thisday+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisday+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisday+thisyear, thismonth+thisday+thisyear)"> <dtml-except> Can't add monthdayyear </dtml-try> <dtml-else> Day exists </dtml-if>
</dtml-with>
</dtml-with>
</dtml-with>
</dtml-let> <dtml-except> Can't add folder </dtml-try>
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Thanks! Cool thing number 1000 about Zope--the folks who build pieces for it write back to you when you've got questions! It's a fairly new installation, but it's worked on some other things. I'll try to see if I can wrangle some more test information.
From: "Loren Stafford" <lstafford@morphics.com> Date: Tue, 13 Mar 2001 14:09:33 -0800 To: "'Chris Muldrow'" <muldrow@mac.com>, <zope@zope.org> Subject: RE: [Zope] Xron problems
I'm guessing you are running this on Win98. True? That shouldn't be a problem.
What the second message in the log says is that, when the Dispatcher woke up and tried to get the next scheduled event from the Schedule (which is a ZCatalog), it encountered a ConflictError. The third message says the Dispatcher terminated, something it has to do in this situation; otherwise, it would go into a loop trying to access the Schedule.
I can't see why there is a conflict error -- perhaps it has to do with the first message in the log. It probably has nothing to do with the content of the scheduled method, because that method wasn't executed yet. IIUC, a conflict error occurrs when it looks to Zope that two transactions are trying to update the same ZODB resource. This may be a transient occurrence, or may be caused by a stalled transaction hogging the resource.
If you were running on Unix you could kill off a thread or two and see if the other ones proceed. But I don't think you can do that on Win.
I don't think I can pinpoint your problem, but here are a few questions to ask:
Does this situation occur only after a fresh install of Xron? ...or have you successfully run other Xron methods?
Is this situation repeatable, even after restarting Zope?
Are there any recent transactions that you can undo to eliminate the cause of the first message in the log?
-- HTH -- Loren
-----Original Message----- From: zope-admin@zope.org [mailto:zope-admin@zope.org]On Behalf Of Chris Muldrow Sent: Tuesday, March 13, 2001 11:19 To: zope@zope.org Subject: [Zope] Xron problems
I'm getting the following errors when I try to run a Xron as scheduled task. I can trigger the Xron method manually and it will work. The method is at the bottom of this message. Any ideas what is happening? Thanks-- Chris
------ 2001-03-13T19:11:49 ERROR(200) ZODB Couldn't load state for '\000\000\000\000\000\012\220r' Traceback (innermost last): File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr
------ 2001-03-13T19:11:49 (302) Products.Xron.Loggerr Cannot access catalog. Suspending operation. Traceback (innermost last): File "F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py", line 123, in Timer (atime, aurl)=Schedule.armed_event() # Get next armed event File "F:\CONNEC~1\lib\python\Products\Xron\Schedule.py", line 215, in armed_event for event in self._catalog.searchResults( File "F:\CONNEC~1\lib\python\ZODB\Connection.py", line 490, in setstate if invalid(oid) or invalid(None): raise ConflictError, oid ConflictError: êr Traceback (innermost last): File F:\CONNEC~1\lib\python\Products\Xron\Dispatcher.py, line 123, in Timer File F:\CONNEC~1\lib\python\Products\Xron\Schedule.py, line 215, in armed_event (Object: Traversable) File F:\CONNEC~1\lib\python\ZODB\Connection.py, line 490, in setstate ConflictError: êr
------ 2001-03-13T19:11:49 PROBLEM(100) Products.Xron.Loggerr Dispatcher thread is terminating.
Content-type: text/plain
<dtml-try> <dtml-let thisyear="_.str(ZopeTime().year())" thismonth="ZopeTime().mm()" thisday="ZopeTime().dd()"> <dtml-with Test>
<dtml-in expr="objectIds('Folder')"> <dtml-var sequence-item> is item </dtml-in> <dtml-comment>See if the folder for the year exists. If not, make it</dtml-comment> <dtml-if expr="thisyear not in objectIds('Folder')"> Can't find <dtml-var thisyear><br> <dtml-try> <dtml-call expr="manage_addFolder(thisyear, thisyear)"> <dtml-except> Can't add year </dtml-try> <dtml-else> Year exists </dtml-if>
<dtml-with expr="_.getitem(thisyear)"> <dtml-if expr="thismonth+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisyear, thismonth+thisyear)"> <dtml-except> Can't add monthyear </dtml-try> <dtml-else> Month exists </dtml-if>
<dtml-with expr="_.getitem(thismonth+thisyear)"> <dtml-if expr="thismonth+thisday+thisyear not in objectIds('Folder')"> Can't find <dtml-var "thismonth+thisday+thisyear"><br> <dtml-try> <dtml-call expr="manage_addFolder(thismonth+thisday+thisyear, thismonth+thisday+thisyear)"> <dtml-except> Can't add monthdayyear </dtml-try> <dtml-else> Day exists </dtml-if>
</dtml-with>
</dtml-with>
</dtml-with>
</dtml-let> <dtml-except> Can't add folder </dtml-try>
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
participants (2)
-
Chris Muldrow -
Loren Stafford