public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* oops in serial_out in 2.6.5
@ 2004-04-13  6:37 Martin Pool
  2004-04-13 14:34 ` Alex Williamson
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Martin Pool @ 2004-04-13  6:37 UTC (permalink / raw)
  To: linux-ia64

I'm (trying to) run Debian's 2.6.5-mckinley-smp on an hp rx2600.  It
oopses at startup in setserial.  The console is ttyS0, which points to
the management processor.

Loading the saved-state of the serial devices...
Cannot set serial info: Device or resource busy
/dev/ttyS0 at 0x0000 (irq = 49) is a 16550A
/dev/ttyS1 at 0x0000 (irq = 60) is a 16550A
Unable to handle kernel NULL pointer dereferencesetserial[203]: Oops 8804682956800 [1]
       
Pid: 203, CPU 0, comm:            setserial
psr : 0000101008026018 ifs : 800000000000040a ip  : [<a0000001002b8690>]    Tainted: GF
ip is at serial_out+0xb0/0x1a0
unat: 0000000000000000 pfs : 000000000000038a rsc : 0000000000000003
rnat: 0000000000000040 bsps: e0000040fe1e4680 pr  : a400000000169965
ldrs: 0000000000000000 ccv : 0000000000000002 fpsr: 0009804c0270033f
csd : 0000000000000000 ssd : 0000000000000000
b0  : a0000001002bc890 b6  : a000000100002d70 b7  : a0000001002bc340
f6  : 1003ecccccccccccccccd f7  : 000000000000000000000
f8  : 1003e000000000101426b f9  : 1003e0000000005064c17
f10 : 1003e0000000051eb851f f11 : 1003e0000000000080000
r1  : a000000100790000 r2  : 0000000000000002 r3  : 0000000000000000
r8  : a0000001006b9373 r9  : a0000001006b9372 r10 : a000000100642820
r11 : a000000100642820 r12 : e00000405142fd70 r13 : e000004051428000
r14 : e00000405142fd80 r15 : a0000001006b9360 r16 : 0000000000000002
r17 : 0010000000000000 r18 : 0000000000000001 r19 : 0000000000000002
r20 : 0000000000000001 r21 : 0000000000000000 r22 : 0000000000000000
r23 : a0000001006428f8 r24 : a0000001006b935c r25 : a000000100642820
r26 : a000000100642820 r27 : e0000040509b3ab0 r28 : e00000405142fd88
r29 : e0000040509b3aa8 r30 : 0000000000000001 r31 : e00000405142fd84
                                                                     
Call Trace:
 [<a000000100019800>] show_stack+0x80/0xa0
                                spà0000405142f940 bspà000040514292f8
 [<a00000010003f910>] die+0x190/0x260
                                spà0000405142fb10 bspà000040514292c0
 [<a000000100059e80>] ia64_do_page_fault+0x1e0/0x980
                                spà0000405142fb10 bspà00004051429258
 [<a000000100011d20>] ia64_leave_kernel+0x0/0x280
                                spà0000405142fba0 bspà00004051429258
 [<a0000001002b8690>] serial_out+0xb0/0x1a0
                                spà0000405142fd70 bspà00004051429208
 [<a0000001002bc890>] serial8250_startup+0x550/0x6c0
                                spà0000405142fd70 bspà000040514291c8
 [<a0000001002af980>] uart_startup+0x240/0x4e0
                                spà0000405142fd70 bspà00004051429178
 [<a0000001002b1cf0>] uart_set_info+0x3f0/0xb20
                                spà0000405142fd90 bspà00004051429090
 [<a0000001002b39f0>] uart_ioctl+0x2f0/0x3a0
                                spà0000405142fe20 bspà00004051429048
 [<a0000001002841d0>] tty_ioctl+0x870/0xa60
                                spà0000405142fe20 bspà00004051428ff0
 [<a000000100159850>] sys_ioctl+0x350/0x820
                                spà0000405142fe20 bspà00004051428f60
 [<a000000100011b80>] ia64_ret_from_syscall+0x0/0x20
                                spà0000405142fe30 bspà00004051428f60
 /dev/ttyS2 at 0x0000 (irq = 57) is a 16550A
/etc/rcS.d/S46setserial: line 152:   203 Segmentation fault      ${SETSERIAL} -z $device $args
 


In case it helps here are some of the TOC dump fields:

<6>Entered OS INIT handler. PSPÿe301a0
Delaying for 5 seconds...
NaT bits        0000000000000000
pr              80000001ff606ca9
b0              a000000100018b90 ia64_pal_call_static+0x70/0xa0
ar.rsc          0000000000000003
cr.iip          e00000003fae0da2 0xe00000003fae0da2
cr.ipsr         0000141008020018
cr.ifs          8000000000003060
xip             a000000100018ba0 ia64_pal_call_static+0x80/0xa0
xpsr            0000101008026018
xfs             8000000000003060
b1              80000000ffe0d3d0 0x80000000ffe0d3d0

Backtrace of pid 204 (setserial)
                                 
Call Trace:
 [<a000000100087520>] schedule+0x1080/0x1720
                                spà0000405142fda0 bspà00004051429208
 [<a0000001000398e0>] __down_interruptible+0x280/0x460
                                spà0000405142fdb0 bspà00004051429190
 [<a0000001002b57a0>] uart_get+0x340/0x380
                                spà0000405142fde0 bspà00004051429148
 [<a0000001002b5860>] uart_open+0x80/0x320
                                spà0000405142fde0 bspà00004051429100
 [<a000000100281ad0>] tty_open+0x550/0x8a0
                                spà0000405142fde0 bspà00004051429098
 [<a000000100140b30>] chrdev_open+0x390/0x700
                                spà0000405142fdf0 bspà00004051429038
 [<a000000100125560>] dentry_open+0x3a0/0x5a0
                                spà0000405142fe00 bspà00004051428fb8
 [<a0000001001251a0>] filp_open+0xc0/0xe0
                                spà0000405142fe00 bspà00004051428f88
 [<a000000100126030>] sys_open+0xb0/0x140
                                spà0000405142fe30 bspà00004051428f08
 [<a000000100011b80>] ia64_ret_from_syscall+0x0/0x20
                                spà0000405142fe30 bspà00004051428f08
                                                                         
INIT dump complete.  Please reboot now.



-- 
Martin 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: oops in serial_out in 2.6.5
  2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
@ 2004-04-13 14:34 ` Alex Williamson
  2004-04-13 16:21 ` Matthew Wilcox
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Alex Williamson @ 2004-04-13 14:34 UTC (permalink / raw)
  To: linux-ia64


   What's in your /var/lib/setserial/autoserial.conf?  What does the
kernel print out for serial ports on bootup?  I'm guessing they're out
of sync.  It would be nice if we could stop the oops, but I'm guessing
the quicker fix is to reconfigure setserial to "kernel" configuration. 
Your ttyS0 on irq 49 is likely the builtin UART, not the MP UART.  If
that fixes it, please report back the differences in config versus
kernel serial port listings.  Thanks,

	Alex

On Tue, 2004-04-13 at 00:37, Martin Pool wrote:
> I'm (trying to) run Debian's 2.6.5-mckinley-smp on an hp rx2600.  It
> oopses at startup in setserial.  The console is ttyS0, which points to
> the management processor.
> 
> Loading the saved-state of the serial devices...
> Cannot set serial info: Device or resource busy
> /dev/ttyS0 at 0x0000 (irq = 49) is a 16550A
> /dev/ttyS1 at 0x0000 (irq = 60) is a 16550A
> Unable to handle kernel NULL pointer dereferencesetserial[203]: Oops 8804682956800 [1]
>        
> Pid: 203, CPU 0, comm:            setserial
> psr : 0000101008026018 ifs : 800000000000040a ip  : [<a0000001002b8690>]    Tainted: GF
> ip is at serial_out+0xb0/0x1a0
> unat: 0000000000000000 pfs : 000000000000038a rsc : 0000000000000003
> rnat: 0000000000000040 bsps: e0000040fe1e4680 pr  : a400000000169965
> ldrs: 0000000000000000 ccv : 0000000000000002 fpsr: 0009804c0270033f
> csd : 0000000000000000 ssd : 0000000000000000
> b0  : a0000001002bc890 b6  : a000000100002d70 b7  : a0000001002bc340
> f6  : 1003ecccccccccccccccd f7  : 000000000000000000000
> f8  : 1003e000000000101426b f9  : 1003e0000000005064c17
> f10 : 1003e0000000051eb851f f11 : 1003e0000000000080000
> r1  : a000000100790000 r2  : 0000000000000002 r3  : 0000000000000000
> r8  : a0000001006b9373 r9  : a0000001006b9372 r10 : a000000100642820
> r11 : a000000100642820 r12 : e00000405142fd70 r13 : e000004051428000
> r14 : e00000405142fd80 r15 : a0000001006b9360 r16 : 0000000000000002
> r17 : 0010000000000000 r18 : 0000000000000001 r19 : 0000000000000002
> r20 : 0000000000000001 r21 : 0000000000000000 r22 : 0000000000000000
> r23 : a0000001006428f8 r24 : a0000001006b935c r25 : a000000100642820
> r26 : a000000100642820 r27 : e0000040509b3ab0 r28 : e00000405142fd88
> r29 : e0000040509b3aa8 r30 : 0000000000000001 r31 : e00000405142fd84
>                                                                      
> Call Trace:
>  [<a000000100019800>] show_stack+0x80/0xa0
>                                 spà0000405142f940 bspà000040514292f8
>  [<a00000010003f910>] die+0x190/0x260
>                                 spà0000405142fb10 bspà000040514292c0
>  [<a000000100059e80>] ia64_do_page_fault+0x1e0/0x980
>                                 spà0000405142fb10 bspà00004051429258
>  [<a000000100011d20>] ia64_leave_kernel+0x0/0x280
>                                 spà0000405142fba0 bspà00004051429258
>  [<a0000001002b8690>] serial_out+0xb0/0x1a0
>                                 spà0000405142fd70 bspà00004051429208
>  [<a0000001002bc890>] serial8250_startup+0x550/0x6c0
>                                 spà0000405142fd70 bspà000040514291c8
>  [<a0000001002af980>] uart_startup+0x240/0x4e0
>                                 spà0000405142fd70 bspà00004051429178
>  [<a0000001002b1cf0>] uart_set_info+0x3f0/0xb20
>                                 spà0000405142fd90 bspà00004051429090
>  [<a0000001002b39f0>] uart_ioctl+0x2f0/0x3a0
>                                 spà0000405142fe20 bspà00004051429048
>  [<a0000001002841d0>] tty_ioctl+0x870/0xa60
>                                 spà0000405142fe20 bspà00004051428ff0
>  [<a000000100159850>] sys_ioctl+0x350/0x820
>                                 spà0000405142fe20 bspà00004051428f60
>  [<a000000100011b80>] ia64_ret_from_syscall+0x0/0x20
>                                 spà0000405142fe30 bspà00004051428f60
>  /dev/ttyS2 at 0x0000 (irq = 57) is a 16550A
> /etc/rcS.d/S46setserial: line 152:   203 Segmentation fault      ${SETSERIAL} -z $device $args
>  
> 
> 
> In case it helps here are some of the TOC dump fields:
> 
> <6>Entered OS INIT handler. PSPÿe301a0
> Delaying for 5 seconds...
> NaT bits        0000000000000000
> pr              80000001ff606ca9
> b0              a000000100018b90 ia64_pal_call_static+0x70/0xa0
> ar.rsc          0000000000000003
> cr.iip          e00000003fae0da2 0xe00000003fae0da2
> cr.ipsr         0000141008020018
> cr.ifs          8000000000003060
> xip             a000000100018ba0 ia64_pal_call_static+0x80/0xa0
> xpsr            0000101008026018
> xfs             8000000000003060
> b1              80000000ffe0d3d0 0x80000000ffe0d3d0
> 
> Backtrace of pid 204 (setserial)
>                                  
> Call Trace:
>  [<a000000100087520>] schedule+0x1080/0x1720
>                                 spà0000405142fda0 bspà00004051429208
>  [<a0000001000398e0>] __down_interruptible+0x280/0x460
>                                 spà0000405142fdb0 bspà00004051429190
>  [<a0000001002b57a0>] uart_get+0x340/0x380
>                                 spà0000405142fde0 bspà00004051429148
>  [<a0000001002b5860>] uart_open+0x80/0x320
>                                 spà0000405142fde0 bspà00004051429100
>  [<a000000100281ad0>] tty_open+0x550/0x8a0
>                                 spà0000405142fde0 bspà00004051429098
>  [<a000000100140b30>] chrdev_open+0x390/0x700
>                                 spà0000405142fdf0 bspà00004051429038
>  [<a000000100125560>] dentry_open+0x3a0/0x5a0
>                                 spà0000405142fe00 bspà00004051428fb8
>  [<a0000001001251a0>] filp_open+0xc0/0xe0
>                                 spà0000405142fe00 bspà00004051428f88
>  [<a000000100126030>] sys_open+0xb0/0x140
>                                 spà0000405142fe30 bspà00004051428f08
>  [<a000000100011b80>] ia64_ret_from_syscall+0x0/0x20
>                                 spà0000405142fe30 bspà00004051428f08
>                                                                          
> INIT dump complete.  Please reboot now.
-- 
Alex Williamson                             HP Linux & Open Source Lab


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: oops in serial_out in 2.6.5
  2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
  2004-04-13 14:34 ` Alex Williamson
