[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-devel] Updated Issue 199 - Some repositories broken (SQL logic
From: |
code |
Subject: |
[Monotone-devel] Updated Issue 199 - Some repositories broken (SQL logic error) (monotone) |
Date: |
Thu, 01 Dec 2011 18:39:20 +0100 |
Hello,
The following issue has been updated:
199 - Some repositories broken (SQL logic error)
Project: monotone
Status: New
Reported by: Dirk Heinrichs
URL: https://code.monotone.ca/p/monotone/issues/199/
Labels:
Type:Defect
Priority:Medium
Comments (last first):
# By Dirk Heinrichs, Dez 1, 2011:
Yes, it indeed resides on a network filesystem (OpenAFS). However, there's
never been any concurrent access by different users.
And no, unfortunately I cannot remember what I did last with these database,
maybe I ran db migrate after upgrade to monotone 1.0...
Bye...
Dirk
# By Thomas Keller, Nov 28, 2011:
I had a look at the database and it seems to be very badly broken,
unfortunately. This is a case of brokeness that I have seen only very, very
rarely for the past 5 years I worked on this project.
The underlying problem sqlite reports is SQLITE_CORRUPT or "The database disk
image is malformed", i.e. one or more tables crashed (revisions,
revision_certs, roster_deltas, file_deltas and possibly a few others as well).
While its not completly impossible that this kind of data corruption could have
been introduced through monotone or even sqlite (they have a rather good
consistency record actually), its more likely that some faulty hardware or
software system caused this problem. In the past databases that were hosted on
network drives were blamed in similar cases, but this is hard to guess in your
specific case.
Can you give us more information about your setup? Is this a problem that you
could reproduce somehow or do you remember the last steps you did before the
database went corrupt?
Thanks,
Thomas.
# By Dirk Heinrichs, Nov 20, 2011:
As per ML discussion, here's the bug report for it.
Some of my repositories seem to be broken. A checkout attempt and mtn
db check both give the following error:
mtn: error: sqlite error: SQL logic error or missing database
I also tried to dump one of the databases, which gives this:
% mtn db dump --db=~/monotone/vcontrol.mtn 2>&1|head
mtn: fatal: std::terminate() - exception thrown while handling another
exception
mtn: This is almost certainly a bug in monotone.
mtn: Please report this error message, the output of 'mtn version --full',
mtn: and a description of what you were doing to
'https://code.monotone.ca/p/monotone/issues/'.
mtn: wrote debugging log to /afs/altum.de/home/heini/.monotone/dump
mtn: if reporting a bug, please include this file
Here's the content of the dump file:
% cat /afs/altum.de/home/heini/.monotone/dump
Encountered an error while musing upon the following:
src/database.cc:804: detected internal error, 'I(stepresult ==
SQLITE_DONE || stepresult == SQLITE_ROW)' violated
Encountered an error while musing upon the following:
src/migrate_schema.cc:105: detected system error, 'E(false)' violated
Current work set: 4 items
----- begin 'system_flavour' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:119)
Linux 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2 13:27:26 UTC 2011 x86_64
----- end 'system_flavour' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:119)
----- begin 'cmdline_string' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:133)
'mtn', 'db', 'dump', '--db=~/monotone/vcontrol.mtn'
----- end 'cmdline_string' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:133)
----- begin 'string(lc_all)' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:138)
C
----- end 'string(lc_all)' (in virtual void sanity::initialize(int,
char**, const char*), at src/sanity.cc:138)
----- begin 'full_version_string' (in virtual void
mtn_sanity::initialize(int, char**, const char*), at src/mtn-sanity.cc:32)
monotone 1.0 (base revision: a7c3a1d9de1ba7a62c9dd9efee17252234bb502c)
Running on : Linux 3.0.0-13-generic #22-Ubuntu SMP Wed Nov 2
13:27:26 UTC 2011 x86_64
C++ compiler : GNU C++ version 4.6.1
C++ standard library: GNU libstdc++ version 20110903
Boost version : 1_46_1
SQLite version : 3.7.7 (compiled against 3.7.7)
Lua version : Lua 5.1
PCRE version : 8.12 2011-01-15 (compiled against 8.12)
Botan version : 1.8.13 (compiled against 1.8.13)
Changes since base revision:
format_version "1"
new_manifest [b252820fde344fd3f5d023fd91de86522baa671d]
old_revision [a7c3a1d9de1ba7a62c9dd9efee17252234bb502c]
Generated from data cached in the distribution;
further changes may have been made.
----- end 'full_version_string' (in virtual void
mtn_sanity::initialize(int, char**, const char*), at src/mtn-sanity.cc:32)
One of my databases is attached for investigation.
Attachments:
- vcontrol.mtn.xz - 195.84 kB
https://code.monotone.ca/p/monotone/issues/view/attachment/43/vcontrol.mtn.xz
--
Issue: https://code.monotone.ca/p/monotone/issues/199/
- [Monotone-devel] Updated Issue 199 - Some repositories broken (SQL logic error) (monotone),
code <=