Subject: Re: kern/27067: cpu stuck in atabus3 thread, kernel won't finish booting. 2.0F works, 2.0H and 2.0Beta do not.
To: Manuel Bouyer <bouyer@antioche.eu.org>
From: Chris Tribo <ctribo@college.dtcc.edu>
List: netbsd-bugs
Date: 09/30/2004 17:52:46
Hi Manuel,

	Didn't get anything from pdc202xx_pci_intr, I did from pdc20265 though:

db> break pdc20265_pci_intr
db> c
Breakpoint in pid 8.1 (atabus3) at netbsD:pdc20265_pci_intr: pushl %ebp
db> bt
pdc20265_pci_intr(c0bf8800,4,10,30,10) at netbsd:pdc20265_pci_intr
Xintr_legacy3() at netbsd:Xintr_legacy3+0xa9
--- interrupt ---
Bad frame pointer: 0xc0a7d198
0x33:
db> c
then it keeps going back to the breakpoint
db> s
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x1: movl 
%esp,%ebp
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x3: pushl %edi
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x4: pushl %esi
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x5: pushl %ebx
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x6: subl 
$0xc,%esp
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x9: movl 
0x8(%ebp),%edi
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0xc: xorl 
%eax,%eax
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0xe: xorl 
%esi,%esi
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x10: cmpl 
0x44(%edi),%eax
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x13: movl 
$0,0xfffffff0(%ebp)
Stopped in pid 8.1 (atabus3) at netbsd:pdc20265_pci_intr+0x1a: jnl 
netbsd:pdc20265_pci_intr+0x3a
lots more stepping, eventually we get back to Xdoreti and then 
Xintr_legacy3
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0x94: cmpl %esi, 
%edi
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0x96: jle 
netbsd:Xintr_legacy3+0xc5
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0x98: pushl 
0x4(%ebx)
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0x9b: movl 
0(%ebx),%eax
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0x9e: movl 
%edi,netbsd:cpu_info_primary+0x134
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0xa4: movl 
0xc(%ebx),%ebx
Stopped in pid 8.1 (atabus3) at netbsd:Xintr_legacy3+0xa7: call *%eax
Breakpoint in pid 8.1 (atabus3) at Netbsd:pdc20265_pci_intr: pushl %ebp
then we're back to the first line at the top, pdc20265_pci_intr+0x1

On Sep 30, 2004, at 3:25 PM, Manuel Bouyer wrote:

> On Thu, Sep 30, 2004 at 03:00:51PM -0400, Chris Tribo wrote:
>>
>> Could you provide me with a little insight as to how to do that? I 
>> read
>> the ddb man page but it didn't shed a whole lot of light on the right
>> thing to do. Trying to do break pdcintr results in symbol not found. I
>> used userconf to disable pdcide and the kernel booted to asking for 
>> the
>> root device, so it would seem the issue is somewhere close to the
>> pdcide interrupt code. Do I need to have a kernel built that isn't
>> stripped from the 2.0 Beta/RC1 sources in order to set a break on
>> pdcintr?
>
> Sorry, it's not pdcintr, it's pdc202xx_pci_intr or pdc20265_pci_intr
> (depending on your controller model)
> Yes, set a breakpoint on it, and see if it's looping on this.
>
> -- 
> Manuel Bouyer <bouyer@antioche.eu.org>
>      NetBSD: 26 ans d'experience feront toujours la difference
> --