monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] database or disk is full


From: Zack Weinberg
Subject: Re: [Monotone-devel] database or disk is full
Date: Sat, 6 Oct 2007 10:59:24 -0700

On 10/6/07, Benoît Dejean <address@hidden> wrote:
> > And see if that works.  If it does work, please also try it with that
> > one file compiled at -O1.  If it does *not* work, please cycle through
> > the rest of the sqlite/ directory and see if you can find a single
> > file that when compiled at -O0 (with the rest of the files compiled at
> > -O2) makes the problem go away.
>
> pager.c is the right file.
> The problem disappears in O0 and O1, db init and pull work again.

This is good to know.  Unfortunately, it starts to smell like a
compiler bug, but we'll see.

> > (If you'd rather not do all this work yourself, but don't mind giving
> > me an ssh-accessible account on your computer, please email me
> > off-list.)
>
> So far i can do it, but you think this is a ppc-specific issue, no problem.

Well, I'm about to ask you for even more elaborate debugging tricks.
Just let me know when it gets too tedious to continue.

First, please recompile sqlite/pager.c with CFLAGS='-O1 -save-temps'
(do *not* include -g this time).  This will drop a file named pager.s
somewhere - probably the current working directory. Rename it
pager.s.O1.  Repeat the recompile with CFLAGS='-O2 -save-temps';
rename pager.s to pager.s.O2.  Email me (off-list) both pager.s.O1 and
pager.s.O2.

Second, please rebuild the monotone executable with pager.c compiled
at -g -O2.  Run 'mtn db init' under gdb.  Set a breakpoint at
pager.c:3326.  Run to that breakpoint.    Set a watchpoint on ((struct
unixFile *)pPager->jfd)->offset.  Continue; every time the watchpoint
triggers, continue again.  Tell me all of the places where the
watchpoint triggered from then until the program fails.

Thanks again,
zw

reply via email to

[Prev in Thread] Current Thread [Next in Thread]