Public bug reported:
When plugging in a USB device on Ubuntu 18.04 that offers a virtual
modem/com port (typically /dev/ttyACM0) then the "modemmanager" service
will try to configure this modem/serial port automatically without user
interaction, setting dtr/rts parameters.
However sometimes USB modem devices are used as a generic serial
interface to hardware internals, without an actual serial line
connected. Setting dtr/rts makes no sense in this context, and this
feature might be unsupported.
This, however, triggers a faulty code path in the linux kernel that on
device disconnect causes a kworker process to freeze - blocking the CPU
core it is running on indefinitely.
This in turn has catastrophic effects on system stability. Some IO
calls, that run on other cores, will work without problem, while those
scheduled on the same core will never execute.
Although no "OOPS" or "PANIC" is generated, the situation is dire, as
the system typically can not be shutdown or rebooted, and during tests I
ended up with file system corruption in a few cases that could not be
fixed by a simple journal recovery
To trigger this bug, several side-conditions need to be met:
1. A USB device needs to be plugged in that provides a virtual com port
2. The device must not support setting of DTR/RTS parameters
3. A program must try to set these via ioctls
4. The device must then be disconnected
--> Kernel freeze
On Ubuntu "3." is always guaranteed, if modemmanager is installed and
the service is running
Please contact me if you need additional information about how to
reproduce this.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-4.15.0-124-generic 4.15.0-124.127
ProcVersionSignature: Ubuntu 4.15.0-124.127-generic 4.15.18
Uname: Linux 4.15.0-124-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.20
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: raven 2039 F.... pulseaudio
CurrentDesktop: XFCE
Date: Thu Nov 26 20:30:58 2020
EcryptfsInUse: Yes
HibernationDevice:
#RESUME=UUID=de4646dc-eb1a-4530-b6bc-df659b641728
RESUME=none
InstallationDate: Installed on 2017-04-28 (1308 days ago)
InstallationMedia: Ubuntu 16.04.2 LTS "Xenial Xerus" - Release amd64
(20170215.2)
MachineType: FUJITSU LIFEBOOK E736
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.15.0-124-generic
root=/dev/mapper/ubuntu--vg-root ro "acpi_osi=!Windows 2012"
RelatedPackageVersions:
linux-restricted-modules-4.15.0-124-generic N/A
linux-backports-modules-4.15.0-124-generic N/A
linux-firmware 1.173.19
SourcePackage: linux
UpgradeStatus: Upgraded to bionic on 2019-06-28 (517 days ago)
dmi.bios.date: 12/20/2016
dmi.bios.vendor: FUJITSU // Insyde Software Corp.
dmi.bios.version: Version 1.22
dmi.board.name: FJNB293
dmi.board.vendor: FUJITSU
dmi.board.version: M4
dmi.chassis.type: 10
dmi.chassis.vendor: FUJITSU
dmi.chassis.version: LIFEBOOK E736
dmi.modalias:
dmi:bvnFUJITSU//InsydeSoftwareCorp.:bvrVersion1.22:bd12/20/2016:svnFUJITSU:pnLIFEBOOKE736:pvr10601115935:rvnFUJITSU:rnFJNB293:rvrM4:cvnFUJITSU:ct10:cvrLIFEBOOKE736:
dmi.product.family: LIFEBOOK-FTS
dmi.product.name: LIFEBOOK E736
dmi.product.version: 10601115935
dmi.sys.vendor: FUJITSU
** Affects: linux (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug bionic
** Attachment added: "Kernel dmesg log of the freeze"
https://bugs.launchpad.net/bugs/1905782/+attachment/5438421/+files/dmesg.log
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1905782
Title:
kernel freeze on USB disconnect after failure to set rts/dts on USB
VCP device
Status in linux package in Ubuntu:
New
Bug description:
When plugging in a USB device on Ubuntu 18.04 that offers a virtual
modem/com port (typically /dev/ttyACM0) then the "modemmanager"
service will try to configure this modem/serial port automatically
without user interaction, setting dtr/rts parameters.
However sometimes USB modem devices are used as a generic serial
interface to hardware internals, without an actual serial line
connected. Setting dtr/rts makes no sense in this context, and this
feature might be unsupported.
This, however, triggers a faulty code path in the linux kernel that on
device disconnect causes a kworker process to freeze - blocking the
CPU core it is running on indefinitely.
This in turn has catastrophic effects on system stability. Some IO
calls, that run on other cores, will work without problem, while those
scheduled on the same core will never execute.
Although no "OOPS" or "PANIC" is generated, the situation is dire, as
the system typically can not be shutdown or rebooted, and during tests
I ended up with file system corruption in a few cases that could not
be fixed by a simple journal recovery
To trigger this bug, several side-conditions need to be met:
1. A USB device needs to be plugged in that provides a virtual com port
2. The device must not support setting of DTR/RTS parameters
3. A program must try to set these via ioctls
4. The device must then be disconnected
--> Kernel freeze
On Ubuntu "3." is always guaranteed, if modemmanager is installed and
the service is running
Please contact me if you need additional information about how to
reproduce this.
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-4.15.0-124-generic 4.15.0-124.127
ProcVersionSignature: Ubuntu 4.15.0-124.127-generic 4.15.18
Uname: Linux 4.15.0-124-generic x86_64
ApportVersion: 2.20.9-0ubuntu7.20
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/controlC0: raven 2039 F.... pulseaudio
CurrentDesktop: XFCE
Date: Thu Nov 26 20:30:58 2020
EcryptfsInUse: Yes
HibernationDevice:
#RESUME=UUID=de4646dc-eb1a-4530-b6bc-df659b641728
RESUME=none
InstallationDate: Installed on 2017-04-28 (1308 days ago)
InstallationMedia: Ubuntu 16.04.2 LTS "Xenial Xerus" - Release amd64
(20170215.2)
MachineType: FUJITSU LIFEBOOK E736
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-4.15.0-124-generic
root=/dev/mapper/ubuntu--vg-root ro "acpi_osi=!Windows 2012"
RelatedPackageVersions:
linux-restricted-modules-4.15.0-124-generic N/A
linux-backports-modules-4.15.0-124-generic N/A
linux-firmware 1.173.19
SourcePackage: linux
UpgradeStatus: Upgraded to bionic on 2019-06-28 (517 days ago)
dmi.bios.date: 12/20/2016
dmi.bios.vendor: FUJITSU // Insyde Software Corp.
dmi.bios.version: Version 1.22
dmi.board.name: FJNB293
dmi.board.vendor: FUJITSU
dmi.board.version: M4
dmi.chassis.type: 10
dmi.chassis.vendor: FUJITSU
dmi.chassis.version: LIFEBOOK E736
dmi.modalias:
dmi:bvnFUJITSU//InsydeSoftwareCorp.:bvrVersion1.22:bd12/20/2016:svnFUJITSU:pnLIFEBOOKE736:pvr10601115935:rvnFUJITSU:rnFJNB293:rvrM4:cvnFUJITSU:ct10:cvrLIFEBOOKE736:
dmi.product.family: LIFEBOOK-FTS
dmi.product.name: LIFEBOOK E736
dmi.product.version: 10601115935
dmi.sys.vendor: FUJITSU
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1905782/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp