From owner-freebsd-current@FreeBSD.ORG Sun Feb 29 13:10:05 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B7EDF16A4D0 for ; Sun, 29 Feb 2004 13:10:05 -0800 (PST) Received: from mail.gmx.net (imap.gmx.net [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 0657343D39 for ; Sun, 29 Feb 2004 13:10:05 -0800 (PST) (envelope-from tomonage2@gmx.de) Received: (qmail 18938 invoked by uid 65534); 29 Feb 2004 21:10:03 -0000 Received: from pD9E76B16.dip.t-dialin.net (EHLO [192.168.0.136]) (217.231.107.22) by mail.gmx.net (mp025) with SMTP; 29 Feb 2004 22:10:03 +0100 X-Authenticated: #7843803 User-Agent: Microsoft-Entourage/10.1.4.030702.0 Date: Sun, 29 Feb 2004 22:10:05 +0100 From: Jonathan Weiss To: Scott Long , Message-ID: In-Reply-To: <40423A8C.8030307@freebsd.org> Mime-version: 1.0 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Subject: Re: mlx driver related kernel panic in Freebsd 5.2.1-RELEASE X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Feb 2004 21:10:05 -0000 > Jonathan Weiss wrote: >>> Jonathan Weiss wrote: >>> >>>>>> OK, I seem to be able to get FreeBSD 5.2.1-RELEASE to reliably panic with >>>>>> a "panic: free: address 0xd8d5e000(0xd8d5e000) has not been allocated." >>>>>> on >>>>>> the serial console when it crashes. >>>>>> >>>>>> I'm doing two copies of the entire ports collection to seperate >>>>>> subdirectories when the crash occurs. It seems to do this regardless of >>>>>> >>>>>> The machine is an IBM Netfinity 5500 with 4 x 550Mhz P3 Xeon CPUS, 2gigs >>>>>> of ram and a Mylex DAC1100 RAID controller. There are 6 73G disks >>>>>> attached >>>>>> to channel 0 of the controller, 5 disks are in a RAID 5 array, the sixth >>>>>> is a hot spare. >>>>>> >>>>>> Any ideas? >>>>> >>>>> I see the same here with my p2 400 and a Mylex DAC960PL and 5x4,5 GB HDDs. >>>>> Installing 5.2.1-RC2 fails with the same panic. >>>>> 5.1 worked flawlessly. >>>>> >>>>> Jonathan Weiss >>>> >>>> >>>> Sorry for replying to myself, but I tried a snapshot (28/2/04) and got the >>>> same panic. Installing 5.1 is working and until the end of january I also >>>> had current without problems on this machine. I am not sure, but I think >>>> that i also had 5.2.1-RC1 on this machine without problems, so the problem >>>> may be introduced not long ago. >>>> >>>> Thank you, >>>> Jonathan Weiss >>>> >>> >>> Can you try the attached patch? >>> >>> Scott >>> >>> Index: mlx.c >>> =================================================================== >>> RCS file: /usr/ncvs/src/sys/dev/mlx/mlx.c,v >>> retrieving revision 1.44 >>> diff -u -r1.44 mlx.c >>> --- mlx.c 22 Feb 2004 09:52:46 -0000 1.44 >>> +++ mlx.c 28 Feb 2004 17:48:59 -0000 >>> @@ -1554,8 +1554,8 @@ >>> if ((mc->mc_complete == NULL) && (mc != NULL)) >>> mlx_releasecmd(mc); >>> /* we got an error, and we allocated a result */ >>> - if ((error != 0) && (mc->mc_data != NULL)) { >>> - free(mc->mc_data, M_DEVBUF); >>> + if ((error != 0) && (result != NULL)) { >>> + free(result, M_DEVBUF); >>> mc->mc_data = NULL; >>> } >>> return(result); >>> >> >> >> I tried the patch, but i still get the same panic :-( >> >> Maybe i did something wrong because it was the first time I built a release. >> I cvsupped the cvs-tree to /home/ncvs with the >> /usr/share/examples/cvsup/cvs-supfile, apllied your patch to >> /home/ncvs/src/sys/dev/mlx/mlx.c,v. Then a checked src out from /home/ncvs >> to /usr/src and did a buildworld. >> >> After building the world, I did: >> >> Cd release >> make release CHROOTDIR=/home/mille/release BUILDNAME=5.2-MLX >> CVSROOT=/home/ncvs MAKE_ISOS=yes NODOC=yes NO_FLOPPIES=yes NOPORTREADMES=yes >> NOPORTS=yes >> >> I then burned the miniinst.iso from /home/ncvs/release/R/cdrom. >> >> Were these steps correct? >> >> Thank you, >> Jonathan >> >> > > Editing the repo by hand is generally not a good idea ;-) Patches can > be inserted into the release build process via the LOCAL_PATCHES > variable in /usr/src/release/Makefile. The patchfile needs to be > relative to /usr/src, IIRC, so you would have to make a minor change to > the patch that I sent out. In any case, you should look in > /home/mille/release/usr/src/sys/dev/mlx/mlx.c to see if it contains the > changed lines. If so, then I'm rather surprised that the panic still > happens in the same place. > > Scott Hi Scott, First, thank you for your help :-) When I type 1554G im vi /home/mille/release/src/sys/dev/mlx/mlx.c I get: out: /* we got a command, but nobody else will free it */ if ((mc->mc_complete == NULL) && (mc != NULL)) mlx_releasecmd(mc); /* we got an error, and we allocated a result */ if ((error != 0) && (result != NULL)) { free(result, M_DEVBUF); mc->mc_data = NULL; } return(result); So I think, that you changes are included. If i understand you right, in general I should not apply the patch to my cvs-tree but to a checket out version? But the file named in the patchfile was the mlx.c,v , so i thought that i should patch the file in the repository. Was it also possible to patch the checked out file with this patch? Or was it needed to change it? You said, that I should change the patch file to be relative to /usr/src, which part should have been changed? The RCS file: /usr/ncvs/src/sys/dev/mlx/mlx.c,v? Into what? Sorry for so many questions but i not very familliar with RCS/CVS and I am Trying to learn it. Anyway, I still get the panic with your patch and I think that I applied I correctly (I hope). Thank you, Jonathan Weiss