From hsu@clinet.fi  Wed Feb 19 08:11:28 1997
Received: from hauki.clinet.fi (root@hauki.clinet.fi [194.100.0.1])
          by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA29500
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Feb 1997 08:11:22 -0800 (PST)
Received: from news.clinet.fi (root@news.clinet.fi [194.100.0.3]) by hauki.clinet.fi (8.8.5/8.6.4) with ESMTP id SAA22560 for <FreeBSD-gnats-submit@freebsd.org>; Wed, 19 Feb 1997 18:11:10 +0200 (EET)
Received: (root@localhost) by news.clinet.fi (8.8.4/8.6.4) id SAA04100; Wed, 19 Feb 1997 18:11:18 +0200 (EET)
Message-Id: <199702191611.SAA04100@news.clinet.fi>
Date: Wed, 19 Feb 1997 18:11:18 +0200 (EET)
From: Heikki Suonsivu <hsu@clinet.fi>
Reply-To: hsu@clinet.fi
To: FreeBSD-gnats-submit@freebsd.org
Subject: panic: %s:%c:%d: Target did not send an IDENTIFY message. SAVED_TCL == 0x%x
X-Send-Pr-Version: 3.2

>Number:         2772
>Category:       kern
>Synopsis:       panic: %s:%c:%d: Target did not send an IDENTIFY message. SAVED_TCL == 0x%x
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    gibbs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 19 08:20:01 PST 1997
>Closed-Date:    Tue Apr 14 12:32:54 PDT 1998
>Last-Modified:  Tue Apr 14 12:33:49 PDT 1998
>Originator:     Heikki Suonsivu
>Release:        FreeBSD 2.2-GAMMA i386
>Organization:
Clinet, Espoo, Finland
>Environment:

2.2, news server, 2940, quantum 3G fireball disks (7 of them).

>Description:

hsu#news.clinet.fi Wed 1: gdb -k kernel.3 vmcore.3
GDB is free software and you are welcome to distribute copies of it
 under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.13 (i386-unknown-freebsd), 
Copyright 1994 Free Software Foundation, Inc...
IdlePTD 271000
current pcb at 0x210c98
panic: %s:%c:%d: Target did not send an IDENTIFY message. SAVED_TCL == 0x%x

#0  boot (howto=260) at ../../kern/kern_shutdown.c:243
243                                     dumppcb.pcb_cr3 = rcr3();
(kgdb) bt
#0  boot (howto=260) at ../../kern/kern_shutdown.c:243
#1  0xf0112402 in panic (fmt=0xf01ceeef "page fault")
    at ../../kern/kern_shutdown.c:367
#2  0xf01cfa56 in trap_fatal (frame=0xf0201cc8) at ../../i386/i386/trap.c:742
#3  0xf01cf544 in trap_pfault (frame=0xf0201cc8, usermode=0)
    at ../../i386/i386/trap.c:653
#4  0xf01cf21f in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -188612864, 
      tf_esi = 0, tf_ebp = -266330860, tf_isp = -266330896, 
      tf_ebx = -187488384, tf_edx = 0, tf_ecx = -192626688, 
      tf_eax = -185650176, tf_trapno = 12, tf_err = 0, tf_eip = -267183638, 
      tf_cs = 8, tf_eflags = 66118, tf_esp = 0, tf_ss = -187488384})
    at ../../i386/i386/trap.c:311
#5  0xf01319ea in vget (vp=0xf4d32780, lockflag=1) at ../../kern/vfs_subr.c:817
#6  0xf01b0818 in ffs_sync (mp=0xf48d0800, waitfor=2, cred=0xf4878f80, 
    p=0xf0252114) at ../../ufs/ffs/ffs_vfsops.c:819
#7  0xf0132ecb in sync (p=0xf0252114, uap=0x0, retval=0x0)
    at ../../kern/vfs_syscalls.c:357
#8  0xf011200d in boot (howto=256) at ../../kern/kern_shutdown.c:181
#9  0xf0112402 in panic (
    fmt=0xf01f782f "%s:%c:%d: Target did not send an IDENTIFY message. SAVED_TCL == 0x%x\n") at ../../kern/kern_shutdown.c:367
#10 0xf01f7e28 in ahc_handle_seqint (ahc=0xf484b000, intstat=33 '!')
    at ../../i386/scsi/aic7xxx.c:904
#11 0xf01f760c in ahc_intr (arg=0xf484b000) at ../../i386/scsi/aic7xxx.c:768
#12 0xf01c876e in vec11 ()
#13 0xf0109640 in softclock () at ../../kern/kern_clock.c:668
(kgdb) frame 9
#9  0xf0112402 in panic (
    fmt=0xf01f782f "%s:%c:%d: Target did not send an IDENTIFY message. SAVED_TCL == 0x%x\n") at ../../kern/kern_shutdown.c:367
367             boot(bootopt);
(kgdb) list
362
363     #if defined(DDB)
364             if (debugger_on_panic)
365                     Debugger ("panic");
366     #endif
367             boot(bootopt);
368     }
369
370     /*
371      * Two routines to handle adding/deleting items on the
(kgdb) up
#10 0xf01f7e28 in ahc_handle_seqint (ahc=0xf484b000, intstat=33 '!')
    at ../../i386/scsi/aic7xxx.c:904
904                           ahc_inb(ahc, SAVED_TCL));
(kgdb) list
899                      * alternative???
900                      */
901                     panic("%s:%c:%d: Target did not send an IDENTIFY message. "
902                           "SAVED_TCL == 0x%x\n",
903                           ahc_name(ahc), channel, target,
904                           ahc_inb(ahc, SAVED_TCL));
905                     break;
906             case BAD_PHASE:
907                     printf("%s:%c:%d: unknown scsi bus phase.  Attempting to "
908                            "continue\n", ahc_name(ahc), channel, target);
(kgdb) print ahc
$1 = (struct ahc_softc *) 0xf484b000
(kgdb) print *ahc
$2 = {unit = 1, type = AHC_294, flags = AHC_INIT, baseport = 54272, 
  maddr = 0x0, scb_data = 0xf484b108, busreset_args = {ahc = 0xf484b000, 
    bus = 66 'B'}, busreset_args_b = {ahc = 0x0, bus = 0 '\000'}, sc_link = {
    target = 0 '\000', lun = 0 '\000', adapter_targ = 7 '\a', 
    adapter_unit = 1 '\001', adapter_bus = 0 '\000', scsibus = 1 '\001', 
    dev_unit = 0 '\000', opennings = 2 '\002', active = 0 '\000', flags = 48, 
    quirks = 0, adapter = 0xf020e434, device = 0xf020e454, active_xs = 0x0, 
    fordriver = 0x0, devmodes = 0x0, dev = 0, sd = 0x0, inqbuf = {
      device = 0 '\000', dev_qual2 = 0 '\000', version = 0 '\000', 
      response_format = 0 '\000', additional_length = 0 '\000', 
      unused = "\000", flags = 0 '\000', 
      vendor = "\000\000\000\000\000\000\000", 
      product = '\000' <repeats 15 times>, revision = "\000\000\000", 
      extra = "\000\000\000\000\000\000\000"}, adapter_softc = 0xf484b000}, 
  sc_link_b = {target = 0 '\000', lun = 0 '\000', adapter_targ = 0 '\000', 
    adapter_unit = 0 '\000', adapter_bus = 0 '\000', scsibus = 0 '\000', 
    dev_unit = 0 '\000', opennings = 0 '\000', active = 0 '\000', flags = 0, 
    quirks = 0, adapter = 0x0, device = 0x0, active_xs = 0x0, fordriver = 0x0, 
    devmodes = 0x0, dev = 0, sd = 0x0, inqbuf = {device = 0 '\000', 
      dev_qual2 = 0 '\000', version = 0 '\000', response_format = 0 '\000', 
      additional_length = 0 '\000', unused = "\000", flags = 0 '\000', 
      vendor = "\000\000\000\000\000\000\000", 
      product = '\000' <repeats 15 times>, revision = "\000\000\000", 
      extra = "\000\000\000\000\000\000\000"}, adapter_softc = 0x0}, 
  waiting_scbs = {stqh_first = 0x0, stqh_last = 0xf484b0e0}, 
  activescbs = 0 '\000', needsdtr_orig = 255, needwdtr_orig = 0, 
  needsdtr = 255, needwdtr = 0, sdtrpending = 126, wdtrpending = 0, 
  tagenable = 0, orderedtag = 0, discenable = 255, our_id = 7 '\a', 
  our_id_b = 0 '\000', qcntmask = 31 '\037', qfullcount = 16 '\020', 
  curqincnt = 0 '\000', unpause = 2 '\002', pause = 6 '\006', 
  in_timeout = 0 '\000', in_reset = 2 '\002'}
(kgdb) print channel
$3 = 65 'A'
(kgdb) print target
$4 = 1 '\001'
(kgdb) 

dumps are available on request

>How-To-Repeat:

run a busy news server

>Fix:
	
wish I knew


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->gibbs 
Responsible-Changed-By: gibbs 
Responsible-Changed-When: Wed Feb 19 10:22:32 PST 1997 
Responsible-Changed-Why:  
My driver. 

State-Changed-From-To: open->feedback 
State-Changed-By: gibbs 
State-Changed-When: Sat Apr 19 08:28:54 PDT 1997 
State-Changed-Why:  
Please confirm that the changes to the aic7xxx driver on 4/18/97 
fix this problem for you.  These changes are availible in all three 
branches (2.1.0, 2.2, and current). 
State-Changed-From-To: feedback->closed 
State-Changed-By: phk 
State-Changed-When: Tue Apr 14 12:32:54 PDT 1998 
State-Changed-Why:  
timed out 
>Unformatted:
Stack dumps are rarely useful for debugging ahc driver problems.  What
I need instead are:
1) The exact revisions of the aic7xxx driver files you are running.  There
   have been many changes to the driver during the GAMMA period and I have
   no idea what you are running.  The files of interest are:

	sys/dev/aic7xxx/aic7xxx.seq
	sys/dev/aic7xxx/aic7xxx_reg.h
	sys/i386/scsi/aic7xxx.c
	sys/i386/scsi/aic7xxx.h
	sys/pci/aic7870.c
	sys/i386/eisa/aic7770.c

2) What driver options you have specified in your kernel:

	AHC_TAGENABLE?
	AHC_SCBPAGING_ENABLE?
	AHC_ALLOW_MEMIO?

3) What messages were printed out by the kernel before the panic.  This
   particular panic probably occured during an error recovery attempt,
   so all of the messages about that should be on the console and if you're
   lucky, syslogd was able to write them out to disk before the panic
   occurred.
