Code Monkey home page Code Monkey logo

Comments (3)

ramonski avatar ramonski commented on July 17, 2024

Also happens on reinstallation over the portal_quickinstaller tool:

Traceback (innermost last):
  Module ZPublisher.Publish, line 138, in publish
  Module ZPublisher.mapply, line 77, in mapply
  Module ZPublisher.Publish, line 48, in call_object
  Module <string>, line 6, in reinstallProducts
  Module AccessControl.requestmethod, line 70, in _curried
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 784, in reinstallProducts
  Module <string>, line 3, in installProducts
  Module AccessControl.requestmethod, line 70, in _curried
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 686, in installProducts
  Module Products.CMFQuickInstallerTool.QuickInstallerTool, line 602, in installProduct
   - __traceback_info__: ('bika.lims',)
  Module Products.GenericSetup.tool, line 388, in runAllImportStepsFromProfile
   - __traceback_info__: profile-bika.lims:default
  Module Products.GenericSetup.tool, line 1433, in _runImportStepsFromContext
  Module Products.GenericSetup.tool, line 1245, in _doRunImportStep
   - __traceback_info__: bika.lims.various
  Module bika.lims.setuphandlers, line 610, in setupVarious
  Module Products.GenericSetup.tool, line 358, in runImportStepFromProfile
  Module Products.GenericSetup.tool, line 1245, in _doRunImportStep
   - __traceback_info__: jsregistry
  Module Products.ResourceRegistries.exportimport.jsregistry, line 14, in importJSRegistry
  Module Products.ResourceRegistries.exportimport.resourceregistry, line 27, in importResRegistry
  Module Products.GenericSetup.utils, line 512, in _importBody
  Module Products.ResourceRegistries.exportimport.resourceregistry, line 69, in _importNode
  Module Products.ResourceRegistries.exportimport.resourceregistry, line 166, in _initResources
  Module Products.ResourceRegistries.tools.JSRegistry, line 224, in updateScript
  Module Products.ResourceRegistries.tools.BaseRegistry, line 152, in setExpression
  Module persistent.mapping, line 64, in __setitem__
  Module ZODB.Connection, line 979, in register
  Module ZODB.Connection, line 989, in _register
  Module transaction._transaction, line 213, in join
  Module transaction._transaction, line 209, in _prior_operation_failed
