NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/38758: LOCKDEBUG kernel hangs in esp(4) driver



The following reply was made to PR kern/38758; it has been noted by GNATS.

From: Hauke Fath <hf%spg.tu-darmstadt.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: Izumi Tsutsui <tsutsui%ceres.dti.ne.jp@localhost>, 
kern-bug-people%NetBSD.org@localhost,
        gnats-admin%NetBSD.org@localhost
Subject: Re: kern/38758: LOCKDEBUG kernel hangs in esp(4) driver
Date: Tue, 27 May 2008 16:37:27 +0200

 Izumi Tsutsui wrote:
 >>> Synopsis:       LOCKDEBUG kernel hangs in esp(4) driver
 > 
 > At least esp(4) on sun3/80 works fine with DEBUG+LOCKDEBUG+DIAGNOSTIC
 > (though it's too slow) so maybe your problem is mac68k specific.
 
 sun3 uses real DMA, doesn't it? Different code paths, probably. The 
 mac68k MD code doesn't use simple_lock() anywhere, though.
 
 Here's the output from a LOCKDEBUG netbsd-4 kernel:
 
 NetBSD 4.0_STABLE (DEBUG) #0: Tue May 27 15:59:40 CEST 2008
  
 hf@Hochstuhl:/var/obj/netbsd-builds/4/mac68k/sys/arch/mac68k/compile/DEBUG
 Apple Macintosh Quadra 650  (68040)
 cpu: delay factor 1280
 total memory = 136 MB
 avail memory = 128 MB
 
 [...]
 
 esp0 at obio0 addr 0 (quick): address 0x3a6000: NCR53C96, 16MHz, SCSI ID 7
 scsibus0 at esp0: 8 targets, 8 luns per target
 
 [...]
 
 scsibus0: waiting 2 seconds for devices to settle...
 sd0 at scsibus0 target 0 lun 0: <SEAGATE, ST336706LW, 010A> disk fixed
 sd0: 35003 MB, 26302 cyl, 4 head, 681 sec, 512 bytes/sect x 71687370 sectors
 sd0: async, 8-bit transfers, tagged queueing
 boot device: sd0
 root on sd0a dumps on sd0b
 
 simple_lock: lock held
 lock: 0xcb11c4, currently at: /public/netbsd-4/sys/dev/ic/ncr53c9x.c:2084
 last locked: /public/netbsd-4/sys/dev/ic/ncr53c9x.c:2084
 last unlocked: /public/netbsd-4/sys/dev/ic/ncr53c9x.c:2799
 ?(?)
 _simple_lock(cb11c4,27ccca,824) at 0
 ncr53c9x_intr(cb1000,1,17d8e2,cb1000,c82f88) + 38
 esp_quick_dma_go(cb1000,cb1000,3) + 100
 ncr53c9x_intr(cb1000) + 10d8
 esp_intr(cb1000) + 1a
 via2_intr(0) + 50
 intr_dispatch(68) + 48
 intrhand(?)
 mi_switch(30700c,0) + a
 ltsleep(a9aef00,11,29cabc,0,a9aef08) + 340
 biowait(a9aef00,a9aef00,4200) + 60
 readdisklabel(2,236444,d62800,c68be0,d62a00,d62a00) + 7e
 sdopen(401,0,6000,0) + 2ea
 sdsize(401,12000,cc70,80060492,f9000080) + ac
 cpu_dumpconf(10d30,ffffcffc,480,0,1000) + 36
 main(392ff4,251526,78e000,1000,30b80c) + 1dc
 low() + 2
 Stopped at      netbsd:cpu_Debugger+0x6:        unlk    a6
 db>  ps
   PID   PPID   PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
   2        0      0          0 2 0x20200    1         scsibus0  sccomp
   1        0      0          0 2 0x20000    1             init initexe
   0       -1      0          0 2 0x20200    1          swapper biowait
 db>
 
 Like the -current LOCKDEBUG kernel ist doesn't even make it to a 
 single-user prompt, but panics instead of locking up.
 
        hauke
 
 -- 
       The ASCII Ribbon Campaign                    Hauke Fath
 ()     No HTML/RTF in email            Institut fu"r Nachrichtentechnik
 /\     No Word docs in email                     TU Darmstadt
       Respect for open standards              Ruf +49-6151-16-3281
 


Home | Main Index | Thread Index | Old Index