Date: Mon, 13 Sep 2004 23:41:43 +0900 From: Jun Kuriyama <kuriyama@imgsrc.co.jp> To: "Elliot Finley" <lists@efinley.com> Cc: freebsd-current@freebsd.org Subject: Re: Beta3 core dump Message-ID: <7misainsd4.wl@black.imgsrc.co.jp> In-Reply-To: <7my8jgomga.wl@black.imgsrc.co.jp> References: <06c601c4973a$1d1c5570$32cba1cd@science1> <7m8ybip6qm.wl@black.imgsrc.co.jp> <072201c4975c$db5bfa00$32cba1cd@science1> <7mzn3xo1mj.wl@black.imgsrc.co.jp> <07bb01c49812$bf4463a0$32cba1cd@science1> <7my8jgomga.wl@black.imgsrc.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
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@imgsrc.co.jp> // IMG SRC, Inc.
<kuriyama@FreeBSD.org> // FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7misainsd4.wl>