TransactionFailedError: An operation previously failed, with traceback:

  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZServer/PubCore/ZServerPublisher.py", line 31, in __init__
    response=b)
  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZPublisher/Publish.py", line 455, in publish_module
    environ, debug, request, response)
  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZPublisher/Publish.py", line 249, in publish_module_standard
    response = publish(request, module_name, after_list, debug=debug)
  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZPublisher/Publish.py", line 138, in publish
    request, bind=1)
  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZPublisher/mapply.py", line 77, in mapply
    if debug is not None: return debug(object,args,context)
  File "/home/bika/buildout-cache/eggs/Zope2-2.13.26-py2.7.egg/ZPublisher/Publish.py", line 48, in call_object
    result=apply(object,args) # Type s<cr> to step into published object.
  File "<string>", line 6, in reinstallProducts
  File "/home/bika/buildout-cache/eggs/AccessControl-3.0.11-py2.7-linux-x86_64.egg/AccessControl/requestmethod.py", line 70, in _curried
    return callable(*args, **kw)
  File "/home/bika/buildout-cache/eggs/Products.CMFQuickInstallerTool-3.0.15-py2.7.egg/Products/CMFQuickInstallerTool/QuickInstallerTool.py", line 784, in reinstallProducts
    omitSnapshots=omitSnapshots
  File "<string>", line 3, in installProducts
  File "/home/bika/buildout-cache/eggs/AccessControl-3.0.11-py2.7-linux-x86_64.egg/AccessControl/requestmethod.py", line 70, in _curried
    return callable(*args, **kw)
  File "/home/bika/buildout-cache/eggs/Products.CMFQuickInstallerTool-3.0.15-py2.7.egg/Products/CMFQuickInstallerTool/QuickInstallerTool.py", line 686, in installProducts
    omitSnapshots=omitSnapshots
  File "/home/bika/buildout-cache/eggs/Products.CMFQuickInstallerTool-3.0.15-py2.7.egg/Products/CMFQuickInstallerTool/QuickInstallerTool.py", line 602, in installProduct
    blacklisted_steps=blacklistedSteps,
  File "/home/bika/buildout-cache/eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 388, in runAllImportStepsFromProfile
    dependency_strategy=dependency_strategy)
  File "/home/bika/buildout-cache/eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 1433, in _runImportStepsFromContext
    message = self._doRunImportStep(step, context)
  File "/home/bika/buildout-cache/eggs/Products.GenericSetup-1.8.8-py2.7.egg/Products/GenericSetup/tool.py", line 1245, in _doRunImportStep
    return handler(context)
  File "/home/bika/bikalims/src/bika.lims/bika/lims/setuphandlers.py", line 605, in setupVarious
    gen.setupCatalogs(site)
  File "/home/bika/bikalims/src/bika.lims/bika/lims/setuphandlers.py", line 559, in setupCatalogs
    setup_catalogs(portal, getCatalogDefinitions())
  File "/home/bika/bikalims/src/bika.lims/bika/lims/catalog/catalog_utilities.py", line 124, in setup_catalogs
    _cleanAndRebuildIfNeeded(portal, clean_and_rebuild)
  File "/home/bika/bikalims/src/bika.lims/bika/lims/catalog/catalog_utilities.py", line 417, in _cleanAndRebuildIfNeeded
    catalog.softClearFindAndRebuild()
  File "/home/bika/bikalims/src/bika.lims/bika/lims/catalog/bika_catalog_tool.py", line 101, in softClearFindAndRebuild
    transaction.commit()
  File "/home/bika/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_manager.py", line 89, in commit
    return self.get().commit()
  File "/home/bika/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 336, in commit
    t, v, tb = self._saveAndGetCommitishError()
  File "/home/bika/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 329, in commit
    self._commitResources()
  File "/home/bika/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 443, in _commitResources
    rm.commit(self)
  File "/home/bika/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 559, in commit
    self.savepoint()
  File "/home/bika/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 1125, in savepoint
    self._commit(None)
  File "/home/bika/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 623, in _commit
    self._store_objects(ObjectWriter(obj), transaction)
  File "/home/bika/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 658, in _store_objects
    p = writer.serialize(obj)  # This calls __getstate__ of obj
  File "/home/bika/buildout-cache/eggs/ZODB3-3.10.7-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 422, in serialize
    return self._dump(meta, obj.__getstate__())
TypeError: Can't pickle objects in acquisition wrappers.

from senaite.core.

xispa avatar xispa commented on July 17, 2024

This traceback occurs when a Calculation is modified, but there are registered analyses linked to the previous version of that Calculation. Steps to reproduce:

1.- create a Calculation
2.- assign an Analysis Service to the Calculation created in step 1
3.- create an Analysis Request and choose the Analysis Service used in step 2
4.- modify the Calculation created in step 1 (e.g., change the Title)
5.- go to the ZMI portal_catalog tool, click Advanced Tab and then the "Clear and Rebuild Catalog" Button.

Same same but different:

