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

 
 

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

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

Submitted by:  Daniel Carosone <uep>
Submitted on:  Tue 19 Sep 2006 06:11:39 AM UTC  
Votes:  5  
 
Category: NoneSeverity: 4 - Important
Item Group: crashStatus: Remind
Privacy: PublicAssigned 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>
Project 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>
Project 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>
Project 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>
Project Member

 

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 5 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 4 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Fri 30 Apr 2010 11:24:32 AM UTCtommydAssigned touep=>None
    Fri 22 Sep 2006 12:39:24 PM UTCuepStatusNone=>Remind
      Assigned toNone=>uep
    Tue 19 Sep 2006 02:12:10 PM UTCriz94107Carbon-Copy-=>Added riz94107

    Back to the top


    Powered by Savane 3.1-cleanup