#32686: Registry DB corrupted after selfupdate -----------------------------------+---------------------------------------- Reporter: falkschramm@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: base | Version: 2.0.3 Keywords: | Port: -----------------------------------+---------------------------------------- Comment(by stephen@…): ports tree (including base) at r88772 here, port last built 8 minutes ago, and {{{ MacPorts 21:40$ sudo port version Password: sqlite error: SQL logic error or missing database (1) while executing query: COMMIT while executing "registry::open $db_path" (procedure "mportinit" line 578) invoked from within "mportinit ui_options global_options global_variations" Error: /opt/local/bin/port: Failed to initialize MacPorts, sqlite error: SQL logic error or missing database (1) while executing query: COMMIT }}} So I don't think the fix in r88411 is related to this. {{{/opt/local/var/macports/registry/registry.db-journal}}} exists and has permissions "-rw-r--r-- 1 root admin" with size 7176 and date Jan 11 23:32 JST (ie, about the same as the build time). {{{/opt/local/var/macports/registry/registry.db}}} exists and has permissions "-rw-r--r-- 1 root admin" with size 76739584 and the same time. I also have a broken port, py25-wxpython (see ticket #32700), which is from about two weeks ago. Why does {{{port}}} need to open the registry to give its version? Following the thread described by pixilla, I ran the integrity check: {{{ wideload:MacPorts/base 0:01$ sudo sqlite3 SQLite version 3.7.9 2011-11-01 00:52:41 sqlite> attach database "/opt/local/var/macports/registry/registry.db" as registry; sqlite> .load /Users/steve/src/MacPorts/base/src/cregistry/macports.sqlext sqlite> pragma integrity_check; rowid 45024 missing from index file_path rowid 138844 missing from index file_actual sqlite> .quit }}} -- Ticket URL: <https://trac.macports.org/ticket/32686#comment:11> MacPorts <http://www.macports.org/> Ports system for Mac OS