XMir starts with black screen ("[xmir] Failed to set new display config: ... std::exception::what: Invalid format for used output")

Bug #1277343 reported by Stephen Cradock on 2014-02-07
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Daniel van Vugt
mir (Ubuntu)
xorg-server (Ubuntu)

Bug Description

After the upgrade on Feb 5th my Trusty install failed to boot to desktop. Using Recovery boot I can get a desktop, but the display size/ratio is incorrect - 4:3 ratio instead of 1600x900.

Upgraded all packages on Feb 6th without curing the problem.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: xserver-xorg-video-intel 2:2.99.909-0ubuntu2
ProcVersionSignature: Ubuntu 3.13.0-7.26-generic 3.13.1
Uname: Linux 3.13.0-7-generic x86_64

ApportVersion: 2.13.2-0ubuntu2
Architecture: amd64
CompizPlugins: No value set for `/apps/compiz-1/general/screen0/options/active_plugins'
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
CurrentDesktop: Unity
Date: Thu Feb 6 21:00:27 2014
DistUpgraded: Fresh install
DistroCodename: trusty
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes
 Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])
   Subsystem: Sony Corporation Device [104d:9035]
   Subsystem: Sony Corporation Device [104d:9035]
InstallationDate: Installed on 2012-10-21 (473 days ago)
InstallationMedia: Ubuntu 12.10 "Quantal Quetzal" - Release amd64 (20121017.5)
MachineType: Sony Corporation VGN-FW235J
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.13.0-7-generic root=UUID=24295ee0-c24c-4062-8898-f8e45805d805 ro recovery nomodeset
Renderer: Software
SourcePackage: xserver-xorg-video-intel
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 08/27/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: R1100Y0
dmi.board.asset.tag: N/A
dmi.board.name: VAIO
dmi.board.vendor: Sony Corporation
dmi.board.version: N/A
dmi.chassis.asset.tag: N/A
dmi.chassis.type: 10
dmi.chassis.vendor: Sony Corporation
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrR1100Y0:bd08/27/2009:svnSonyCorporation:pnVGN-FW235J:pvrC600SDMD:rvnSonyCorporation:rnVAIO:rvrN/A:cvnSonyCorporation:ct10:cvrN/A:
dmi.product.name: VGN-FW235J
dmi.product.version: C600SDMD
dmi.sys.vendor: Sony Corporation
version.compiz: compiz 1:0.9.10+13.10.20131011-0ubuntu4
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.52-1
version.libgl1-mesa-dri: libgl1-mesa-dri 10.0.1-1ubuntu2
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 10.0.1-1ubuntu2
version.xserver-xorg-core: xserver-xorg-core 2:1.15.0-1ubuntu3
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.8.2-1ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati N/A
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.909-0ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau N/A
xserver.bootTime: Thu Feb 6 20:17:52 2014
xserver.configfile: default
 open /dev/fb0: No such file or directory
 open /dev/fb0: No such file or directory
 Screen 0 deleted because of no matching config section.
 Screen 0 deleted because of no matching config section.
 AIGLX: reverting to software rendering
xserver.logfile: /var/log/Xorg.0.log

xserver.version: 2:1.15.0-1ubuntu3

Related branches

Alan Griffiths: Approve on 2014-02-18
Alexandros Frantzis: Approve on 2014-02-18
PS Jenkins bot: Approve (continuous-integration) on 2014-02-17
Daniel van Vugt: Abstain on 2014-02-17
Stephen Cradock (s-cradock) wrote :
Chris Wilson (ickle) wrote :

It's a mir issue.

affects: xserver-xorg-video-intel (Ubuntu) → xorg-server (Ubuntu)
Timo Aaltonen (tjaalton) wrote :

upgrade again, mir abi had changed

Changed in xorg-server (Ubuntu):
status: New → Incomplete
Timo Aaltonen (tjaalton) wrote :

hmm no you have the latest versions..

Timo Aaltonen (tjaalton) wrote :

[ 41.737] (EE) [xmir] Failed to set new display config: /build/buildd/mir-0.1.4+14.04.20140204/src/platform/graphics/mesa/real_kms_display_configuration.cpp(130): Throw in function virtual void mir::graphics::mesa::RealKMSDisplayConfiguration::configure_output(mir::graphics::DisplayConfigurationOutputId, bool, mir::geometry::Point, size_t, MirPixelFormat, MirPowerMode, MirOrientation)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >
std::exception::what: Invalid format for used output

Changed in xorg-server (Ubuntu):
status: Incomplete → New
summary: - Trusty boots to incorrect display size/ratio
+ xmir crashes on startup

OK - sounds as if there is a problem - hope it gets fixed soon.

I tried downgrading to the previous versions of xserver-xorg-xmir and xserver-xorg-core (2:1.15.0-1ubuntu2), but no help.

Then I removed ubuntu-desktop-xmir (and xserver-xorg-xmir) and all is well again.

Launchpad Janitor (janitor) wrote :

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

Changed in mir (Ubuntu):
status: New → Confirmed
Changed in xorg-server (Ubuntu):
status: New → Confirmed
Javier P.L. (chilicuil) on 2014-02-09
Changed in xorg-server (Ubuntu):
importance: Undecided → Critical

Renders the system temporarily or permanently unusable.

Changed in mir (Ubuntu):
importance: Undecided → Critical
Changed in mir:
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Daniel van Vugt (vanvugt)
summary: - xmir crashes on startup
+ xmir crashes on startup ("std::exception::what: Invalid format for used
+ output")

Although I didn't write it, this exception is in a region of code I am actively refactoring. And the placement of this validity check is something I was going to have to modify as part of that.

Daniel van Vugt (vanvugt) wrote :

Unfortunately bug 1237332 prevents us from finding the root cause of the crash.

Daniel van Vugt (vanvugt) wrote :

Yeah, I'm not convinced the validation check is useful or even correct. But I will have to review it in detail soon.

Daniel van Vugt (vanvugt) wrote :

The offending validation check has been removed, moved and changed in this proposal:

Unfortunately, without details of what the invalid format being used was, I can't tell if the issue is fixed or could simply reoccur in a new location.

Stephen Cradock (s-cradock) wrote :

After updating to xserver-xorg-xmir 2:1.15.0-1ubuntu6 on Feb 13th the system reboots without problems. A whole set of mir packages went through at the same time; don't know if Daniel's fix was included, but something fixed my problem at least.

Thanks for the quick solution.

Daniel van Vugt (vanvugt) wrote :

No the proposal in comment #14 has not landed in any release yet.

Changed in mir:
assignee: Daniel van Vugt (vanvugt) → nobody
status: Confirmed → Incomplete
Changed in mir (Ubuntu):
status: Confirmed → Incomplete
Changed in xorg-server (Ubuntu):
status: Confirmed → Incomplete
Changed in mir:
status: Incomplete → Confirmed
importance: Critical → High
Changed in mir (Ubuntu):
status: Incomplete → Confirmed
importance: Critical → High
Changed in xorg-server (Ubuntu):
status: Incomplete → Confirmed
importance: Critical → High
Rick Harris (rickfharris) wrote :

Big thanks, applying the preview.diff from lp:~vanvugt/mir/eliminate-configure-output fixes the crash for me :)

Rick Harris (rickfharris) wrote :

Only problem the elimination presents now is that unity-system-compositor will fail to build when it doesn't see 'configure_output'.

unity-system-compositor-0.0.2+14.04.20140212.1/src/dbus_screen.cpp:66:28: error: 'class mir::graphics::DisplayConfiguration' has no member named 'configure_output'
src/CMakeFiles/unity-system-compositor.dir/build.make:97: recipe for target 'src/CMakeFiles/unity-system-compositor.dir/dbus_screen.cpp.o' failed
make[2]: *** [src/CMakeFiles/unity-system-compositor.dir/dbus_screen.cpp.o] Error 1

Daniel van Vugt (vanvugt) wrote :

Thanks. When/if that branch lands in Mir, I'll be sure to fix unity-system-compositor et al.

Changed in mir:
status: Confirmed → Triaged
Changed in mir (Ubuntu):
status: Confirmed → Triaged
Changed in xorg-server (Ubuntu):
status: Confirmed → Triaged
Changed in xmir:
status: New → Triaged
importance: Undecided → High
summary: - xmir crashes on startup ("std::exception::what: Invalid format for used
- output")
+ XMir starts with black screen ("std::exception::what: Invalid format for
+ used output")
summary: - XMir starts with black screen ("std::exception::what: Invalid format for
- used output")
+ XMir starts with black screen ("[xmir] Failed to set new display config:
+ ... std::exception::what: Invalid format for used output")
Changed in mir:
assignee: nobody → Daniel van Vugt (vanvugt)
status: Triaged → In Progress
milestone: none → 0.1.6
Daniel van Vugt (vanvugt) wrote :

OK, I just realized "eliminate-configure-output" doesn't fix the bug. The branch itself has a bug which prevents this bug from manifesting (which it still should).

Changed in xmir:
status: Triaged → Invalid
Changed in xorg-server (Ubuntu):
status: Triaged → Invalid
Edwin Pujols (edwinpm5) wrote :

Tried u-s-c (with ubuntu-desktop-mir). At first I got a blank screen, but after running `sudo restart lightdm` I was able to log into Unity. The fonts looks a a bit weird and some apps (Firefox, VLC, file selector) are not themed. Otherwise, usable... Nonetheless, when I removed these packages with `remove --auto-remove` and rebooting, lightdm wouldn't start (and I was presented with the "Low graphics" dialog). So for now I'll have to use XMir.

Edwin Pujols (edwinpm5) wrote :

After starting `gnome-settings-daemon` manually, Firefox (and the other apps) have recovered their theme. The fonts still look funny, though.

Edwin Pujols (edwinpm5) wrote :

Just did a dist-upgrad (maybe the last one got interrupted, or this is a new update), and the fonts look good again and gnome-settings-daemon started fine (no theming issue). The blank screen persists, and I still need to restart lightdm as a workaround.

Daniel van Vugt (vanvugt) wrote :

Edwin - That's an X bug. Mir and unity-system-compositor only deal the the screen as a whole. Not the pixels/fonts etc. Please log the bug elsewhere.

PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

A fix is ready for Mir 0.1.6. Maybe we can try to get it into Ubuntu before 0.1.6 even...

kevin gunn (kgunn72) on 2014-02-20
tags: added: xmir
Changed in mir (Ubuntu):
status: Triaged → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Not Fix Committed to Ubuntu just yet...

Changed in mir (Ubuntu):
status: Fix Committed → Triaged
Changed in mir:
status: Fix Committed → Fix Released
Rick Harris (rickfharris) wrote :

Thanks again Daniel.
http://bazaar.launchpad.net/~mir-team/mir/development-branch/revision/1405 fixes nicely, look forward to 0.1.6.

Joseph Wakeling (webdrake) wrote :

Is there an ETA for when this will land in Trusty ... ?

Daniel van Vugt (vanvugt) wrote :

We're trying to land Mir 0.1.6 in trusty right now. There's no predicting how long that can take. Sometimes a couple of hours, sometimes a week. Keep an eye out: https://launchpad.net/ubuntu/+source/mir

Launchpad Janitor (janitor) wrote :
Download full text (3.9 KiB)

This bug was fixed in the package mir - 0.1.6+14.04.20140310-0ubuntu1

mir (0.1.6+14.04.20140310-0ubuntu1) trusty; urgency=medium

  [ Kevin Gunn ]
  * Cherry-picked from future release 0.1.7:
    - Enhancement: options: Make it easier to customize DefaultConfiguration
    - Bug fix: Don't pass a parameter to bash's popd command. It doesn't expect
      one and will return an error from cross-compile-chroot.sh. (LP: #1287600)
  * New upstream release 0.1.6 (https://launchpad.net/mir/+milestone/0.1.6)
    - mirserver ABI bumped to 16.
    - Server API changes:
      . Report classes have moved to new namespaces/components. Please
        consult the server headers.
      . General clean-ups and virtual function changes affecting the ABI
        (a rebuild is required for all shells).
    - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
    - Add new feature: Screen recording ("screencasting") as demonstrated by
      the new mir-util "mirscreencast".
    - debian: Provide platform packages managed with dpkg alternatives.
    - Add new valgrind suppressions (mostly for armhf right now)
    - tools: Add new libmirclientplatform.so to install_on_android.sh.
    - Add "mir_demo_standalone_render_overlays", which is a free-standing
      example of overlay support.
    - Proper DisplayConfiguration for the AndroidDisplay to be better
      prepared for multi-monitor Android.
    - Commenced/continued simplifying the surface class hierarchy: BasicSurface
      has now absorbed SurfaceData.
    - Dynamically load the client platform library.
    - Bugs fixed:
      . Exceptions thrown from within compositing threads were untraceable,
        resulting in a bunch of undebuggable crash reports (LP: #1237332)
      . Ensure we close drm device file descriptors on exec. (LP: #1284081)
      . nested render_surfaces fails on N4 [std::exception::what: Failed to
        compile vertex shader:] (LP: #1284597)
      . examples: correct "fullscreen-surfaces" option. (LP: #1284554)
      . Fix mutex data race reported by helgrind in integration test:
        SwapperSwappingStress (LP: #1282886)
      . scene: Return null snapshots for sessions without surfaces
        (LP: #1281728)
      . tests: Address some raciness in
        (LP: #1283085)
      . tests: Suppress spurious memory errors occuring when running the
        unit tests on armhf with valgrind. (LP: #1279438)
      . Mir shows an old frame on client startup (for Mesa GL clients)
        (LP: #1281938)
      . tests: Add expectation to validate second SessionAuthorizer method
        is called wit correct parameter. (LP: #1218436)
      . Set field "current_format" when sending a display config to the
        server. (LP: #1277343)
      . Fix crash in android devices by working around a subtle threading
        bug, use a dummy thead_local array to push the gl/egl context TLS
        into a region where the future wait code does not overwrite it.
        (LP: #1280086)
      . compositor: calling SwitchingBundle::force_requests_to_complete()
        can be a no-op when there are no requests. (LP...


Changed in mir (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers