NetBSD Problem Report #45529

From wiz@danbala.tuwien.ac.at  Thu Oct 27 22:40:06 2011
Return-Path: <wiz@danbala.tuwien.ac.at>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 708E763BEB0
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 27 Oct 2011 22:40:06 +0000 (UTC)
Message-Id: <20111027224001.86EBE391A87@danbala.tuwien.ac.at>
Date: Fri, 28 Oct 2011 00:40:01 +0200 (CEST)
From: Thomas Klausner <wiz@NetBSD.org>
Reply-To: Thomas Klausner <wiz@NetBSD.org>
To: gnats-bugs@gnats.NetBSD.org
Subject: ohci: scheduling overruns
X-Send-Pr-Version: 3.95

>Number:         45529
>Category:       kern
>Synopsis:       ohci: scheduling overruns
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Oct 28 03:05:00 +0000 2011
>Originator:     Thomas Klausner
>Release:        netbsd-5
>Organization:

>Environment:


Architecture: x86_64
Machine: amd64
>Description:
The message
ohci0: 1 scheduling overruns                                                                                                                                                                                        
was a panic until recently when it was made a warning and pulled up to the netbsd-5 branch
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/usb/ohci.c.diff?r1=1.196&r2=1.196.4.2                                                                                                                               

I think that this hides a bug though, since a machine I own paniced with:
Oct  7 08:38:57 nas /netbsd: ohci2: 1 scheduling overruns                                                                                                                                                           
Oct  7 08:38:57 nas /netbsd: ohci2: WARNING: addr 0x3a453690 not found                                                                                                                                              
Oct  7 08:38:57 nas /netbsd: ohci2: WARNING: addr 0x1fb2e560 not found                                                                                                                                              
Oct  7 08:38:57 nas /netbsd: ohci2: WARNING: addr 0x9401b260 not found                                                                                                                                              
Oct  7 08:38:57 nas /netbsd: ohci2: WARNING: addr 0x975209c0 not found                                                                                                                                              
Oct  7 08:38:58 nas /netbsd: ohci2: 114 scheduling overruns                                                                                                                                                         
Oct  7 08:38:58 nas /netbsd: ohci2: 117 scheduling overruns                                                                                                                                                         
Oct  7 08:38:58 nas /netbsd: ohci2: 115 scheduling overruns                                                                                                                                                         
Oct  7 08:38:58 nas /netbsd: ohci2: 117 scheduling overruns                                                                                                                                                         
Oct  7 08:38:59 nas /netbsd: ohci2: 118 scheduling overruns                                                                                                                                                         
Oct  7 08:38:59 nas /netbsd: ohci2: 117 scheduling overruns                                                                                                                                                         
Oct  7 08:38:59 nas /netbsd: ohci2: 116 scheduling overruns                                                                                                                                                         
Oct  7 08:38:59 nas /netbsd: ohci2: 117 scheduling overruns                                                                                                                                                         
Oct  7 08:39:00 nas last message repeated 2 times                                                                                                                                                                   
Oct  7 08:39:00 nas /netbsd: ohci2: 102 scheduling overruns                                                                                                                                                         
Oct  7 08:39:00 nas /netbsd: ohci2: 117 scheduling overruns                                                                                                                                                         
Oct  7 08:39:01 nas /netbsd: ohci2: 116 scheduling overruns                                                                                                                                                         
Oct  7 08:39:01 nas /netbsd: ohci2: 118 scheduling overruns                                                                                                                                                         
Oct  7 08:39:01 nas /netbsd: ohci2: 115 scheduling overruns                                                                                                                                                         
Oct  7 08:39:01 nas /netbsd: ohci2: 118 scheduling overruns                                                                                                                                                         
Oct  7 08:39:02 nas /netbsd: ohci2: 116 scheduling overruns                                                                                                                                                         
Oct  7 08:39:02 nas /netbsd: ohci2: 118 scheduling overruns                                                                                                                                                         
Oct  7 08:39:02 nas /netbsd: ohci2: unrecoverable error, controller halted                                                                                                                                          

around 9 the machine stopped responding and on the console I saw:
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0xfffffff0 not found                                                                                                                                                                           
ohci4: WARNING: addr 0x00403bb0 not found                                                                                                                                                                           
uvm_fault(0xffff80004cc0b450, 0x76f2000, 2) -> e                                                                                                                                                                    
fatal page fault in supervisor mode                                                                                                                                                                                 
trap type 6 code 2 rip ffffffff80403bb9 cs 0 rflags 10212 cr2 76f2fa7 cpl 0 rsp ffff80004d5fb8d0                                                                                                                    
kernel: page fault trap, code=0                                                                                                                                                                                     
Stopped in pid 119.1 (syslogd) at netbsd:uvmpdpol_pagedequeue+0x69:                                                                                                                                                 
a                                                                                                                                                                                                                   
ddb %al,0(%rax)                                                                                                                                                                                                     
uvmpdpol_pagedequeue() at netbsd:uvmpdpol_pagedequeue+0x69                                                                                                                                                          
ufs_balloc_range() at netbsd:ufs_balloc_range+0x147                                                                                                                                                                 
ffs_write() at netbsd:ffs_write+0x631                                                                                                                                                                               
VOP_WRITE() at netbsd:VOP_WRITE+0x66                                                                                                                                                                                
vn_write() at netbsd:vn_write()+0xce                                                                                                                                                                                
do_filewritev() at netbsd:do_filewritev()+0x217                                                                                                                                                                     
syscall() at netbsd:syscall()+0xb6                                                                                                                                                                                  


A second time it logged:
Oct  8 00:46:13 nas /netbsd: ohci2: 232 scheduling overruns                                                                                                                                                       
Oct  8 00:46:14 nas /netbsd: ohci2: 234 scheduling overruns                                                                                                                                                       
Oct  8 00:46:14 nas /netbsd: ohci2: 235 scheduling overruns                                                                                                                                                       
Oct  8 00:46:14 nas /netbsd: ohci2: 235 scheduling overruns                                                                                                                                                       
Oct  8 00:46:14 nas /netbsd: ohci2: unrecoverable error, controller halted                                                                                                                                        

And shortly afterwards it paniced again. Console has additional lines:                                                                                                                                              
ohci3: 1 scheduling overruns                                                                                                                                                                                        
ohci3: WARNING: addr 0xa08f7f40 not found                                                                                                                                                                           
ohci3: WARNING: addr 0x9ef11a10 not found                                                                                                                                                                           
panic: _bus_virt_to_bus                                                                                                                                                                                             

USB legacy support in the BIOS was on "auto", but changing it to "disabled"
just made the machine reboot without passing ddb.

Removing the ehci driver from the kernel didn't fix it either.

Removing the ohci driver from the kernel stopped the machine from panicing,
but of course, there is less funcionality this way.
>How-To-Repeat:
Boot the machine with ohci enabled, wait.
>Fix:
First, I think the warning should become a panic again.
Second, it'd be nice to fix the underlying issue.

>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.