Messages in this thread | | | Date | Mon, 2 May 2022 11:19:07 +0200 | Subject | Re: [PATCH printk v5 1/1] printk: extend console_lock for per-console locking | From | Marek Szyprowski <> |
| |
Hi John,
On 30.04.2022 18:00, John Ogness wrote: > On 2022-04-29, Marek Szyprowski <m.szyprowski@samsung.com> wrote: >> The same issue happens if I boot with init=/bin/bash > Very interesting. Since you are seeing all the output up until you try > doing something, I guess receiving UART data is triggering the issue.
Right, this is how it looks like.
>> I found something really interesting. When lockup happens, I'm still >> able to log via ssh and trigger any magic sysrq action via >> /proc/sysrq-trigger. > If you boot the system and directly login via ssh (without sending any > data via serial), can you trigger printk output on the UART? For > example, with: > > echo hello > /dev/kmsg > > (You might need to increase your loglevel to see it.)
Data written to /dev/kmsg and all kernel logs were always displayed correctly. Also data written directly to /dev/ttyAML0 is displayed properly on the console. The latter doesn't however trigger the input related activity.
It looks that the data read from the uart is delivered only if other activity happens on the kernel console. If I type 'reboot' and press enter, nothing happens immediately. If I type 'date >/dev/ttyAML0' via ssh then, I only see the date printed on the console. However if I type 'date >/dev/kmsg', the the date is printed and reboot happens.
>> It turned out that the UART console is somehow blocked, but it >> receives and buffers all the input. For example after issuing "echo >> >/proc/sysrq-trigger" from the ssh console, the UART console has been >> updated and I see the magic sysrq banner and then all the commands I >> blindly typed in the UART console! However this doesn't unblock the >> console. > sysrq falls back to direct printing. This would imply that the kthread > printer is somehow unable to print. > >> Here is the output of 't' magic sys request: >> >> https://protect2.fireeye.com/v1/url?k=8649f24d-e73258c4-86487902-74fe48600034-a2ca6bb18361467d&q=1&e=1bc4226f-a422-42b9-95e8-128845b8609f&u=https%3A%2F%2Fpastebin.com%2FfjbRuy4f > It looks like the call trace for the printing kthread (pr/ttyAML0) is > corrupt.
Right, good catch. For comparison, here is a 't' sysrq result from the 'working' serial console (next-20220429), which happens usually 1 of 4 boots:
https://pastebin.com/mp8zGFbW
> Could you post your kernel config?
https://pastebin.com/GUWGdCHX
Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland
| |