linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* 4.3 serial driver crashes with console shortly after boot
@ 2015-11-10  0:29 Andi Kleen
  2015-11-10  1:52 ` Peter Hurley
  0 siblings, 1 reply; 8+ messages in thread
From: Andi Kleen @ 2015-11-10  0:29 UTC (permalink / raw)
  To: gregkh, linux-serial, linux-kernel, peter


Hi,

With 4.3 an x86 server is always crashing roughly a minute after boot
in __uart_start/uart_tx_stopped. This is repeatable over multiple boots.

The back trace is
flush_to_ldisc->n_tty_receive_buf2->n_tty_receive_buf_common->
commit_echoes-> uart_flush_chars->uart_start

It seems to follow a bad pointer here 

ffffffff813bbdfa:       f6 80 f4 01 00 00 01    testb  $0x1,0x1f4(%rax)
<---
ffffffff813bbe01:       74 01                   je     ffffffff813bbe04
<__uart_start.isra.1+0x24>

Unfortunately I don't have the contents of RAX which scrolled away,
but since CR2 is 1f4 I suspect it's NUL.

It seems to depend on the order of the console=... arguments on the
kernel command line. With console=tty0 console=ttyS0,115200n8 it
crashes, but when reversing the options it does not crash.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-10  0:29 4.3 serial driver crashes with console shortly after boot Andi Kleen
@ 2015-11-10  1:52 ` Peter Hurley
  2015-11-10 22:39   ` Andi Kleen
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Hurley @ 2015-11-10  1:52 UTC (permalink / raw)
  To: Andi Kleen; +Cc: gregkh, linux-serial, linux-kernel

Hi Andi,

On 11/09/2015 07:29 PM, Andi Kleen wrote:
> 
> Hi,
> 
> With 4.3 an x86 server is always crashing roughly a minute after boot
> in __uart_start/uart_tx_stopped. This is repeatable over multiple boots.

Sorry about that. There was a similar report about this with 4.2 which
I thought was fixed by:

commit e144c58cad6667876173dd76977e9e6557e34941
Author: Peter Hurley <peter@hurleysoftware.com>
Date:   Sun Jul 12 21:05:26 2015 -0400

    serial: core: Fix crashes while echoing when closing


> The back trace is
> flush_to_ldisc->n_tty_receive_buf2->n_tty_receive_buf_common->
> commit_echoes-> uart_flush_chars->uart_start
> 
> It seems to follow a bad pointer here 
> 
> ffffffff813bbdfa:       f6 80 f4 01 00 00 01    testb  $0x1,0x1f4(%rax)
> <---
> ffffffff813bbe01:       74 01                   je     ffffffff813bbe04
> <__uart_start.isra.1+0x24>
> 
> Unfortunately I don't have the contents of RAX which scrolled away,
> but since CR2 is 1f4 I suspect it's NUL.
> 
> It seems to depend on the order of the console=... arguments on the
> kernel command line. With console=tty0 console=ttyS0,115200n8 it
> crashes, but when reversing the options it does not crash.

I've just tried to reproduce this without success on my current
tree which has some additional patches I just posted this am. They weren't
intended to fix crashes but they directly impact the area of concern. Could
you try these three?

[PATCH v2 2/4] n_tty: Ignore all read data when closing
[PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
[PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()

links to those patches

https://lkml.org/lkml/2015/11/9/260
https://lkml.org/lkml/2015/11/9/259
https://lkml.org/lkml/2015/11/9/261

Regards,
Peter Hurley

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-10  1:52 ` Peter Hurley
@ 2015-11-10 22:39   ` Andi Kleen
  2015-11-10 22:43     ` Andi Kleen
  0 siblings, 1 reply; 8+ messages in thread
From: Andi Kleen @ 2015-11-10 22:39 UTC (permalink / raw)
  To: Peter Hurley; +Cc: Andi Kleen, gregkh, linux-serial, linux-kernel