@ 2004-04-13 16:21 ` Matthew Wilcox
  2004-04-13 23:55 ` Martin Pool
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Matthew Wilcox @ 2004-04-13 16:21 UTC (permalink / raw)
  To: linux-ia64

On Tue, Apr 13, 2004 at 04:37:58PM +1000, Martin Pool wrote:
> I'm (trying to) run Debian's 2.6.5-mckinley-smp on an hp rx2600.  It
> oopses at startup in setserial.  The console is ttyS0, which points to
> the management processor.

I tend to purge setserial, it's just worthless.

-- 
"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: oops in serial_out in 2.6.5
  2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
  2004-04-13 14:34 ` Alex Williamson
  2004-04-13 16:21 ` Matthew Wilcox
@ 2004-04-13 23:55 ` Martin Pool
  2004-04-14 15:25 ` Bjorn Helgaas
  2004-04-15  2:35 ` Martin Pool
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Pool @ 2004-04-13 23:55 UTC (permalink / raw)
  To: linux-ia64

[-- Attachment #1: Type: text/plain, Size: 2607 bytes --]

On 13 Apr 2004, Alex Williamson <alex.williamson@hp.com> wrote:
> 
>    What's in your /var/lib/setserial/autoserial.conf?  What does the
> kernel print out for serial ports on bootup?  I'm guessing they're out
> of sync.  It would be nice if we could stop the oops, but I'm guessing
> the quicker fix is to reconfigure setserial to "kernel" configuration. 
> Your ttyS0 on irq 49 is likely the builtin UART, not the MP UART.  If
> that fixes it, please report back the differences in config versus
> kernel serial port listings.  Thanks,

Autoserial.conf has

###PORT STATE GENERATED USING AUTOSAVE-ONCE###
###AUTOSAVE-ONCE###
###AUTOSAVE-ONCE###
###AUTOSAVE###
#
# If you want to configure this file by hand, use
# dpkg --configure setserial
# and change the configuration mode of the file to MANUAL. If you do not do this# this file may be overwritten automatically the next time you upgrade the
# package.
#
/dev/ttyS0 uart 16550A port 0x0000 irq 59 baud_base 115200 spd_normal skip_test
auto_irq
/dev/ttyS1 uart 16550A port 0x0000 irq 60 baud_base 115200 spd_normal skip_test
auto_irq
/dev/ttyS2 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
/dev/ttyS3 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
/dev/ttyS4 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
/dev/ttyS5 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test

The kernel reported 

Apr 13 16:18:25 kate kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
Apr 13 16:18:25 kate kernel: ttyS0 at MMIO 0xf4050000 (irq = 49) is a 16550A
Apr 13 16:18:25 kate kernel: GSI 0x22(high,edge) -> CPU 0x0000 vector 75
Apr 13 16:18:25 kate kernel: ttyS1 at MMIO 0xff5e0000 (irq = 75) is a 16550A
Apr 13 16:18:25 kate kernel: GSI 0x23(high,edge) -> CPU 0x0000 vector 76
Apr 13 16:18:25 kate kernel: ttyS2 at MMIO 0xff5e2000 (irq = 76) is a 16550A
Apr 13 16:18:25 kate kernel: PCI: Found IRQ 49 for device 0000:e0:01.0
Apr 13 16:18:25 kate kernel: IOSAPIC: vector 49 -> CPU 0x0100, enabled
Apr 13 16:18:25 kate kernel: ttyS3 at MMIO 0xf4051000 (irq = 49) is a 16450
Apr 13 16:18:25 kate kernel: PCI: Found IRQ 49 for device 0000:e0:01.1
Apr 13 16:18:25 kate kernel: IOSAPIC: vector 49 -> CPU 0x0000, enabled
Apr 13 16:18:25 kate kernel: Couldn't register serial port 0000:e0:01.1: -28


I got my machine working again by just removing setserial.  Does it
ever do anything useful on legacy-free ia64?  I wouldn't think people
ever set IRQs or IO addresses by hand after bootup.

-- 
Martin 

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: oops in serial_out in 2.6.5
  2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
                   ` (2 preceding siblings ...)
  2004-04-13 23:55 ` Martin Pool
@ 2004-04-14 15:25 ` Bjorn Helgaas
  2004-04-15  2:35 ` Martin Pool
  4 siblings, 0 replies; 6+ messages in thread
From: Bjorn Helgaas @ 2004-04-14 15:25 UTC (permalink / raw)
  To: linux-ia64

On Tuesday 13 April 2004 5:55 pm, Martin Pool wrote:
> /dev/ttyS0 uart 16550A port 0x0000 irq 59 baud_base 115200 spd_normal skip_test
> auto_irq
> /dev/ttyS1 uart 16550A port 0x0000 irq 60 baud_base 115200 spd_normal skip_test
> auto_irq
> /dev/ttyS2 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
> /dev/ttyS3 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
> /dev/ttyS4 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
> /dev/ttyS5 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test

Notice that setserial is missing some smarts about MMIO UARTS (see
the "port 0x0000" above).  I poked at this a while back, but it seemed
sort of ugly to fix, IIRC.  Removing setserial seemed to be the
easiest workaround.

> Apr 13 16:18:25 kate kernel: Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
> Apr 13 16:18:25 kate kernel: ttyS0 at MMIO 0xf4050000 (irq = 49) is a 16550A
> Apr 13 16:18:25 kate kernel: GSI 0x22(high,edge) -> CPU 0x0000 vector 75
> Apr 13 16:18:25 kate kernel: ttyS1 at MMIO 0xff5e0000 (irq = 75) is a 16550A
> Apr 13 16:18:25 kate kernel: GSI 0x23(high,edge) -> CPU 0x0000 vector 76
> Apr 13 16:18:25 kate kernel: ttyS2 at MMIO 0xff5e2000 (irq = 76) is a 16550A
> Apr 13 16:18:25 kate kernel: PCI: Found IRQ 49 for device 0000:e0:01.0
> Apr 13 16:18:25 kate kernel: IOSAPIC: vector 49 -> CPU 0x0100, enabled
> Apr 13 16:18:25 kate kernel: ttyS3 at MMIO 0xf4051000 (irq = 49) is a 16450
> Apr 13 16:18:25 kate kernel: PCI: Found IRQ 49 for device 0000:e0:01.1
> Apr 13 16:18:25 kate kernel: IOSAPIC: vector 49 -> CPU 0x0000, enabled
> Apr 13 16:18:25 kate kernel: Couldn't register serial port 0000:e0:01.1: -28

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: oops in serial_out in 2.6.5
  2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
                   ` (3 preceding siblings ...)
  2004-04-14 15:25 ` Bjorn Helgaas
@ 2004-04-15  2:35 ` Martin Pool
  4 siblings, 0 replies; 6+ messages in thread
