Steve,

Firstly, I saw several panic in your attached sys-log. The panics were
caused most likely by your driver.

I cannot understand what's your meaning about "kernel stop" "Locks-up"?
Did you mean "Panic" and "Hang"?

 From your syslog, I cannot give any comments. But I can give you some
suggestion for debugging your HBA driver.

1. Before your driver get stable, please don't copy you debug version 
driver to /kernel/drv or /usr/kernel/drv
because once your driver is with panic bug, you will panic again and 
again which prevent you booting up system successfully.
So please just create a link under /kernel/drv/ or /usr/kernel/drv/ 
which point to a binary locates at /tmp.  Before you load your driver, 
copy your binary to /tmp. The contents under directory "/tmp" cannot 
across reboot, that means once panic causes reboot, the link points to a 
NULL file locates /tmp after reboot, you can boot your system successfully.

2. Please enable kmdb during debug. you can use -k option to boot your 
system. Once meet panic, the system would freeze and you can do live 
analyze  or save core dump for post-analyze.

3. In case a hang problem, you can try break the system enter into kmdb 
mode or login to the machine by ssh from another machine and run "mdb 
-KF". Then force save a core dump or do live debugging to check current 
thread list and see where the system hang. "$threadlist" is very helpful 
to show threads and stack of the threads.

Hope it helps your debugging.

Cheers
Javen



Steve Chang wrote:

>Dear Javen,
>I've struggled on debugging for a while. Can you point out what's wrong
>through the
>attached file(through var/adm/messages)?
>
>My target system is a dual Intel Xeon server board platform and install a
>Solaris Developer Extension version (09/07). During debugging,
>(1) I put mydriver to /usr/kernel/drv/amd64 and mydriver.conf to
>/usr/kernel/drv
>(2) Use "prtconf" to check the HBA PCI id which I found our HBA "pci1103,0"
>       (driver not attached) 
>(3) Install driver (as a superuser)
>    #add_drv -i '"pci1103,0"' -c scsi mydriver
>(4) Then system locks up
>(5) Fix the kernel and check /var/adm/messages
>
>There are two text files in this attached which run the same procedures two
>times
>But get the different result.
>1. DEB - the 1st time running
>         Kerenl stops after ID=9 scsi_hba_probe() return ?? 
>2. DEB - fix the system and run the same procedure again
>         Kernel send ID=14 directly and locks up after ID=15
>scsi_hba_probe() return ??
>
>What's wrong of the kernel? Is it caused by bad kernel or my code? If I keep
>fixing the
>kernel and retry again, I'll get the different result lock-up again. It is
>bothering me
>since I cannot debug my driver. How to make it more stable to run the
>debugging?
>
>Thanks
>
>Steve Chang
>HighPoint Technologies, Inc.
>408-240-6115
> 
>  
>

_______________________________________________
driver-discuss mailing list
driver-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to