[ZODB-Dev] Reloading product in 2.8

Victor Safronovich vsafronovich at naumen.ru
Tue Jul 12 08:17:29 EDT 2005


Hello zodb developers!

My  product has 'Auto refresh mode' option checked.

I  changed  some  source  code  of  my product, after that autorefresh have been
occured.
And after autorefresh I got strange several errors:

 this error was accure almost after all autorefreshs.
1.
2005-07-12 17:44:07 ERROR Zope.SiteErrorLog Error while logging
Traceback (most recent call last):
  File "C:\Program Files\Zope-2.8.0-final\lib\python\Products\SiteErrorLog\SiteErrorLog.py", line 195, in raising
    log.append({
  File "C:\Program Files\Zope-2.8.0-final\lib\python\persistent\list.py", line 65, in append
    self._p_changed = 1
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 838, in register
    self._register(obj)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 848, in _register
    self.transaction_manager.get().join(self)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 258, in join
    self._prior_operation_failed() # doesn't return
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 252, in _prior_operation_failed
    raise TransactionFailedError("An operation previously failed, "
TransactionFailedError: An operation previously failed, with traceback:

  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZServer\PubCore\ZServerPublisher.py", line 23, in __init__
    response=response)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 386, in publish_module
    environ, debug, request, response)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 187, in publish_module_standard
    response = publish(request, module_name, after_list, debug=debug)
  File "C:\Program Files\WebSite\Instances\Zope_28\Products\CMFNauTools\Patches.py", line 1341, in _nau_new_publish
    x = Publish.old_publish(request, *args, **kwargs)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 119, in publish
    transactions_manager.commit()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\Zope2\App\startup.py", line 215, in commit
    transaction.commit()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_manager.py", line 84, in commit
    self.get().commit(sub)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 382, in commit
    self._saveCommitishError() # This raises!
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 380, in commit
    self._commitResources()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 425, in _commitResources
    rm.commit(self)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 462, in commit
    self._commit(transaction)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 503, in _commit
    self._store_objects(ObjectWriter(obj), transaction)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 534, in _store_objects
    self._cache[oid] = obj
ValueError: Cache values may only be in one cache.

and some times
2.
 2005-07-12 17:54:25 ERROR Zope.SiteErrorLog Error while loggingTraceback (most recent call last):
  File "C:\Program Files\Zope-2.8.0-final\lib\python\Products\SiteErrorLog\SiteErrorLog.py", line 195, in raising
    log.append({
  File "C:\Program Files\Zope-2.8.0-final\lib\python\persistent\list.py", line 65, in append
    self._p_changed = 1
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 838, in register
    self._register(obj)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 848, in _register
    self.transaction_manager.get().join(self)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 258, in join
    self._prior_operation_failed() # doesn't return
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 252, in _prior_operation_failed
    raise TransactionFailedError("An operation previously failed, "
TransactionFailedError: An operation previously failed, with traceback:

  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZServer\PubCore\ZServerPublisher.py", line 23, in __init__
    response=response)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 386, in publish_module
    environ, debug, request, response)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 187, in publish_module_standard
    response = publish(request, module_name, after_list, debug=debug)
  File "C:\Program Files\WebSite\Instances\Zope_28\Products\CMFNauTools\Patches.py", line 1341, in _nau_new_publish
    x = Publish.old_publish(request, *args, **kwargs)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZPublisher\Publish.py", line 119, in publish
    transactions_manager.commit()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\Zope2\App\startup.py", line 215, in commit
    transaction.commit()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_manager.py", line 84, in commit
    self.get().commit(sub)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 382, in commit
    self._saveCommitishError() # This raises!
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 380, in commit
    self._commitResources()
  File "C:\Program Files\Zope-2.8.0-final\lib\python\transaction\_transaction.py", line 425, in _commitResources
    rm.commit(self)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 462, in commit
    self._commit(transaction)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 503, in _commit
    self._store_objects(ObjectWriter(obj), transaction)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\Connection.py", line 527, in _store_objects
    p = writer.serialize(obj)  # This calls __getstate__ of obj
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\serialize.py", line 330, in serialize
    return self._dump(meta, obj.__getstate__())
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\serialize.py", line 339, in _dump
    self._p.dump(state)
  File "C:\Program Files\Zope-2.8.0-final\lib\python\ZODB\serialize.py", line 281, in persistent_id
    raise InvalidObjectReference(
InvalidObjectReference: Attempt to store an object from a foreign database connection

and rarely
3.
Traceback (innermost last):

  Module ZPublisher.Publish, line 119, in publish
    Line 58 of function publish:
      transactions_manager.commit()
    Function arguments:
      request=<HTTPRequest, URL=http://195.64.216.195:8080/docs/storage/explorer_frame>
      module_name='Zope2'
      after_list=[None]
      debug=0
      call_object=<function call_object at 0x00BA42B0> [call_object]
      missing_name=<function missing_name at 0x00D09330> [missing_name]
      dont_publish_class=<function dont_publish_class at 0x00D09370> [dont_publish_class]
      mapply=<function mapply at 0x00BA4770> [mapply]

  Module Zope2.App.startup, line 215, in commit
    Line 1 of function commit:
      transaction.commit()
    Function arguments:
      self=<Zope2.App.startup.TransactionsManager instance at 0x0256FC88>

  Module transaction._manager, line 84, in commit
    Line 1 of function commit:
      self.get().commit(sub)
    Function arguments:
      self=<transaction._manager.ThreadTransactionManager object at 0x00A46D30>
      sub=False

  Module transaction._transaction, line 382, in commit
    Line 21 of function commit:
      self._saveCommitishError() # This raises!
    Function arguments:
      self=<transaction._transaction.Transaction object at 0x025F3230>
      subtransaction=False

  Module transaction._transaction, line 380, in commit
    Line 19 of function commit:
      self._commitResources()
    Function arguments:
      self=<transaction._transaction.Transaction object at 0x025F3230>
      subtransaction=False

  Module transaction._transaction, line 425, in _commitResources
    Line 9 of function _commitResources:
      rm.commit(self)
    Function arguments:
      self=<transaction._transaction.Transaction object at 0x025F3230>

  Module ZODB.Connection, line 462, in commit
    Line 14 of function commit:
      self._commit(transaction)
    Function arguments:
      self=<Connection at 025d9770>
      transaction=<transaction._transaction.Transaction object at 0x025F3230>

  Module ZODB.Connection, line 503, in _commit
    Line 39 of function _commit:
      self._store_objects(ObjectWriter(obj), transaction)
    Function arguments:
      self=<Connection at 025d9770>
      transaction=<transaction._transaction.Transaction object at 0x025F3230>

  Module ZODB.Connection, line 527, in _store_objects
    Line 18 of function _store_objects:
      p = writer.serialize(obj)  # This calls __getstate__ of obj
    Function arguments:
      self=<Connection at 025d9770>
      writer=<ZODB.serialize.ObjectWriter instance at 0x03B21030>
      transaction=<transaction._transaction.Transaction object at 0x025F3230>
    Function variables:
      oid='\x00\x00\x00\x00\x00\x00\x00+'
      obj=id: 11211695992112010853, token: 74187034A16XXKS7Ut0, contents: [(('explorer', '351409078'), {}), ('explorer_args', [('urlparams', {'explorer_id': '520458384', 'dynamic_item': '112055465354X4219232930 [11211695992112010853]
      p=<undefined>
      s=<undefined>
      serial='\x03^\x97p\x04T\xa6\x99'

  Module ZODB.serialize, line 330, in serialize
    Line 26 of function serialize:
      return self._dump(meta, obj.__getstate__())
    Function arguments:
      self=<ZODB.serialize.ObjectWriter instance at 0x03B21030>
      obj=id: 11211695992112010853, token: 74187034A16XXKS7Ut0, contents: [(('explorer', '351409078'), {}), ('explorer_args', [('urlparams', {'explorer_id': '520458384', 'dynamic_item': '112055465354X4219232930 [11211695992112010853]
    Function variables:
      meta=(<class 'Products.Transience.TransientObject.TransientObject'>, ())
      klass=<class 'Products.Transience.TransientObject.TransientObject'> [TransientObject]
      newargs=<built-in method __getnewargs__ of TransientObject object at 0x02F4A170> [__getnewargs__]

  Module ZODB.serialize, line 339, in _dump
    Line 7 of function _dump:
      self._p.dump(state)
    Function arguments:
      self=<ZODB.serialize.ObjectWriter instance at 0x03B21030>
      classmeta=(<class 'Products.Transience.TransientObject.TransientObject'>, ())
      state={'_last_accessed': 1121169672.484, '_last_modified': 1121169672.6559999, 'token': '74187034A16XXKS7Ut0', '_created': 1121169599.296, '_container': {('explorer', '351409078'): {'title_field': None, 'ca

PicklingError: Can't pickle <class 'Products.CMFNauTools.Explorer.FolderExplorer'>: it's not the same object as Products.CMFNauTools.Explorer.FolderExplorer

previous Zope version, which I used, was 2.6.1, but it was very old version and
I  decided to jump to 2.8.0. I took problems with autorefresh. What can I do to solve
my problems?

p.s. sorry for my english.

-- 
Best regards,
 Victor Safronovich            mailto:vsafronovich at naumen.ru
 NauMen.NauDoc.SoftwareDeveloper  http://www.naumen.com



More information about the ZODB-Dev mailing list