Incorrect udev-fallback-graphics.conf

Bug #1367241 reported by Dariusz Gadomski
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Fix Released
Undecided
Dariusz Gadomski
Trusty
Fix Released
Low
Unassigned
Utopic
Fix Released
Undecided
Dariusz Gadomski
udev (Ubuntu)
Invalid
Undecided
Dariusz Gadomski
Precise
Fix Released
Low
Bartosz Kosiorek

Bug Description

[Impact]

 * When setting up primary display driver fails an attempt to load vesafb
   module is undertaken. This fails since from 3.13.0-16.36 version
   vesafb is compiled in the kernel (so no actual modprobing is needed).
   This causes false alert in the log:
   "Starting load fallback graphic devices: [fail]"

[Test Case]

 * Start Ubuntu unable to load primary graphics driver (the simplest way is to remove module responsible for the device).
 * Wait for loading graphics devices.
 * If the primary device module has failed to load, falling back to vesafb will be attempted.

[Regression Potential]

 * Implemented by the bug reported.

 * Affects only the debian/ directory.

[Other Info]

 * Original bug description:

The udev-fallback-graphics.conf script tries to load vesafb module if PRIMARY_DEVICE_FOR_DISPLAY has not been set earlier.

The problem is that from kernel version 3.13.0-16.36 vesafb is compiled in permanently into the kernel (CONFIG_FB_VESA=y), so whenever the fallback mode is triggered this script will FAIL confusing the users.

Most probably this file is no longer needed (or it just be used to print informative message).

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in udev (Ubuntu):
status: New → Confirmed
Changed in udev (Ubuntu):
assignee: nobody → Dariusz Gadomski (dgadomski)
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Adding SRU proposal for Precise.

description: updated
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Adding SRU proposal for Trusty.

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Adding SRU proposal for Utopic.

Changed in systemd (Ubuntu):
assignee: nobody → Dariusz Gadomski (dgadomski)
Revision history for this message
Martin Pitt (pitti) wrote :

Utopic fix committed to git, thanks! I keep this open for trusty, but as it's neither a data loss nor critical bug and just a cosmetical corner case I keep it as low importance.

You say "since 3.13.0-16.36" which is trusty -- i. e. precise's kernel still has it as a module? So it seems to me that this doesn't affect precise at all. But even if it would, if such a cosmetical bug hasn't caused trouble in 2.5 years, it's certainly going to be fine for the other 1.5 years.

Changed in systemd (Ubuntu Utopic):
status: New → Fix Committed
Changed in systemd (Ubuntu Trusty):
status: New → Triaged
importance: Undecided → Low
no longer affects: udev (Ubuntu Utopic)
no longer affects: udev (Ubuntu Trusty)
Changed in udev (Ubuntu):
status: Confirmed → Invalid
Changed in udev (Ubuntu Precise):
status: New → Incomplete
no longer affects: systemd (Ubuntu Precise)
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Thanks Martin for taking a look.

In my precise (12.04.5) install the default kernel is 3.13.0-32-generic, which is affected by the issue:
$ grep FB_VESA /boot/config-3.13.0-32-generic
CONFIG_FB_VESA=y

In fact initially this has been reported by a CTS customer for precise.

Revision history for this message
Martin Pitt (pitti) wrote :

Ah right, that's the backported trusty kernels I figure (12.04.4 or later).

Changed in udev (Ubuntu Precise):
status: Incomplete → Triaged
importance: Undecided → Low
Revision history for this message
Martin Pitt (pitti) wrote :

I'm still not fully convinced about the SRUs -- this might have a potential to break existing setups if they run custom kernels? It's ok to add the expectancy to build in vesafb for a new release (utopic), but not for existing stables?

Or is it impossible to build vesafb as a module now?

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Building vesafb as a module should still be possible.

Trusty had vesafb build in the kernel from the very first release, so I believe the assumption is safe here.

Regarding precise:
Instead of removing the script I could leave it but alter it to check the feature (e.g. kernel version number or the option in /boot/config-`uname-r`) and undertake no actions in the script if we have this module compiled in.

Revision history for this message
Martin Pitt (pitti) wrote :

> Trusty had vesafb build in the kernel from the very first release, so I believe the assumption is safe here.

Well no, one could still run a self-built kernel.

So I think for an SRU it would be safer to not drop the script, but instead do some 2>/dev/null to quiesce the error.

Revision history for this message
Martin Pitt (pitti) wrote :

> do some 2>/dev/null to quiesce the error.

or if that's not possible (because it's the kernel who spits out errors, but that's unlikely), it could also do "if modinfo vesafb >/dev/null 2>&1; then modprobe -q vesafb; fi"

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Actually I think the second approach would be better, since the error comes not from the message (which is redirected to upstart logs anyway), but from the return code of the script.

