Re: mlx driver related kernel panic in Freebsd 5.2.1-RELEASE

From: Scott Long <scottl_at_freebsd.org>
Date: Sun, 29 Feb 2004 12:16:28 -0700
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
>>_at__at_ -1554,8 +1554,8 _at__at_
>>   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
Received on Sun Feb 29 2004 - 10:19:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:45 UTC