myl driver failing during server shutdown

Jo Rhett jrhett at svcolo.com
Tue Aug 15 02:40:56 UTC 2006


Thanks for the quick reply.  Unfortunately I still haven't had time to test
it.  I'm doing a build now, but I need to leave tonight so I'll try and
test it tomorrow AM.

On Fri, Aug 11, 2006 at 09:27:19PM -0600, Scott Long wrote:
> Jo Rhett wrote:
> >So I had thought that my motherboard didn't honor the acpi reset or  
> >power down command.  It turns out that it does just fine -- but the  
> >shutdown is failing/hanging.  Attaching a serial console to it, I see  
> >this:
> >
> >Waiting (max 60 seconds) for system process `syncer' to stop...
> >Syncing disks, vnodes remaining...3 0 2 0 0 done
> >All buffers synced.
> >Uptime: 6d18h12m6s
> >(da0:mly0:1:0:0): Synchronize cache failed, status == 0xb, scsi  status 
> >== 0x0
> >mly0: flushing cache...kernel trap 12 with interrupts disabled
> >
> >
> >Fatal trap 12: page fault while in kernel mode
> >fault virtual address   = 0x0
> >fault code              = supervisor read, page not present
> >instruction pointer     = 0x20:0x0
> >stack pointer           = 0x28:0xe25c1ac0
> >frame pointer           = 0x28:0x0
> >code segment            = base 0x0, limit 0xfffff, type 0x1b
> >                        = DPL 0, pres 1, def32 1, gran 1
> >processor eflags        = resume, IOPL = 0
> >current process         = 1 (init)
> >trap number             = 12
> >panic: page fault
> >Uptime: 6d19h12m38s
> >(da0:mly0:1:0:0): Synchronize cache failed, status == 0xb, scsi  status 
> >== 0x0
> >Dumping 991 MB (2 chunks)
> >Aborting dump due to I/O error.
> >status == 0xb, scsi status == 0x0
> >
> >** DUMP FAILED (ERROR 5) **
> >
> >This is 100% reproducable.  Anyone have any ideas where to start on  
> >this problem?  What does this error mean?
> >
> >Note: if you want to debug this, I can provide root access.  It's  just 
> >a personal box :-)
> >
> 
> Give this (untested) patch a try.  If that doesn't work, it's going to
> need a lot more digging, and I unfortunately don't have the time for
> that right now.
> 
> Scott
> 

> Index: mly.c
> ===================================================================
> RCS file: /usr/ncvs/src/sys/dev/mly/mly.c,v
> retrieving revision 1.39
> diff -u -r1.39 mly.c
> --- mly.c	8 Aug 2005 12:23:26 -0000	1.39
> +++ mly.c	10 Aug 2006 11:57:54 -0000
> @@ -1128,9 +1128,12 @@
>  	    mc->mc_data = *data;
>  	    mc->mc_flags |= MLY_CMD_DATAOUT;
>  	}
> -	mc->mc_length = datasize;
> -	mc->mc_packet->generic.data_size = datasize;
> +    } else if (datasize != 0) {
> +	error = EINVAL;
> +	goto out;
>      }
> +    mc->mc_length = datasize;
> +    mc->mc_packet->generic.data_size = datasize;
>      
>      /* run the command */
>      if ((error = mly_immediate_command(mc)))


-- 
Jo Rhett
senior geek
SVcolo : Silicon Valley Colocation


More information about the freebsd-scsi mailing list