Unfortunately, according to my knowledge, the upstart scripts are executed with the "-e" switch making it stop with a failure on a first failed call. This ties our hands a bit as we cannot have any failing commands there (even those we expect to fail in a particular configuration) and makes our potential script less flexible.

So in any case we would be interested in not returning anything other than 0. A commonly used work-around for this limitation could be used like this:
modprobe -q -b vesafb || true

This would load the module if available, but would remain quiet (-q switch to modprobe with additional || true) if the module is not there.

Revision history for this message
Martin Pitt (pitti) wrote :

Right, protecting this with "|| true" sounds perfectly fine and safe for an SRU.

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Adding new SRU proposal for Precise.

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

Adding new SRU proposal for Trusty.

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

I have uploaded new patches updated as agreed.

Revision history for this message
Martin Pitt (pitti) wrote :

I sponsored these with changing the changelog to

  * udev-fallback-graphics.conf: Avoid failure if vesafb module is compiled
    in. (LP: #1367241).

as "removed the script" isn't true with those.

Changed in systemd (Ubuntu Trusty):
status: Triaged → In Progress
Changed in udev (Ubuntu Precise):
status: Triaged → In Progress
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello Dariusz, or anyone else affected,

Accepted systemd into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/systemd/204-5ubuntu20.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in systemd (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Dariusz, or anyone else affected,

Accepted udev into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/udev/175-0ubuntu9.7 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in udev (Ubuntu Precise):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 208-8ubuntu4

---------------
systemd (208-8ubuntu4) utopic; urgency=medium

  * debian/tests/boot-and-services: Accept lower-case spelling of "command
    line" in dmesg log. Curiously the case differs between amd64 and i386..
 -- Martin Pitt <email address hidden> Thu, 18 Sep 2014 21:10:42 +0200

Changed in systemd (Ubuntu Utopic):
status: Fix Committed → Fix Released
Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

I have verified this on my machines, although I still wait for a verification from a user.

I will update this issue after getting the confirmation.

Revision history for this message
Sebastien Bacher (seb128) wrote :

seems like the changes got uploaded, unsubscribing sponsors

Revision history for this message
TWC Service (twc-service) wrote :

This resolves our issue, so +1 on the migration from proposed.

Revision history for this message
Mathew Hodson (mhodson) wrote :

TWC Service, which package and version did you test?

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

@TWC Service Thank you for checking this.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote :

Its not clear for which release the verification of this SRU took place, so I'm changing the tag back to verification-needed. Since this is being fixed in two releases the tag verification-done-precise or verification-done-trusty should be added to the bug report.

tags: added: verification-needed
removed: verification-done
Revision history for this message
Andy Whitcroft (apw) wrote :

This script cannot be simply removed, other parts of the boot recovery rely on the events it triggers by existing. Removing this wholesale breaks plymouth-splash.conf in the face of no "primary" displays being detected, and prevents us from loading the display manager of choice.

The fix as applied in the SRUs works correctly. There is a new bug filed for the fallout from this in utopic. Bug #1375805. We will use that one to reinstate it and fix it to match the SRU fix here.

Revision history for this message
Dariusz Gadomski (dgadomski) wrote :

TWC Service verified trusty. Adding correct tag.

tags: added: verification-done-trusty
Mathew Hodson (mhodson)
tags: added: verification-needed-precise
removed: verification-needed
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for systemd has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package systemd - 204-5ubuntu20.7

---------------
systemd (204-5ubuntu20.7) trusty; urgency=medium

  * udev-fallback-graphics.conf: Avoid failure if vesafb module is compiled
    in. (LP: #1367241).
 -- Dariusz Gadomski <email address hidden> Fri, 12 Sep 2014 13:31:52 +0200

Changed in systemd (Ubuntu Trusty):
status: Fix Committed → Fix Released
tags: added: cts
Revision history for this message
Bartosz Kosiorek (gang65) wrote :

Verification done for Precise

Changed in udev (Ubuntu Precise):
assignee: nobody → Bartosz Kosiorek (gang65)
tags: added: verification-done-precise
removed: verification-needed-precise
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package udev - 175-0ubuntu9.7

---------------
udev (175-0ubuntu9.7) precise; urgency=low

  * udev-fallback-graphics.conf: Avoid failure if vesafb module is compiled
    in. (LP: #1367241).
 -- Dariusz Gadomski <email address hidden> Fri, 12 Sep 2014 13:29:08 +0200

Changed in udev (Ubuntu Precise):
status: Fix Committed → Fix Released
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.