Clemens Lang wrote:

Hi,

> http://serverfault.com/questions/8048/how-can-i-verify-that-a-sqlite-db3-file-is-valid-consistent
> 
> See also
> https://trac.macports.org/browser/trunk/base/src/cregistry/README.sqlext

That doesn't teach me much new
%> bunzip2 < /opt/local/var/macports/registry/registry-corrupt.db.bz2 > kk.db
%> /opt/local/bin/sqlite3 kk.db
%> .load MacPorts-svn/src/cregistry/macports.sqlext
%> pragma integrity_check;
ok

I don't know if it helps, but here are 2 backtraces I got after sending a 
SIGKILL (not SIGQUIT as the log pretends). They're pasted in chronological 
order, but they were preceded by an unknown number of other attempts to "get 
back in", for which I didn't get a crash report.

Exception Type:  EXC_CRASH (SIGQUIT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib         0x00007fff8965ffe2 __fcntl + 10
1   libsystem_kernel.dylib         0x00007fff8965ea4d fcntl + 240
2   libsqlite3.dylib               0x00007fff87fc1044 unixFileLock + 292
3   libsqlite3.dylib               0x00007fff87f0b7a5 unixLock + 261
4   libsqlite3.dylib               0x00007fff87f0af2b sqlite3PagerSharedLock + 
123
5   libsqlite3.dylib               0x00007fff87f0a636 sqlite3BtreeBeginTrans + 
390
6   libsqlite3.dylib               0x00007fff87f048d9 sqlite3InitOne + 569
7   libsqlite3.dylib               0x00007fff87f0461e sqlite3Init + 110
8   libsqlite3.dylib               0x00007fff87fb1fcd attachFunc + 1805
9   libsqlite3.dylib               0x00007fff87f2b3f9 sqlite3VdbeExec + 12201
10  libsqlite3.dylib               0x00007fff87f2740a sqlite3_step + 666
11  registry.dylib                 0x000000010f4683ac reg_attach + 348
12  registry.dylib                 0x000000010f46398c registry_open + 332
13  libtcl8.5.dylib                0x000000010e7c0966 TclEvalObjvInternal + 1222
14  libtcl8.5.dylib                0x000000010e809f8a TclExecuteByteCode + 21690
15  libtcl8.5.dylib                0x000000010e84ab82 TclObjInterpProcCore + 610
16  libtcl8.5.dylib                0x000000010e7c0966 TclEvalObjvInternal + 1222
17  libtcl8.5.dylib                0x000000010e809f8a TclExecuteByteCode + 21690
18  libtcl8.5.dylib                0x000000010e80e7d2 TclCompEvalObj + 338
19  libtcl8.5.dylib                0x000000010e7c24ea TclEvalObjEx + 426
20  libtcl8.5.dylib                0x000000010e7c9ac8 Tcl_CatchObjCmd + 152
21  libtcl8.5.dylib                0x000000010e7c0966 TclEvalObjvInternal + 1222
22  libtcl8.5.dylib                0x000000010e809f8a TclExecuteByteCode + 21690
23  libtcl8.5.dylib                0x000000010e804a0e Tcl_ExprObj + 862
24  libtcl8.5.dylib                0x000000010e7c2af9 Tcl_ExprBooleanObj + 25
25  libtcl8.5.dylib                0x000000010e7cc66e Tcl_IfObjCmd + 94
26  libtcl8.5.dylib                0x000000010e7c0966 TclEvalObjvInternal + 1222
27  libtcl8.5.dylib                0x000000010e7c17eb TclEvalEx + 2651
28  libtcl8.5.dylib                0x000000010e7c0d8a Tcl_EvalEx + 26
29  libtcl8.5.dylib                0x000000010e82ccc0 Tcl_FSEvalFileEx + 528
30  libtcl8.5.dylib                0x000000010e833340 Tcl_Main + 1152
31  tclsh8.5                       0x000000010e7a8a50 main + 16
32  libdyld.dylib                  0x00007fff8ad2e5fd start + 1

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_platform.dylib       0x00007fff8b963e41 OSSpinLockLock + 11
1   libsystem_malloc.dylib         0x00007fff815f166f szone_free + 801
2   libsqlite3.dylib               0x00007fff87f5febb sqliteDeleteColumnNames + 
59
3   libsqlite3.dylib               0x00007fff87f084dc sqlite3DeleteTable + 1484
4   libsqlite3.dylib               0x00007fff87f7482b sqlite3SchemaClear + 5435
5   libsqlite3.dylib               0x00007fff87fb20b3 attachFunc + 2035
6   libsqlite3.dylib               0x00007fff87f2b3f9 sqlite3VdbeExec + 12201
7   libsqlite3.dylib               0x00007fff87f2740a sqlite3_step + 666
8   registry.dylib                 0x0000000102ac83ac reg_attach + 348
9   registry.dylib                 0x0000000102ac398c registry_open + 332
10  libtcl8.5.dylib                0x0000000101e17966 TclEvalObjvInternal + 1222
11  libtcl8.5.dylib                0x0000000101e60f8a TclExecuteByteCode + 21690
12  libtcl8.5.dylib                0x0000000101ea1b82 TclObjInterpProcCore + 610
13  libtcl8.5.dylib                0x0000000101e17966 TclEvalObjvInternal + 1222
14  libtcl8.5.dylib                0x0000000101e60f8a TclExecuteByteCode + 21690
15  libtcl8.5.dylib                0x0000000101e657d2 TclCompEvalObj + 338
16  libtcl8.5.dylib                0x0000000101e194ea TclEvalObjEx + 426
17  libtcl8.5.dylib                0x0000000101e20ac8 Tcl_CatchObjCmd + 152
18  libtcl8.5.dylib                0x0000000101e17966 TclEvalObjvInternal + 1222
19  libtcl8.5.dylib                0x0000000101e60f8a TclExecuteByteCode + 21690
20  libtcl8.5.dylib                0x0000000101e5ba0e Tcl_ExprObj + 862
21  libtcl8.5.dylib                0x0000000101e19af9 Tcl_ExprBooleanObj + 25
22  libtcl8.5.dylib                0x0000000101e2366e Tcl_IfObjCmd + 94
23  libtcl8.5.dylib                0x0000000101e17966 TclEvalObjvInternal + 1222
24  libtcl8.5.dylib                0x0000000101e187eb TclEvalEx + 2651
25  libtcl8.5.dylib                0x0000000101e17d8a Tcl_EvalEx + 26
26  libtcl8.5.dylib                0x0000000101e83cc0 Tcl_FSEvalFileEx + 528
27  libtcl8.5.dylib                0x0000000101e8a340 Tcl_Main + 1152
28  tclsh8.5                       0x0000000101df9a50 main + 16
29  libdyld.dylib                  0x00007fff8ad2e5fd start + 1

I wonder if the "DeleteColumnNames" function above doesn't mean that somehow 
all 
invalid data has been stripped from the "corrupt" database, which would make it 
valid but probably useless.

R.

_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to