From: Martin Pool @ 2004-04-15  2:35 UTC (permalink / raw)
  To: linux-ia64

On Wed, 14 Apr 2004 09:25:38 -0600, Bjorn Helgaas wrote:

> On Tuesday 13 April 2004 5:55 pm, Martin Pool wrote:
>> /dev/ttyS0 uart 16550A port 0x0000 irq 59 baud_base 115200 spd_normal skip_test
>> auto_irq
>> /dev/ttyS1 uart 16550A port 0x0000 irq 60 baud_base 115200 spd_normal skip_test
>> auto_irq
>> /dev/ttyS2 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
>> /dev/ttyS3 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
>> /dev/ttyS4 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
>> /dev/ttyS5 uart 16550A port 0x0000 irq 57 baud_base 115200 spd_normal skip_test
> 
> Notice that setserial is missing some smarts about MMIO UARTS (see
> the "port 0x0000" above).  I poked at this a while back, but it seemed
> sort of ugly to fix, IIRC.  Removing setserial seemed to be the
> easiest workaround.

I have done that, and filed a plea for Debian to stop making it autorun,
#243841.

I see the same request has been open for hppa for >6 months though. :-(

-- 
Martin


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-04-15  2:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-13  6:37 oops in serial_out in 2.6.5 Martin Pool
2004-04-13 14:34 ` Alex Williamson
2004-04-13 16:21 ` Matthew Wilcox
2004-04-13 23:55 ` Martin Pool
2004-04-14 15:25 ` Bjorn Helgaas
2004-04-15  2:35 ` Martin Pool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox