bugmonotone - Bugs: bug #17801, crash when running...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #17801: crash when running 'regenerate_rosters' on NetBSD src and pkgsrc repositories.

Submitter:  Daniel Carosone <uep>
Submitted:  Tue 19 Sep 2006 06:11:39 AM UTC
Votes: 5
 
Category:  None Severity:  4 - Important
Item Group:  crash Status:  Remind
Privacy:  Public Assigned to:  None
Open/Closed:  Open
mtn version --full: 

0.30



Fri 22 Sep 2006 12:39:24 PM UTC, comment #3: 

this looks like it may have been another symptom of the lru cache overflow bug fixed in a:njs/d:2006-09-22T07:01:26

test still running to confirm, but it already gets well past the point where this failed previously. taking the bug as mine until fix confirmed.

Daniel Carosone <uep>
Group Member
Tue 19 Sep 2006 09:27:03 PM UTC, comment #2: 

Netsync test is still running.  I suppose its good that it hasn't crashed yet, but it's not going to be much of a workaround if it's this slow (and for all I know the problem is still there waiting to bite, it's just that netsync processes revs in a different order to the other things which fail quickly).

After 15.5 hours of pegging the pull-side cpu:

mtn: bytes in | bytes out |       revs in | revs out
mtn:  156.2 M |       152 |  30294/182256 |      0/0

Daniel Carosone <uep>
Group Member
Tue 19 Sep 2006 08:13:27 AM UTC, comment #1: 

also reproducible with mainline head 7b435ce7 on linux. 

netsync test is still running

Daniel Carosone <uep>
Group Member
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)


Daniel Carosone <uep>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by tommyd (Updated the item)
  •  

    There are 5 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-04-30 tommyd Assigned touep None
    2006-09-22 uep StatusNone Remind
        Assigned toNone uep
    2006-09-19 riz94107 Carbon-Copy- Added riz94107

    Back to the top

    Powered by Savane 3.13-cf05.
    Corresponding source code