Tue 19 Sep 2006 06:11:39 AM UTC, original submission:
I trigger graph.cc:72: invariant 'I(!next.empty())' violated
When attempting to migrate the NetBSD src and pkgsrc repositories from 0.28/0.29 to 0.30. The crash happens shortly after starting the regenerate_rosters step.
The same crash can be triggered trying to cvs_import the same repository using a fresh 0.30 database. I'm currently testing to see whether it is also triggered via netsync pulling from 0.29 into an empty 0.30 db.
the dump for the regenerate_rosters case ends:
prepared statement DELETE FROM rosters WHERE id = ?
prepared statement INSERT INTO roster_deltas (id, base, checksum, delta) VALUES (?, ?, ?, ?)
prepared statement SELECT base FROM roster_deltas WHERE id = ?
graph.cc:72: invariant 'I(!next.empty())' violated
saving current work set: 11 items
finished saving work set
prepared statement ROLLBACK
statement cache statistics
prepared 18 statements
1 executions of BEGIN EXCLUSIVE
1 executions of DELETE FROM next_roster_node_number
1 executions of DELETE FROM roster_deltas
1 executions of DELETE FROM rosters
24 executions of DELETE FROM rosters WHERE id = ?
1 executions of INSERT INTO next_roster_node_number VALUES(?)
24 executions of INSERT INTO roster_deltas (id, base, checksum, delta) VALUES (?, ?, ?, ?)
49 executions of INSERT INTO rosters (id, checksum, data) VALUES (?, ?, ?)
1 executions of ROLLBACK
49 executions of SELECT 1 FROM rosters WHERE id = ? LIMIT 1
1 executions of SELECT base FROM roster_deltas WHERE id = ?
24 executions of SELECT checksum, data FROM rosters WHERE id = ?
119 executions of SELECT data FROM revisions WHERE id = ?
2 executions of SELECT id FROM revisions
668960 executions of SELECT node FROM next_roster_node_number
94 executions of SELECT parent FROM revision_ancestry WHERE child = ?
1 executions of SELECT parent,child FROM revision_ancestry
668959 executions of UPDATE next_roster_node_number SET node = ?
Current work set: 11 items
----- begin 'full_version_string' (in virtual void mtn_sanity::initialize(int, char*, const char), at mtn-sanity.cc:20)
monotone 0.30 (base revision: unknown)
Running on : NetBSD 3.99.21 NetBSD 3.99.21 (resurgam) #28: Mon Jul 3 12:56:33 EST 2006 dan@resurgam:/home/NetBSD/obj/amd64/home/NetBSD/HEAD/src/sys/arch/amd64/compile/_r
esurgam_ amd64
C++ compiler : Unknown ISO C++ Compiler
C++ standard library: Unknown ISO standard library
Boost version : 1_33_1
Changes since base revision:
unknown
----- end 'full_version_string' (in virtual void mtn_sanity::initialize(int, char*, const char), at mtn-sanity.cc:20)
----- begin 'system_flavour' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:60)
NetBSD 3.99.21 NetBSD 3.99.21 (resurgam) #28: Mon Jul 3 12:56:33 EST 2006 dan@resurgam:/home/NetBSD/obj/amd64/home/NetBSD/HEAD/src/sys/arch/amd64/compile/_resurgam_ amd64
----- end 'system_flavour' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:60)
----- begin 'cmdline_string' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:74)
'mtn', 'db', 'regenerate_rosters'
----- end 'cmdline_string' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:74)
----- begin 'string(lc_all)' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:79)
C
----- end 'string(lc_all)' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:79)
----- begin '*ros_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1761)
root dir is NULL
----- end '*ros_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1761)
----- begin '*mm_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1762)
----- end '*mm_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1762)
----- begin 'roster_manifest_id' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1764)
----- end 'roster_manifest_id' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1764)
----- begin 'rev' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1817)
format_version "1"
new_manifest [6babd6a7e9a0ddc6b4980870699e3379ade29192]
old_revision [879183870ad6cd621c85228e8ce0926b344c53cb]
----- end 'rev' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1817)
----- begin 'new_rid' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1818)
9d2d776b3605666641438a8c01cf712f557d3ac4
----- end 'new_rid' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1818)
----- begin 'new_roster' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1819)
root dir is NULL
----- end 'new_roster' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1819)
----- begin 'new_markings' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1820)
----- end 'new_markings' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1820)
the dump for the import case is similar:
----- begin 'full_version_string' (in virtual void mtn_sanity::initialize(int, char*, const char), at mtn-sanity.cc:20)
monotone 0.30 (base revision: unknown)
Running on : NetBSD 3.99.21 NetBSD 3.99.21 (resurgam) #28: Mon Jul 3 12:56:33 EST 2006 dan@resurgam:/home/NetBSD/obj/amd64/home/NetBSD/HEAD/src/sys/arch/amd64/compile/_r
esurgam_ amd64
C++ compiler : Unknown ISO C++ Compiler
C++ standard library: Unknown ISO standard library
Boost version : 1_33_1
Changes since base revision:
unknown
----- end 'full_version_string' (in virtual void mtn_sanity::initialize(int, char*, const char), at mtn-sanity.cc:20)
----- begin 'system_flavour' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:60)
NetBSD 3.99.21 NetBSD 3.99.21 (resurgam) #28: Mon Jul 3 12:56:33 EST 2006 dan@resurgam:/home/NetBSD/obj/amd64/home/NetBSD/HEAD/src/sys/arch/amd64/compile/_resurgam_ amd64
----- end 'system_flavour' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:60)
----- begin 'cmdline_string' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:74)
'mtn', '-d', '/home/dan/monotone/org.NetBSD.src.mtn', '-b', 'org.NetBSD.src', 'cvs_import', 'src'
----- end 'cmdline_string' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:74)
----- begin 'string(lc_all)' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:79)
C
----- end 'string(lc_all)' (in virtual void sanity::initialize(int, char*, const char), at sanity.cc:79)
----- begin 'new_id' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1705)
bcb416c64a60e01ccb8d1758a6759b67e848fe43
----- end 'new_id' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1705)
----- begin 'rev' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1706)
format_version "1"
new_manifest [31a215e4847c525b79c7af160e625bfdae7840bd]
old_revision [2d230b6ba08c8c38190053b53a90cc626386b290]
----- end 'rev' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1706)
----- begin 'd.inner()' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1714)
format_version "1"
new_manifest [31a215e4847c525b79c7af160e625bfdae7840bd]
old_revision [2d230b6ba08c8c38190053b53a90cc626386b290]
----- end 'd.inner()' (in void database::put_revision(const revision_id&, const revision_t&), at database.cc:1714)
----- begin '*ros_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1761)
root dir is NULL
----- end '*ros_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1761)
----- begin '*mm_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1762)
----- end '*mm_writeable' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1762)
----- begin 'roster_manifest_id' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1764)
----- end 'roster_manifest_id' (in void database::put_roster_for_revision(const revision_id&, const revision_t&), at database.cc:1764)
----- begin 'rev' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1817)
format_version "1"
new_manifest [31a215e4847c525b79c7af160e625bfdae7840bd]
old_revision [2d230b6ba08c8c38190053b53a90cc626386b290]
----- end 'rev' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1817)
----- begin 'new_rid' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1818)
bcb416c64a60e01ccb8d1758a6759b67e848fe43
----- end 'new_rid' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1818)
----- begin 'new_roster' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1819)
root dir is NULL
----- end 'new_roster' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1819)
----- begin 'new_markings' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1820)
----- end 'new_markings' (in void make_roster_for_revision(const revision_t&, const revision_id&, roster_t&, marking_map&, app_state&), at roster.cc:1820)
|