TransactionFailedError: An operation previously failed, with traceback: 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZServer/PubCore/ZServerPublisher.py", line 31, in __init__ 
    response=b) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 455, in publish_module 
    environ, debug, request, response) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 249, in publish_module_standard 
    response = publish(request, module_name, after_list, debug=debug) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 138, in publish 
    request, bind=1) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/mapply.py", line 77, in mapply 
    if debug is not None: return debug(object,args,context) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/ZPublisher/Publish.py", line 48, in call_object 
    result=apply(object,args) # Type s<cr> to step into published object. 
  File "~/evo/buildout-cache/eggs/Products.CMFPlone-4.3.10rc1-py2.7.egg/Products/CMFPlone/CatalogTool.py", line 442, in manage_catalogRebuild 
    self.clearFindAndRebuild() 
  File "~/evo/buildout-cache/eggs/plone.app.discussion-2.2.18-py2.7.egg/plone/app/discussion/patches.py", line 47, in patchedClearFindAndRebuild 
    portal.ZopeFindAndApply(portal, search_sub=True, apply_func=indexObject) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/OFS/FindSupport.py", line 239, in ZopeFindAndApply 
    apply_func, apply_path) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/OFS/FindSupport.py", line 239, in ZopeFindAndApply 
    apply_func, apply_path) 
  File "~/evo/buildout-cache/eggs/Zope2-2.13.24-py2.7.egg/OFS/FindSupport.py", line 227, in ZopeFindAndApply 
    apply_func(ob, (apply_path+'/'+p)) 
  File "~/evo/buildout-cache/eggs/plone.app.discussion-2.2.18-py2.7.egg/plone/app/discussion/patches.py", line 26, in indexObject 
    obj.indexObject() 
  File "~/evo/buildout-cache/eggs/Products.Archetypes-1.9.11-py2.7.egg/Products/Archetypes/CatalogMultiplex.py", line 39, in indexObject 
    c.catalog_object(self, url) 
  File "~/evo/buildout-cache/eggs/Products.CMFPlone-4.3.10rc1-py2.7.egg/Products/CMFPlone/CatalogTool.py", line 349, in catalog_object 
    update_metadata, pghandler=pghandler) 
  File "~/evo/buildout-cache/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/ZCatalog.py", line 476, in catalog_object 
    update_metadata=update_metadata) 
  File "~/evo/buildout-cache/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/Catalog.py", line 340, in catalogObject 
    self.updateMetadata(object, uid, index) 
  File "~/evo/buildout-cache/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/Catalog.py", line 284, in updateMetadata 
    newDataRecord = self.recordify(object) 
  File "~/evo/buildout-cache/eggs/Products.ZCatalog-2.13.27-py2.7.egg/Products/ZCatalog/Catalog.py", line 410, in recordify 
    attr = attr() 
  File "~/evo/zinstance/src/bika.lims/bika/lims/content/analysisrequest.py", line 1989, in getLate 
    calculation = analysis.getCalculation() 
  File "~/evo/buildout-cache/eggs/Products.Archetypes-1.9.11-py2.7.egg/Products/Archetypes/ClassGen.py", line 56, in generatedAccessor 
    return schema[name].get(self, **kw) 
  File "~/evo/zinstance/src/bika.lims/bika/lims/browser/fields/historyawarereferencefield.py", line 153, in get 
    countPurged=True) 
  File "~/evo/buildout-cache/eggs/Products.CMFEditions-2.2.20-py2.7.egg/Products/CMFEditions/CopyModifyMergeRepositoryTool.py", line 496, in _retrieve
    saved = transaction.savepoint() 
  File "~/evo/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_manager.py", line 101, in savepoint 
    return self.get().savepoint(optimistic) 
  File "~/evo/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 260, in savepoint 
    self._saveAndRaiseCommitishError() # reraises! 
  File "~/evo/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 373, in _saveAndRaiseCommitishError 
    t, v, tb = self._saveAndGetCommitishError() 
  File "~/evo/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 257, in savepoint 
    savepoint = Savepoint(self, optimistic, *self._resources) 
  File "~/evo/buildout-cache/eggs/transaction-1.1.1-py2.7.egg/transaction/_transaction.py", line 690, in __init__ 
    savepoint = savepoint() 
  File "~/evo/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 1123, in savepoint 
    self._commit(None) 
  File "~/evo/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 623, in _commit 
    self._store_objects(ObjectWriter(obj), transaction) 
  File "~/evo/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/Connection.py", line 658, in _store_objects 
    p = writer.serialize(obj) # This calls __getstate__ of obj 
  File "~/evo/buildout-cache/eggs/ZODB3-3.10.5-py2.7-linux-x86_64.egg/ZODB/serialize.py", line 422, in serialize 
    return self._dump(meta, obj.__getstate__()) 
TypeError: Can't pickle objects in acquisition wrappers. 

from senaite.core.

ramonski avatar ramonski commented on July 17, 2024

The metadata column getCalculation of bika_analysis_catalog seems to cause all the trouble here.

All listed issues were gone after this metadata was deleted via the ZMI and in code (https://github.com/senaite/bika.lims/blob/senaite-integration/bika/lims/catalog/analysis_catalog.py#L72)

from senaite.core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.