NetBSD-Bugs archive

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

Re: port-amd64/40159: can't boot with multiple cpus anymore



The following reply was made to PR port-amd64/40159; it has been noted by GNATS.

From: Martin Husemann <martin%duskware.de@localhost>
To: Andrew Doran <ad%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: port-amd64/40159: can't boot with multiple cpus anymore
Date: Sun, 14 Dec 2008 16:18:08 +0100

 On Sun, Dec 14, 2008 at 11:01:10AM +0000, Andrew Doran wrote:
 > bt gives you the trace from softser, you _should_ be able to get a trace
 > from the interrupted threads on cpu0 with 't/a $lwpaddress' because x86 does
 > a partial save of their state into the PCB on soft interrupt. I have not
 > verified this.
 
 Hmm, not sure if this helps (this is from another boot, but I now left it
 at the ddb prompt):
 
 fatal breakpoint trap in supervisor mode
 trap type 1 code 0 rip ffffffff801529f5 cs 8 rflags 202 cr2  ffff80004dab4000 
cpl 8 rsp ffff80004bac3a38
 Stopped in pid 0.6 (system) at  netbsd:breakpoint+0x5:  leave
 db{0}> bt
 breakpoint() at netbsd:breakpoint+0x5
 comintr() at netbsd:comintr+0x53a
 Xintr_ioapic_edge1() at netbsd:Xintr_ioapic_edge1+0xef
 --- interrupt ---
 bus_space_read_1() at netbsd:bus_space_read_1+0xe
 intr_biglock_wrapper() at netbsd:intr_biglock_wrapper+0x1d
 Xintr_ioapic_edge7() at netbsd:Xintr_ioapic_edge7+0xef
 --- interrupt ---
 comstart() at netbsd:comstart+0x1
 softint_dispatch() at netbsd:softint_dispatch+0xe7
 DDB lost frame for netbsd:Xsoftintr+0x50, trying 0xffff80004bac3d70
 Xsoftintr() at netbsd:Xsoftintr+0x50
 --- interrupt ---
 0:
 db{0}> mach cpu 1
 using CPU 1
 db{0}> bt#
 _kernel_lock() at netbsd:_kernel_lock+0x114
 sleepq_block() at netbsd:sleepq_block+0x1b3
 usb_delay_ms() at netbsd:usb_delay_ms+0x75
 ohci_root_ctrl_start() at netbsd:ohci_root_ctrl_start+0xb23
 usbd_transfer() at netbsd:usbd_transfer+0xaf
 usbd_do_request_flags_pipe() at netbsd:usbd_do_request_flags_pipe+0xce
 usbd_do_request_flags() at netbsd:usbd_do_request_flags+0x25
 usbd_reset_port() at netbsd:usbd_reset_port+0x54
 uhub_explore() at netbsd:uhub_explore+0x2b8
 usb_discover() at netbsd:usb_discover+0x42
 usb_event_thread() at netbsd:usb_event_thread+0xcf
 db{0}> ps /l
  PID         LID S     FLAGS       STRUCT LWP *               NAME WAIT
  5             1 3         4   ffff80004b2bf040                 sh biowait
  2             1 3        84   ffff80004b2bf420                 sh piperd
  1             1 3        84   ffff80004b2be7e0               init wait
 >0            45 3       204   ffff80004b2bd3e0        vmem_rehash vmem_rehash
               44 3       204   ffff80004b2bd000           aiodoned aiodoned
               43 3       204   ffff80004b2bebc0            ioflush syncer
               42 3       204   ffff80004b2be020           pgdaemon pgdaemon
               38 7       204   ffff80004b2bdba0               usb0
               37 3       204   ffff80004b2bf800         usbtask-dr usbtsk
               36 3       204   ffff80004b2bfbe0         usbtask-hc usbtsk
               35 3       204   ffff80004b2bd7c0               usb1 usbevt
               34 3       204   ffff80004b2be400          atapibus0 sccomp
               24 3       204   ffff80004b2bb420            atabus5 atath
               23 3       204   ffff80004b2bb800            atabus4 atath
               22 3       204   ffff80004b2bbbe0            atabus3 atath
               21 3       204   ffff80004b2b9020            atabus2 atath
               20 3       204   ffff80004b2b9400            atabus1 atath
               19 3       204   ffff80004b2b97e0            atabus0 atath
               18 3       204   ffff80004b2b9bc0            xcall/1 xcall
               17 1       204   ffff80004b2b8000          softser/1
               16 1       204   ffff80004b2b83e0          softclk/1
               15 1       204   ffff80004b2b87c0          softbio/1
               14 1       204   ffff80004b2b8ba0          softnet/1
               13 1       205   ffff80004b2af040             idle/1
               12 3       204   ffff80004b2af420             sysmon smtaskq
               11 3       204   ffff80004b2af800           pmfevent pmfevent
               10 3       204   ffff80004b2afbe0            cachegc cachegc
                9 3       204   ffff80004b2ac020              vrele vrele
                8 3       204   ffff80004b2ac400          modunload modunload
                7 3       204   ffff80004b2ac7e0            xcall/0 xcall
            >   6 7       204   ffff80004b2acbc0          softser/0
                5 1       204   ffff80004b2aa000          softclk/0
                4 1       204   ffff80004b2aa3e0          softbio/0
                3 1       204   ffff80004b2aa7c0          softnet/0
                2 7       205   ffff80004b2aaba0             idle/0
                1 3       204   ffffffff80536f00            swapper schedule
 db{0}> mach cpu 0
 using CPU 0
 db{0}> t/a 0xffff80004b2acbc0
 trace: pid 0 lid 6 at 0xffff80004bac3a38
 breakpoint() at netbsd:breakpoint+0x5
 comintr() at netbsd:comintr+0x53a
 Xintr_ioapic_edge1() at netbsd:Xintr_ioapic_edge1+0xef
 --- interrupt ---
 bus_space_read_1() at netbsd:bus_space_read_1+0xe
 intr_biglock_wrapper() at netbsd:intr_biglock_wrapper+0x1d
 Xintr_ioapic_edge7() at netbsd:Xintr_ioapic_edge7+0xef
 --- interrupt ---
 comstart() at netbsd:comstart+0x1
 softint_dispatch() at netbsd:softint_dispatch+0xe7
 DDB lost frame for netbsd:Xsoftintr+0x50, trying 0xffff80004bac3d70
 Xsoftintr() at netbsd:Xsoftintr+0x50
 --- interrupt ---
 0:
 db{0}> t/a 0xffff80004b2aa000
 trace: pid 0 lid 5 at 0xffff80004b82cd60
 Xsoftintr() at netbsd:Xsoftintr+0x50
 --- interrupt ---
 0:
 db{0}> t/a 0xffff80004b2aa3e0
 trace: pid 0 lid 4 at 0xffff80004b2aa3e0
 0:
 db{0}> t/a 0xffff80004b2aa7c0
 trace: pid 0 lid 3 at 0xffff80004b2aa7c0
 0:
 db{0}> 
 
 Martin
 


Home | Main Index | Thread Index | Old Index