needs upgrade in breezy badger: overwrites /sbin/udevsend with /sbin/hotplug in /proc/sys/kernel/hotplug

Bug #21059 reported by Duncan Sands
6
Affects Status Importance Assigned to Milestone
hotplug (Ubuntu)
Invalid
Medium
Scott James Remnant (Canonical)

Bug Description

Breezy badger is currently shipping
hotplug: 0.0.20040329-16ubuntu2-4.10ubp2
udev: 0.060-1ubuntu10

From the udev changelog.Debian.gz:

  * Use udevsend as the hotplug multiplexer and depend on hotplug
    >= 0.0.20040329-17 to be sure that it will not be changed back by
    its init script.

However the shipped hotplug is 0.0.20040329-16. This results in
/sbin/hotplug being written to /proc/sys/kernel/hotplug, overwriting
the value of /sbin/udevsend which /etc/init.d/udev writes there. When
a hotplug event is generated, udevd gets it via netlink and starts
running hotplug scripts; however /sbin/hotplug is also called and runs
the same scripts. Thus two processes end up running hotplug agents at
the same time, leading to all kinds of strange failures. In my case
I saw failures loading firmware from user-space.

/sbin/udevsend should be in /proc/sys/kernel/hotplug, not /sbin/hotplug.
udevsend transmits the hotplug event to udevd, which takes care of only
running hotplug scripts once even if it gets a hotplug event twice, once
via netlink and once via udevsend (it does this using sequence numbers).

/etc/init.d/udev correctly writes /sbin/udevsend to /proc/sys/kernel/hotplug
at system startup. However /etc/init.d/hotplug later wrongly writes
/sbin/hotplug to /proc/sys/kernel/hotplug.

The simplest way of fixing this is presumably to ship a more recent
hotplug.

All the best,

Duncan.

Revision history for this message
Colin Watson (cjwatson) wrote :

(In reply to comment #0)
> Breezy badger is currently shipping
> hotplug: 0.0.20040329-16ubuntu2-4.10ubp2

That's a version from Hoary backports and was never in Breezy. This is the
current state of hotplug in Breezy:

   hotplug | 0.0.20040329-22ubuntu11 | breezy | source, all

Could you please update your system to that and check whether your bug still
applies?

Revision history for this message
Duncan Sands (baldrick-free) wrote :

Hi Colin, you are quite right: it seems that a handful of
packages on my system were old backports that somehow
managed to hang around, not being replaced when I moved to
breezy. In the case of hotplug, the breezy package was not
installed because dpkg considers 0.0.20040329-16ubuntu2-4.10ubp2
to be more recent than 0.0.20040329-22ubuntu11.

I've now upgraded (downgraded as far as dpkg is concerned) all
packages to the breezy versions and everything is fine:
/proc/sys/kernel/hotplug contains udevsend and firmware loading
works correctly.

So please feel free to close this bug.

All the best,

Duncan.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.