Beta3 core dump

Elliot Finley lists at efinley.com
Mon Sep 13 10:08:54 PDT 2004


This patch works for me.

----- Original Message ----- 
From: "Jun Kuriyama" <kuriyama at imgsrc.co.jp>
To: "Elliot Finley" <lists at efinley.com>
Cc: <freebsd-current at freebsd.org>
Sent: Monday, September 13, 2004 8:41 AM
Subject: Re: Beta3 core dump


> At Sun, 12 Sep 2004 00:27:17 +0900,
> kuriyama wrote:
> > > Just so you're clear on what I'm doing.  I made the code change, then
in
> > > /usr/src/lib/libc I do a 'make' then a 'make install', then I do a
> > > 'portsdb -fu'.
> >
> > Thanks.  My patch fixes 3 boxes in my office, but I find next one
> > still dumps core even with patch.  I'll dig into more...
>
> Okay, I find NetBSD has already fixes for this.  Please test with this
> patch if you still have problem with "portsdb -u".
>
>
> ==== //depot/user/kuriyama/ref5/src/lib/libc/db/btree/bt_split.c#3 -
/home/kuriyama/p4/kuriyama/ref5/src/lib/libc/db/btree/bt_split.c ====
> @@ -355,8 +355,6 @@
>   /* Put the new right page for the split into place. */
>   if ((r = __bt_new(t, &npg)) == NULL)
>   return (NULL);
> - /* XXX: Workaround for broken page data. */
> - memset(r, 0xff, t->bt_psize);
>   r->pgno = npg;
>   r->lower = BTDATAOFF;
>   r->upper = t->bt_psize;
> @@ -728,7 +726,7 @@
>   * the right page.
>   */
>   if (skip <= off) {
> - skip = 0;
> + skip = MAX_PAGE_OFFSET;
>   rval = l;
>   } else {
>   rval = r;
> @@ -738,7 +736,7 @@
>   for (off = 0; nxt < top; ++off) {
>   if (skip == nxt) {
>   ++off;
> - skip = 0;
> + skip = MAX_PAGE_OFFSET;
>   }
>   switch (h->flags & P_TYPE) {
>   case P_BINTERNAL:
>
>
> -- 
> Jun Kuriyama <kuriyama at imgsrc.co.jp> // IMG SRC, Inc.
>              <kuriyama at FreeBSD.org> // FreeBSD Project



More information about the freebsd-current mailing list