Hi Clint,

Clint Adams schrieb am Mon 12. Jan, 14:33 (+0000):
> On Mon, Jan 12, 2009 at 01:59:08PM +0100, Jörg Sommer wrote:
> > I've enabled core dumps and it looks like a problem in libdb. I was to
> > rashly with the guess of an ABI problem (that was what I've meant with
> > linking problem).
> 
> > #0  __memp_bh_priority (bhp=0x11b9d92b) at ../dist/../mp/mp_mvcc.c:30
> 
> Thanks; there may be a relevant fix in 4.6.21-13.  Could you check
> to see if that version solves your problem?

As I can't reproduce the problem, so I can't surely if it would be gone,
but I try the upgrade. But the changelog doesn't sound like anything
around this was changed.

[New process 15522]
#0  __memp_bh_priority (bhp=0x11b9d92b) at ../dist/../mp/mp_mvcc.c:30

warning: Source file is more recent than executable.
30              while (SH_CHAIN_HASNEXT(bhp, vc))
(gdb) l
25      __memp_bh_priority(bhp)
26              BH *bhp;
27      {
28              u_int32_t priority;
29
30              while (SH_CHAIN_HASNEXT(bhp, vc))
31                      bhp = SH_CHAIN_NEXT(bhp, vc, __bh);
32
33              priority = bhp->priority;
34

I think the chain is broken and the last pointer points to an invalid
region. But I didn't see how to verify it. The code in the upper frame is
this:

(gdb) l
734                     bhp->pgno = *pgnoaddr;
735                     bhp->mf_offset = mf_offset;
736                     SH_TAILQ_INSERT_TAIL(&hp->hash_bucket, bhp, hq);
737                     SH_CHAIN_INIT(bhp, vc);
738
739                     hp->hash_priority =
740                         BH_PRIORITY(SH_TAILQ_FIRSTP(&hp->hash_bucket, 
__bh));
741
742                     /* We created a new page, it starts dirty. */
743                     if (extending) {

Do you have an idea?

Bye, Jörg.
-- 
chinesiches Sprichwort:
Wer fragt, ist ein Narr für fünf Minuten.
Wer nicht fragt, ist ein Narr fürs ganze Leben.

Attachment: signature.asc
Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP

Reply via email to