Date: Sat, 28 Feb 2004 10:50:24 -0700 From: Scott Long <scottl@freebsd.org> To: Jonathan Weiss <tomonage2@gmx.de> Cc: freebsd-current@freebsd.org Subject: Re: mlx driver related kernel panic in Freebsd 5.2.1-RELEASE Message-ID: <4040D4E0.4020604@freebsd.org> In-Reply-To: <BC668C93.DB75%tomonage2@gmx.de> References: <BC668C93.DB75%tomonage2@gmx.de>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
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
[-- Attachment #2 --]
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);
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4040D4E0.4020604>
