
Product
Secure Your AI-Generated Code with Socket MCP
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
Verify a ZODB by iterating and loading all records. Problems are reported in detail. A debugger is provided, together with decompilation information.
zodbverify is available as a standalone script and as addon for plone.recipe.zope2instance
.
The verification runs on a plain ZODB file. The Zope application is not started.
Run i.e.::
bin/zodbverify -f var/filestorage/Data.fs
Usage::
zodbverify [-h] -f ZODBFILE [-D] [-o OID]
Verifies that all records in the database can be loaded.
optional arguments:
-h, --help show this help message and exit
-f ZODBFILE, --zodbfile ZODBFILE
Path to file-storage
-D, --debug pause to debug broken pickles
-o OID, --oid OID oid to inspect
The verification runs in the context of the initialized Zope application.
Usage::
./bin/instance zodbverify [-h] [-D] [-o OID]
Verifies that all records in the database can be loaded.
optional arguments:
-h, --help show this help message and exit
-D, --debug pause to debug broken pickles
-o OID, --oid OID oid to inspect
The output of zodbverify gives you a list of all problems and the oid that are affected.
To inspect a single oid in detail you can pass one of these to zodbverify::
./bin/instance zodbverify -o 0x2e929f
This will output the pickle and the error for that oid.
By also adding the debug-switch you will get two pdb's while the script runs::
./bin/instance zodbverify -o 0x2e929f -D
2020-03-11 10:40:24,972 INFO [Zope:45][MainThread] Ready to handle requests The object is 'obj' The Zope instance is 'app' [4] > /Users/pbauer/workspace/dipf-intranet/src-mrd/zodbverify/src/zodbverify/verify_oid.py(52)verify_oid() -> pickle, state = storage.load(oid)
In the first pdb you have the object for the oid as obj
and the zope instance as app
. Before the second pdb the pickle will be disassembled the same way as when using zodbverify to pause to debug broken pickles without passing a oid.
Contributors please read the document Process for Plone core's development <https://docs.plone.org/develop/coredev/docs/index.html>
_
Sources are at the Plone code repository hosted at Github <https://github.com/plone/zodbverify>
_.
.. You should NOT be adding new change log entries to this file. You should create a file in the news directory instead. For helpful instructions, please see: https://github.com/plone/plone.releaser/blob/master/ADD-A-NEWS-ITEM.rst
.. towncrier release notes start
New features:
Philip's blog post <https://www.starzel.de/blog/zodb-debugging>
_ for more information.
See also discussion in pull request 8 <https://github.com/plone/zodbverify/pull/8>
_.
[pbauer] (#8)New features:
Bug fixes:
Bug fixes:
Bug fixes:
New features:
Products.CMFPlone
(created by @davisagli).
Enhanced and packaged for more general Zope use.
[dwt,jensens] (#1)FAQs
Check if all data from a ZODB can be loaded
We found that zodbverify demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
Security News
As vulnerability data bottlenecks grow, the federal government is formally investigating NIST’s handling of the National Vulnerability Database.
Research
Security News
Socket’s Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.