> I've just tried to reproduce this without success on my current
> tree which has some additional patches I just posted this am. They weren't
> intended to fix crashes but they directly impact the area of concern. Could
> you try these three?
>
> [PATCH v2 2/4] n_tty: Ignore all read data when closing
> [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
> [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
>
Applying the three patches fixes the crash. 
I haven't tried to figure out which one did the trick.

Thanks,

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-10 22:39   ` Andi Kleen
@ 2015-11-10 22:43     ` Andi Kleen
  2015-11-10 23:15       ` Peter Hurley
  0 siblings, 1 reply; 8+ messages in thread
From: Andi Kleen @ 2015-11-10 22:43 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Peter Hurley, gregkh, linux-serial, linux-kernel

On Tue, Nov 10, 2015 at 11:39:57PM +0100, Andi Kleen wrote:
> > I've just tried to reproduce this without success on my current
> > tree which has some additional patches I just posted this am. They weren't
> > intended to fix crashes but they directly impact the area of concern. Could
> > you try these three?
> >
> > [PATCH v2 2/4] n_tty: Ignore all read data when closing
> > [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
> > [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
> >
> Applying the three patches fixes the crash. 
> I haven't tried to figure out which one did the trick.

Actually I was wrong sorry. It still crashes, but now it doesn't
hang the system anymore.

Here are full oopses:

[  109.350595] BUG: unable to handle kernel NULL pointer dereference at 00000000000001f4
[  109.358410] IP: [<ffffffff813bbe1a>] __uart_start.isra.1+0x1a/0x40
[  109.364151] PGD 0 
[  109.365216] Oops: 0000 [#1] SMP 
[  109.367705] Modules linked in: x86_pkg_temp_thermal crc32c_intel
[  109.373363] CPU: 2 PID: 2957 Comm: kworker/u129:8 Not tainted
4.3.0-dirty #679
[  109.380206] Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS
GRNDSDP1.86B.0046.R00.1502111331 02/11/2015
[  109.390542] Workqueue: events_unbound flush_to_ldisc
[  109.394915] task: ffff88085a2b5c00 ti: ffff880858ad8000 task.ti:
ffff880858ad8000
[  109.402049] RIP: 0010:[<ffffffff813bbe1a>]  [<ffffffff813bbe1a>]
__uart_start.isra.1+0x1a/0x40
[  109.410681] RSP: 0018:ffff880858adbce8  EFLAGS: 00010046
[  109.415390] RAX: 0000000000000000 RBX: ffffffff81edfd60 RCX:
ffffffff817ce300
[  109.422137] RDX: 0000000000000001 RSI: 0000000000000020 RDI:
ffffffff81edfd60
[  109.428886] RBP: ffff880858adbd08 R08: 0000000000000074 R09:
00000000ffffffff
[  109.435628] R10: ffff880856caa120 R11: 0000000000000074 R12:
ffff881059583c00
[  109.442365] R13: 0000000000000286 R14: ffffc90009c782b0 R15:
0000000000000000
[  109.449107] FS:  0000000000000000(0000) GS:ffff88085f840000(0000)
knlGS:0000000000000000
[  109.456922] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  109.462116] CR2: 00000000000001f4 CR3: 0000000001af3000 CR4:
00000000001406e0
[  109.468862] Stack:
[  109.469873]  ffffffff813bbe77 ffff881059583c00 ffffc90009c76000
0000000000000074
[  109.477133]  ffff880858adbd18 ffffffff813bbe9e ffff880858adbdc0
ffffffff813a56b9
[  109.484393]  0000000000015200 ffff881059583cd8 ffff880800000001
ffff880800000074
[  109.491651] Call Trace:
[  109.493155]  [<ffffffff813bbe77>] ? uart_start+0x37/0x50
[  109.497866]  [<ffffffff813bbe9e>] uart_flush_chars+0xe/0x10
[  109.502868]  [<ffffffff813a56b9>]
n_tty_receive_buf_common+0x6e9/0xc90
[  109.508938]  [<ffffffff813a5c74>] n_tty_receive_buf2+0x14/0x20
[  109.514232]  [<ffffffff813a90aa>] flush_to_ldisc+0xda/0x170
[  109.519236]  [<ffffffff810b9684>] process_one_work+0x144/0x430
[  109.524525]  [<ffffffff810b99bb>] worker_thread+0x4b/0x4c0
[  109.529417]  [<ffffffff810b9970>] ? process_one_work+0x430/0x430
[  109.534892]  [<ffffffff810bf849>] kthread+0xc9/0xe0
[  109.539111]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  109.544798]  [<ffffffff8175315f>] ret_from_fork+0x3f/0x70
[  109.549602]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  109.555271] Code: ff ff 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00
0f 1f 44 00 00 48 8b bf 90 01 00 00 48 8b 87 a0 00 00 00 48 8b 80 90 00
00 00 <f6> 80 f4 01 00 00 01 74 01 c3 8b 87 f0 00 00 00 85 c0 75 f5 55 
[  109.579051] RIP  [<ffffffff813bbe1a>] __uart_start.isra.1+0x1a/0x40
[  109.584875]  RSP <ffff880858adbce8>
[  109.587537] CR2: 00000000000001f4
[  109.590008] ---[ end trace 0e4d53c4437868b0 ]---
[  163.478518] ------------[ cut here ]------------
[  163.478524] WARNING: CPU: 2 PID: 2957 at
/home/ak/lsrc/git/linux-2.6/kernel/watchdog.c:331
watchdog_overflow_callback+0x79/0xa0()
[  163.478526] Watchdog detected hard LOCKUP on cpu 2
[  163.478528] Modules linked in: x86_pkg_temp_thermal crc32c_intel
[  163.478531] CPU: 2 PID: 2957 Comm: kworker/u129:8 Tainted: G      D
4.3.0-dirty #679
[  163.478532] Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS
GRNDSDP1.86B.0046.R00.1502111331 02/11/2015
[  163.478536] Workqueue: events_unbound flush_to_ldisc
[  163.478539]  ffffffff81a00b28 ffff88085f845b00 ffffffff81310ce4
ffff88085f845b48
[  163.478541]  ffff88085f845b38 ffffffff810a42b2 ffff88085b9f8000
0000000000000000
[  163.478543]  ffff88085f845c40 ffff88085f845ef8 0000000000000000
ffff88085f845b98
[  163.478544] Call Trace:
[  163.478552]  <NMI>  [<ffffffff81310ce4>] dump_stack+0x44/0x60
[  163.478557]  [<ffffffff810a42b2>] warn_slowpath_common+0x82/0xc0
[  163.478560]  [<ffffffff810a433c>] warn_slowpath_fmt+0x4c/0x50
[  163.478562]  [<ffffffff81117669>]
watchdog_overflow_callback+0x79/0xa0
[  163.478567]  [<ffffffff8114dcac>] __perf_event_overflow+0x8c/0x1d0
[  163.478570]  [<ffffffff8114e784>] perf_event_overflow+0x14/0x20
[  163.478576]  [<ffffffff8106a80e>] intel_pmu_handle_irq+0x1ce/0x430
[  163.478582]  [<ffffffff81061a96>] perf_event_nmi_handler+0x26/0x40
[  163.478587]  [<ffffffff81051d1b>] nmi_handle+0x7b/0x110
[  163.478590]  [<ffffffff81052230>] default_do_nmi+0x40/0x100
[  163.478592]  [<ffffffff810523d2>] do_nmi+0xe2/0x130
[  163.478596]  [<ffffffff81755011>] end_repeat_nmi+0x1a/0x1e
[  163.478602]  [<ffffffff810db2bc>] ?
native_queued_spin_lock_slowpath+0x15c/0x170
[  163.478604]  [<ffffffff810db2bc>] ?
native_queued_spin_lock_slowpath+0x15c/0x170
[  163.478607]  [<ffffffff810db2bc>] ?
native_queued_spin_lock_slowpath+0x15c/0x170
[  163.478612]  <<EOE>>  [<ffffffff81752907>]
_raw_spin_lock_irqsave+0x37/0x40
[  163.478617]  [<ffffffff813c223a>]
serial8250_console_write+0x1ea/0x220
[  163.478620]  [<ffffffff810ddda0>] ? print_prefix+0x50/0x90
[  163.478623]  [<ffffffff813bde76>] univ8250_console_write+0x26/0x30
[  163.478627]  [<ffffffff810dec72>]
call_console_drivers.constprop.4+0xf2/0x100
[  163.478630]  [<ffffffff810df011>] console_unlock+0x301/0x4d0
[  163.478633]  [<ffffffff810df484>] vprintk_emit+0x2a4/0x490
[  163.478636]  [<ffffffff810df78f>] vprintk_default+0x1f/0x30
[  163.478640]  [<ffffffff81152bd2>] printk+0x48/0x50
[  163.478643]  [<ffffffff810a41fc>] print_oops_end_marker+0x2c/0x60
[  163.478645]  [<ffffffff810a43c3>] oops_exit+0x13/0x20
[  163.478647]  [<ffffffff810515ad>] oops_end+0x7d/0xd0
[  163.478651]  [<ffffffff810934eb>] no_context+0x10b/0x350
[  163.478656]  [<ffffffff8131b540>] ? vsnprintf+0x340/0x510
[  163.478659]  [<ffffffff810937b0>] __bad_area_nosemaphore+0x80/0x1f0
[  163.478661]  [<ffffffff81093933>] bad_area_nosemaphore+0x13/0x20
[  163.478663]  [<ffffffff81093be7>] __do_page_fault+0xa7/0x3e0
[  163.478665]  [<ffffffff81093f42>] do_page_fault+0x22/0x30
[  163.478667]  [<ffffffff81754cb8>] page_fault+0x28/0x30
[  163.478671]  [<ffffffff813bbe1a>] ? __uart_start.isra.1+0x1a/0x40
[  163.478673]  [<ffffffff813bbe77>] ? uart_start+0x37/0x50
[  163.478676]  [<ffffffff813bbe9e>] uart_flush_chars+0xe/0x10
[  163.478679]  [<ffffffff813a56b9>]
n_tty_receive_buf_common+0x6e9/0xc90
[  163.478682]  [<ffffffff813a5c74>] n_tty_receive_buf2+0x14/0x20
[  163.478685]  [<ffffffff813a90aa>] flush_to_ldisc+0xda/0x170
[  163.478688]  [<ffffffff810b9684>] process_one_work+0x144/0x430
[  163.478691]  [<ffffffff810b99bb>] worker_thread+0x4b/0x4c0
[  163.478693]  [<ffffffff810b9970>] ? process_one_work+0x430/0x430
[  163.478696]  [<ffffffff810bf849>] kthread+0xc9/0xe0
[  163.478700]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  163.478703]  [<ffffffff8175315f>] ret_from_fork+0x3f/0x70
[  163.478707]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  163.478709] ---[ end trace 0e4d53c4437868b1 ]---
[  178.623346] INFO: rcu_sched detected stalls on CPUs/tasks:
[  178.623351] 	2: (71 GPs behind) idle=8d1/140000000000000/0
softirq=826/826 fqs=14905 
[  178.623357] 	(detected by 33, t=15002 jiffies, g=1537, c=1536,
q=11162)
[  178.623358] Task dump for CPU 2:
[  178.623362] kworker/u129:8  R  running task        0  2957      2
0x00000008
[  178.623374] Workqueue: events_unbound flush_to_ldisc
[  178.623378]  ffff88085f413400 ffff88085f433600 0000000000000000
ffff88105bac0808
[  178.623380]  ffff880858adbe60 ffffffff810b9684 0000000000000000
ffff88085b7481b0
[  178.623383]  ffff88085f413400 0000000000000088 ffff88085f413418
ffff88085b748180
[  178.623383] Call Trace:
[  178.623395]  [<ffffffff810b9684>] ? process_one_work+0x144/0x430
[  178.623398]  [<ffffffff810b99bb>] ? worker_thread+0x4b/0x4c0
[  178.623401]  [<ffffffff810b9970>] ? process_one_work+0x430/0x430
[  178.623405]  [<ffffffff810bf849>] ? kthread+0xc9/0xe0
[  178.623409]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  178.623420]  [<ffffffff8175315f>] ? ret_from_fork+0x3f/0x70
[  178.623424]  [<ffffffff810bf780>] ? flush_kthread_worker+0x70/0x70
[  225.093423] NMI watchdog: BUG: soft lockup - CPU#19 stuck for 22s!
[grub2-probe:9298]
[  225.093425] Modules linked in: x86_pkg_temp_thermal crc32c_intel
[  225.093426] CPU: 19 PID: 9298 Comm: grub2-probe Tainted: G      D W
4.3.0-dirty #679
[  225.093427] Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS
GRNDSDP1.86B.0046.R00.1502111331 02/11/2015
[  225.093428] task: ffff88105388d080 ti: ffff881056514000 task.ti:
ffff881056514000
[  225.093432] RIP: 0010:[<ffffffff81103f6f>]  [<ffffffff81103f6f>]
smp_call_function_many+0x1ef/0x240
[  225.093432] RSP: 0018:ffff881056517d68  EFLAGS: 00000202
[  225.093433] RAX: 0000000000000003 RBX: 0000000000000040 RCX:
0000000000000002
[  225.093433] RDX: ffff88085f859960 RSI: 0000000000000040 RDI:
ffff88107fa36108
[  225.093433] RBP: ffff881056517da8 R08: 0000000000000000 R09:
ffffffeffff7ffff
[  225.093434] R10: 0000000000000100 R11: 0000000000000206 R12:
ffff88107fa36100
[  225.093434] R13: ffff88107fa36108 R14: ffffffff811e41d0 R15:
0000000000000000
[  225.093435] FS:  00007fe156fdf800(0000) GS:ffff88107fa20000(0000)
knlGS:0000000000000000
[  225.093435] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  225.093436] CR2: 0000003002e42a10 CR3: 0000001057850000 CR4:
00000000001406e0
[  225.093436] Stack:
[  225.093437]  0000000000000000 00000000000160c0 01ffffff00000001
0000000000000013
[  225.093438]  ffff881056517df8 ffffffff811e41d0 0000000000000000
0000000000000040
[  225.093455]  ffff881056517dd8 ffffffff811040a8 0000000000000000
ffffffff81bfa4d8
[  225.093455] Call Trace:
[  225.093460]  [<ffffffff811e41d0>] ? __brelse+0x30/0x30
[  225.093461]  [<ffffffff811040a8>] on_each_cpu_mask+0x28/0x60
[  225.093463]  [<ffffffff811e3590>] ? mark_buffer_async_write+0x20/0x20
[  225.093464]  [<ffffffff8110416c>] on_each_cpu_cond+0x8c/0xb0
[  225.093465]  [<ffffffff811e41d0>] ? __brelse+0x30/0x30
[  225.093466]  [<ffffffff811e4629>] invalidate_bh_lrus+0x29/0x30
[  225.093468]  [<ffffffff811e7f7e>] invalidate_bdev+0x1e/0x40
[  225.093473]  [<ffffffff8130145d>] blkdev_ioctl+0x37d/0x690
[  225.093475]  [<ffffffff811e986d>] block_ioctl+0x3d/0x50
[  225.093478]  [<ffffffff811c4ee5>] do_vfs_ioctl+0x285/0x470
[  225.093481]  [<ffffffff811b8dda>] ? SyS_newfstat+0x2a/0x40
[  225.093483]  [<ffffffff811c5111>] SyS_ioctl+0x41/0x70
[  225.093485]  [<ffffffff81752dee>] entry_SYSCALL_64_fastpath+0x12/0x71
[  225.093494] Code: fc 21 00 3b 05 87 76 af 00 89 c1 0f 8d a2 fe ff ff
48 98 49 8b 14 24 48 03 14 c5 c0 9c bf 81 8b 42 18 a8 01 74 ca f3 90 8b
42 18 <a8> 01 75 f7 eb bf 4c 89 ea 48 89 de 44 89 e7 e8 6d cb 20 00 41 

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-10 22:43     ` Andi Kleen
@ 2015-11-10 23:15       ` Peter Hurley
  2015-11-11 11:14         ` Peter Hurley
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Hurley @ 2015-11-10 23:15 UTC (permalink / raw)
  To: Andi Kleen; +Cc: gregkh, linux-serial, linux-kernel

On 11/10/2015 05:43 PM, Andi Kleen wrote:
> On Tue, Nov 10, 2015 at 11:39:57PM +0100, Andi Kleen wrote:
>>> I've just tried to reproduce this without success on my current
>>> tree which has some additional patches I just posted this am. They weren't
>>> intended to fix crashes but they directly impact the area of concern. Could
>>> you try these three?
>>>
>>> [PATCH v2 2/4] n_tty: Ignore all read data when closing
>>> [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
>>> [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
>>>
>> Applying the three patches fixes the crash. 
>> I haven't tried to figure out which one did the trick.
> 
> Actually I was wrong sorry. It still crashes, but now it doesn't
> hang the system anymore.

Argghh.
Can you run the patch below and send me full dmesg (privately if you prefer)?

Regards,
Peter Hurley

--- >% ---
Subject: [DEBUG PATCH] tty: Turn on core debugging

Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
---
 drivers/tty/pty.c       | 2 +-
 drivers/tty/tty_io.c    | 2 +-
 drivers/tty/tty_ioctl.c | 2 +-
 drivers/tty/tty_ldisc.c | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c
index 8ba5792..21219a3 100644
--- a/drivers/tty/pty.c
+++ b/drivers/tty/pty.c
@@ -25,7 +25,7 @@
 #include <linux/mutex.h>
 #include <linux/poll.h>
 
-#undef TTY_DEBUG_HANGUP
+#define TTY_DEBUG_HANGUP
 #ifdef TTY_DEBUG_HANGUP
 # define tty_debug_hangup(tty, f, args...)	tty_debug(tty, f, ##args)
 #else
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index 2f8c21e..f3bd522 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -105,7 +105,7 @@
 #include <linux/kmod.h>
 #include <linux/nsproxy.h>
 
-#undef TTY_DEBUG_HANGUP
+#define TTY_DEBUG_HANGUP
 #ifdef TTY_DEBUG_HANGUP
 # define tty_debug_hangup(tty, f, args...)	tty_debug(tty, f, ##args)
 #else
diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c
index b8c5c12..7970c94 100644
--- a/drivers/tty/tty_ioctl.c
+++ b/drivers/tty/tty_ioctl.c
@@ -24,7 +24,7 @@
 #include <asm/io.h>
 #include <asm/uaccess.h>
 
-#undef TTY_DEBUG_WAIT_UNTIL_SENT
+#define TTY_DEBUG_WAIT_UNTIL_SENT
 
 #ifdef TTY_DEBUG_WAIT_UNTIL_SENT
 # define tty_debug_wait_until_sent(tty, f, args...)    tty_debug(tty, f, ##args)
diff --git a/drivers/tty/tty_ldisc.c b/drivers/tty/tty_ldisc.c
index ab0f559..760373a 100644
--- a/drivers/tty/tty_ldisc.c
+++ b/drivers/tty/tty_ldisc.c
@@ -19,7 +19,7 @@
 #include <linux/uaccess.h>
 #include <linux/ratelimit.h>
 
-#undef LDISC_DEBUG_HANGUP
+#define LDISC_DEBUG_HANGUP
 
 #ifdef LDISC_DEBUG_HANGUP
 #define tty_ldisc_debug(tty, f, args...)	tty_debug(tty, f, ##args)
-- 
2.6.3

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-10 23:15       ` Peter Hurley
@ 2015-11-11 11:14         ` Peter Hurley
  2015-11-11 16:50           ` Andi Kleen
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Hurley @ 2015-11-11 11:14 UTC (permalink / raw)
  To: Andi Kleen; +Cc: gregkh, linux-serial, linux-kernel

On 11/10/2015 06:15 PM, Peter Hurley wrote:
> On 11/10/2015 05:43 PM, Andi Kleen wrote:
>> On Tue, Nov 10, 2015 at 11:39:57PM +0100, Andi Kleen wrote:
>>>> I've just tried to reproduce this without success on my current
>>>> tree which has some additional patches I just posted this am. They weren't
>>>> intended to fix crashes but they directly impact the area of concern. Could
>>>> you try these three?
>>>>
>>>> [PATCH v2 2/4] n_tty: Ignore all read data when closing
>>>> [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
>>>> [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
>>>>
>>> Applying the three patches fixes the crash. 
>>> I haven't tried to figure out which one did the trick.
>>
>> Actually I was wrong sorry. It still crashes, but now it doesn't
>> hang the system anymore.
> 
> Argghh.
> Can you run the patch below and send me full dmesg (privately if you prefer)?

Nevermind. I see how it's happening now; it's being initiated by hangup,
not close. FWIW, it's been like that nearly forever; your user-space/tool is
triggering this because ECHO is on.

Regards,
Peter Hurley

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-11 11:14         ` Peter Hurley
@ 2015-11-11 16:50           ` Andi Kleen
  2017-06-23 11:23             ` Jiri Slaby
  0 siblings, 1 reply; 8+ messages in thread
From: Andi Kleen @ 2015-11-11 16:50 UTC (permalink / raw)
  To: Peter Hurley; +Cc: Andi Kleen, gregkh, linux-serial, linux-kernel

On Wed, Nov 11, 2015 at 06:14:30AM -0500, Peter Hurley wrote:
> On 11/10/2015 06:15 PM, Peter Hurley wrote:
> > On 11/10/2015 05:43 PM, Andi Kleen wrote:
> >> On Tue, Nov 10, 2015 at 11:39:57PM +0100, Andi Kleen wrote:
> >>>> I've just tried to reproduce this without success on my current
> >>>> tree which has some additional patches I just posted this am. They weren't
> >>>> intended to fix crashes but they directly impact the area of concern. Could
> >>>> you try these three?
> >>>>
> >>>> [PATCH v2 2/4] n_tty: Ignore all read data when closing
> >>>> [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
> >>>> [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
> >>>>
> >>> Applying the three patches fixes the crash. 
> >>> I haven't tried to figure out which one did the trick.
> >>
> >> Actually I was wrong sorry. It still crashes, but now it doesn't
> >> hang the system anymore.
> > 
> > Argghh.
> > Can you run the patch below and send me full dmesg (privately if you prefer)?
> 
> Nevermind. I see how it's happening now; it's being initiated by hangup,
> not close. FWIW, it's been like that nearly forever; your user-space/tool is
> triggering this because ECHO is on.

It's just agetty i believe, but there may be some funkiness going on
with the terminal server or the cable.

Thanks. I'll just add a NULL pointer check for now, until you have
a real patch.

-Andi

-- 
ak@linux.intel.com -- Speaking for myself only.

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

* Re: 4.3 serial driver crashes with console shortly after boot
  2015-11-11 16:50           ` Andi Kleen
@ 2017-06-23 11:23             ` Jiri Slaby
  0 siblings, 0 replies; 8+ messages in thread
From: Jiri Slaby @ 2017-06-23 11:23 UTC (permalink / raw)
  To: Andi Kleen, Peter Hurley; +Cc: gregkh, linux-serial, linux-kernel

On 11/11/2015, 05:50 PM, Andi Kleen wrote:
> On Wed, Nov 11, 2015 at 06:14:30AM -0500, Peter Hurley wrote:
>> On 11/10/2015 06:15 PM, Peter Hurley wrote:
>>> On 11/10/2015 05:43 PM, Andi Kleen wrote:
>>>> On Tue, Nov 10, 2015 at 11:39:57PM +0100, Andi Kleen wrote:
>>>>>> I've just tried to reproduce this without success on my current
>>>>>> tree which has some additional patches I just posted this am. They weren't
>>>>>> intended to fix crashes but they directly impact the area of concern. Could
>>>>>> you try these three?
>>>>>>
>>>>>> [PATCH v2 2/4] n_tty: Ignore all read data when closing
>>>>>> [PATCH v2 3/4] tty: Abstract and encapsulate tty->closing behavior
>>>>>> [PATCH v2 4/4] tty: Remove drivers' extra tty_ldisc_flush()
>>>>>>
>>>>> Applying the three patches fixes the crash. 
>>>>> I haven't tried to figure out which one did the trick.
>>>>
>>>> Actually I was wrong sorry. It still crashes, but now it doesn't
>>>> hang the system anymore.
>>>
>>> Argghh.
>>> Can you run the patch below and send me full dmesg (privately if you prefer)?
>>
>> Nevermind. I see how it's happening now; it's being initiated by hangup,
>> not close. FWIW, it's been like that nearly forever; your user-space/tool is
>> triggering this because ECHO is on.
> 
> It's just agetty i believe, but there may be some funkiness going on
> with the terminal server or the cable.
> 
> Thanks. I'll just add a NULL pointer check for now, until you have
> a real patch.

It looks like 4.4 (-stable) still suffers from this. Has this ever been
fixed somehow?

thanks,
-- 
js
suse labs

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

end of thread, other threads:[~2017-06-23 11:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-10  0:29 4.3 serial driver crashes with console shortly after boot Andi Kleen
2015-11-10  1:52 ` Peter Hurley
2015-11-10 22:39   ` Andi Kleen
2015-11-10 22:43     ` Andi Kleen
2015-11-10 23:15       ` Peter Hurley
2015-11-11 11:14         ` Peter Hurley
2015-11-11 16:50           ` Andi Kleen
2017-06-23 11:23             ` Jiri Slaby

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).