On Wed, Sep 8, 2010 at 12:00 PM, Stefan Fuhrmann <stefanfuhrm...@alice-dsl.de> wrote: > Johan Corveleyn wrote: >> >> On Mon, Sep 6, 2010 at 2:10 AM, Stefan Fuhrmann >> <stefanfuhrm...@alice-dsl.de> wrote: >> >>> >>> The only way to get closer to understanding the nature of the >>> problem, I've added extensive logging code to the cache. >>> Please run "svnserve -M1000 -d --forground -r ... > svnserve.log", >>> zip the log file after the programm crashed & got terminated and >>> send it to me directly. >>> >> >> Ok, here it is in attachment, zipped together with the .log and .dmp >> files from the crash. >> >> The exact log command I executed was: >> $ svn log >> svn://localhost/trunk/sourcesEJB/uz/s9server/services/toegang/driver/settings.xml >> >> Cheers, >> > > Thanks Johan! > > I finally found the problem and it actually was more likely > to hit 32 bit systems then 64 bit ones. The relevant part > from the log is this: > > create cache 1 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:RRI > create cache 2 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:DAG > create cache 3 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:DIR > create cache 4 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:PACK-MANIFEST > create cache 5 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:TEXT > create cache 6 prefix = > fsfs:8d52877e-3a3d-4b59-a976-c8364f526eee/C:/research/svn/experiment/repos/db:NODEREVS > get 6: key=P+, Y3 MD5=52408b02cc58866e204010717f31c0ef hash=42680402 > (0,257607) not found > set 6: key=P+, Y3 MD5=52408b02cc58866e204010717f31c0ef hash=42680402 > (0,257607) 4...@2113312 > get 6: key=P+, Y3 MD5=52408b02cc58866e204010717f31c0ef hash=42680402 > (0,257607) 4...@2113312 > get 2: key=2(& /trunk/sourcesEJB/uz/s9server > MD5=52408b029f15368c2de222f27705f679 hash=42680402 (0,257607) 4...@2113312 > <crash> > > As you can see, bucket (0,257607) contains a NODEREV > the last get will read it as a DAG node. It only tested the first > 4 bytes of the MD5 key hash because the to_find variable > in find_entry has been a local array once and has become a > pointer later on. sizeof(to_find) was now 4 .. 8 instead of 16. > > r994956 should fix the problem.
That's great news! I'll give it a spin tonight. Now I just hope as much of possible of this makes it into 1.7 :-). Cheers, -- Johan