Floppy causes processes to hang when trying to access an empty drive
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
facter (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I don't think this is a puppet specific bug, it seems to be a somewhat random occurance when something tries to read information about the device /dev/fd* and there is no disk in the drive.
I uncovered this bug in Ubuntu 20.04 when configuring systems with puppet and it appears when facter is gathering facts about the disks on the system and tries to access the fd0 device which doesn't have a disk in it. It encounters an I/O error, and sometimes it does fine while sometimes it gets stuck indefinitely and the only way to kill it is to reboot the system.
The environment is a VMware VM running the 5.4.0-29 kernel.
Here is a relevant excerpt from kern.log>
May 12 22:39:46 r01blspcy kernel: [53528.108033] INFO: task puppet:26247 blocked for more than 1208 seconds.
May 12 22:39:46 r01blspcy kernel: [53528.108805] Not tainted 5.4.0-29-generic #33-Ubuntu
May 12 22:39:46 r01blspcy kernel: [53528.109452] "echo 0 > /proc/sys/
May 12 22:39:46 r01blspcy kernel: [53528.110115] puppet D 0 26247 677 0x00004000
May 12 22:39:46 r01blspcy kernel: [53528.110118] Call Trace:
May 12 22:39:46 r01blspcy kernel: [53528.110125] __schedule+
May 12 22:39:46 r01blspcy kernel: [53528.110127] ? __switch_
May 12 22:39:46 r01blspcy kernel: [53528.110128] ? __switch_
May 12 22:39:46 r01blspcy kernel: [53528.110129] schedule+0x42/0xb0
May 12 22:39:46 r01blspcy kernel: [53528.110131] schedule_
May 12 22:39:46 r01blspcy kernel: [53528.110132] wait_for_
May 12 22:39:46 r01blspcy kernel: [53528.110135] ? wake_up_q+0x70/0x70
May 12 22:39:46 r01blspcy kernel: [53528.110141] __floppy_
May 12 22:39:46 r01blspcy kernel: [53528.110144] ? floppy_
May 12 22:39:46 r01blspcy kernel: [53528.110146] floppy_
May 12 22:39:46 r01blspcy kernel: [53528.110149] check_disk_
May 12 22:39:46 r01blspcy kernel: [53528.110151] floppy_
May 12 22:39:46 r01blspcy kernel: [53528.110154] ? disk_block_
May 12 22:39:46 r01blspcy kernel: [53528.110156] __blkdev_
May 12 22:39:46 r01blspcy kernel: [53528.110157] blkdev_
May 12 22:39:46 r01blspcy kernel: [53528.110159] ? blkdev_
May 12 22:39:46 r01blspcy kernel: [53528.110160] blkdev_
May 12 22:39:46 r01blspcy kernel: [53528.110163] do_dentry_
May 12 22:39:46 r01blspcy kernel: [53528.110165] vfs_open+0x2d/0x30
May 12 22:39:46 r01blspcy kernel: [53528.110167] do_last+0x194/0x900
May 12 22:39:46 r01blspcy kernel: [53528.110169] path_openat+
May 12 22:39:46 r01blspcy kernel: [53528.110171] do_filp_
May 12 22:39:46 r01blspcy kernel: [53528.110174] ? __alloc_
May 12 22:39:46 r01blspcy kernel: [53528.110175] do_sys_
May 12 22:39:46 r01blspcy kernel: [53528.110176] __x64_sys_
May 12 22:39:46 r01blspcy kernel: [53528.110179] do_syscall_
May 12 22:39:46 r01blspcy kernel: [53528.110181] entry_SYSCALL_
May 12 22:39:46 r01blspcy kernel: [53528.110182] RIP: 0033:0x7fe17fd75d94
May 12 22:39:46 r01blspcy kernel: [53528.110189] Code: Bad RIP value.
May 12 22:39:46 r01blspcy kernel: [53528.110189] RSP: 002b:00007ffe14
May 12 22:39:46 r01blspcy kernel: [53528.110191] RAX: ffffffffffffffda RBX: 0000560dcc7ce330 RCX: 00007fe17fd75d94
May 12 22:39:46 r01blspcy kernel: [53528.110192] RDX: 0000000000080000 RSI: 0000560dcc49e4c0 RDI: 00000000ffffff9c
May 12 22:39:46 r01blspcy kernel: [53528.110192] RBP: 0000560dcc49e4c0 R08: 0000000000000000 R09: 00007fe17fe50b80
May 12 22:39:46 r01blspcy kernel: [53528.110193] R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000080000
May 12 22:39:46 r01blspcy kernel: [53528.110193] R13: 00007fe17e9ad3c4 R14: 00000000debb66e7 R15: 0000000000000000
Puppet loads Facter, which has a "partitions" fact and a "disks" fact, both of which may be worth investigating. I'm moving this to the "facter" package.