[systemd-devel] Weird udev issue: char device replaced by regular file on suspend

Martin Pitt martin.pitt at ubuntu.com
Thu Jun 25 22:14:46 PDT 2015


Hello Johannes,

Johannes Bauer [2015-06-25 21:15 +0200]:
> I'm seeing a very odd issue with udev and I'm not really sure which
> component could/would be responsible -- udev is pretty much my only hope.

Unlikely, I'm afraid.

> Now the odd thing: When I put my computer into suspend-to-RAM, I'm
> seeing something very odd when the thing wakes back up (about 3 in 4
> times this happens, nondeterministically). The character device
> /dev/ttyUSB0 is replaced by a regular file with 0644 permissions which
> is owned by root:root:

This sounds like a script or program that runs for suspend tries to
apply an "atomically update file contents" approach (write data into a
file.new, then mv file.new file) to a /dev node, which would result in
this situation. This is sometimes hidden in some API like
g_file_set_contents().

Can you reproduce this with a direct

  echo mem | sudo tee /sys/power/state

? This will circumvent any suspend etc. hooks that you might have:
pm-utils, /usr/lib/systemd/system-sleep/ hooks, or something an
inhibitor might do. I. e. it could be that NetworkManager sets a
suspend inhibitor, tries to stop modemmanager before suspend and
restart it after, and that might mis-handle /dev/ttyUSB0. (We didn't
get any report about this so far, so I doubt it's actually
modemmanager -- it just illustrates how this could happen in
principle).

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


More information about the systemd-devel mailing list