Unity crashes when started in an environment without utouch support

Bug #860707 reported by Robert Hooker on 2011-09-27
This bug affects 61 people
Affects Status Importance Assigned to Milestone
Mirco Müller
unity (Ubuntu)
Mirco Müller

Bug Description

We are staging xserver 1.11 for ubuntu 12.04 in xorg-edgers and don't currently have gesture/multitouch support in X, which means utouch does not work. Compiz segfaults when starting unity 100% of the time in this setup (see bt-full.txt attachment). According to Chase Douglas, geis_init returns NULL like it should because there is no utouch instance, but unity is not checking this situation. The multitouch/gesture stack is specific to Ubuntu for now, meaning this same situation will be hit by anyone else trying to ship unity.

Thread 1 (Thread 0xb6ee2880 (LWP 25437)):
#0 0xb4c1cc32 in geis_configuration_get_value (instance=0x0, configuration_item=10001,
    value=0xbfffec0c) at geis_v1.c:540
#1 0xb50a9cbd in GeisAdapter::Run (this=0xb41377c8)
    at /build/buildd/unity-4.18.0/plugins/unityshell/src/GeisAdapter.cpp:50
        fd = -1
        status = <optimized out>
#2 0xb5178249 in UnityScreen::UnityScreen (this=0x85e6118, screen=0x8161750)
    at /build/buildd/unity-4.18.0/plugins/unityshell/src/unityshell.cpp:295
        ubus = 0x815f450
        name = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xbffff13f "\265\300\375\035\265"}}
        pname = {static npos = <optimized out>,
          _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x15 <Address 0x15 out of bounds>}}
        size = {mWidth = -1218303667, mHeight = 134802068}
        timer = {start_time_ = 81821953408}
        extensions = 0xb5174820 "\203\354\034\211|$\030\213|$ \211\\$\020\350\263\341\356\377\201\303\300\227\006"
        failed = 80
        old_handler = 0x85e6118

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: unity 4.18.0-0ubuntu1
ProcVersionSignature: Ubuntu 3.0.0-12.19-generic-pae 3.0.4
Uname: Linux 3.0.0-12-generic-pae i686

ApportVersion: 1.23-0ubuntu1
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,gnomecompat,grid,compiztoolbox,regex,resize,mousepoll,place,snap,imgpng,move,vpswitch,animation,unitymtgrabhandles,expo,session,wall,workarounds,ezoom,fade,scale,unityshell]
CompositorRunning: compiz
Date: Tue Sep 27 12:05:56 2011
DistUpgraded: Log time: 2011-06-08 20:52:27.365855
DistroCodename: oneiric
DistroVariant: ubuntu
GlAlternative: lrwxrwxrwx 1 root root 24 2011-05-20 20:04 /etc/alternatives/gl_conf -> /usr/lib/mesa/ld.so.conf
 Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0126] (rev 09) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:0493]
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Beta i386 (20110330)
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
 Bus 002 Device 003: ID 0a5c:5800 Broadcom Corp. BCM5880 Secure Applications Processor
MachineType: Dell Inc. Latitude E6420
 PATH=(custom, user)
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic-pae root=UUID=4eac9a69-2bfe-4b4b-b469-5e6f7a89e0f1 ro crashkernel=384M-2G:64M,2G-:128M quiet splash pcie_aspm=force vt.handoff=7
SourcePackage: unity
UpgradeStatus: Upgraded to oneiric on 2011-06-09 (110 days ago)
dmi.bios.date: 02/25/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: X66
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrX66:bd02/25/2011:svnDellInc.:pnLatitudeE6420:pvr01:rvnDellInc.:rn:rvr:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude E6420
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:
version.libdrm2: libdrm2 2.4.26+git20110921.1459cb92-0ubuntu0sarvatt
version.libgl1-mesa-dri: libgl1-mesa-dri 7.12.0~git20110926.44afac04-0ubuntu0sarvatt
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental 7.12.0~git20110926.44afac04-0ubuntu0sarvatt
version.libgl1-mesa-glx: libgl1-mesa-glx 7.12.0~git20110926.44afac04-0ubuntu0sarvatt
version.xserver-xorg: xserver-xorg 1:7.6+7ubuntu7edgers1
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.6.0+git20110912.070f30e0-0ubuntu0sarvatt
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99+git20110922.a6b2bd2d-0ubuntu0sarvatt
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.16.0+git20110926.a5353865-0ubuntu0sarvatt
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110912.169512fb-0ubuntu0sarvatt

Related branches

Sam Spilsbury (community): Approve on 2011-12-23
Robert Hooker (sarvatt) wrote :
Launchpad Janitor (janitor) wrote :

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

Changed in unity (Ubuntu):
status: New → Confirmed
Didier Roche (didrocks) on 2011-09-30
Changed in unity:
status: New → Confirmed
Omer Akram (om26er) on 2011-10-16
Changed in unity (Ubuntu):
importance: Undecided → High
Changed in unity:
importance: Undecided → High
Dmitry Verkhoturov (paskal-07) wrote :

Workaround if you got this bug after installing xorg-edgers ppa into Ubuntu 11.10: before system starts choose recovery mode in grub, then choose to continue normal boot, login into system, and type into terminal:
sudo ppa-purge xorg-edgers
After reboot Unity will work normally.

Robert Hooker (sarvatt) wrote :

It looks like this revision of unity will fix it?


Building test packages to make sure.

Robert Hooker (sarvatt) wrote :

No luck, with that commit backported

Program received signal SIGSEGV, Segmentation fault.
geis_configuration_get_value (instance=0x1e00004706000000, configuration_item=10001, valu$
540 geis_v1.c: No such file or directory.
        in geis_v1.c
#0 geis_configuration_get_value (instance=0x1e00004706000000, configuration_item=10001, $
No locals.
#1 0x00007fffe5f9b626 in GeisAdapter::Run() () from /usr/lib/compiz/libunityshell.so
No symbol table info available.
#2 0x00007fffe5fdc391 in UnityScreen::UnityScreen(CompScreen*) () from /usr/lib/compiz/l$
No symbol table info available.

With that commit backported and utouch-geis 2.2.1-0ubuntu1

#0 0x00007ffff5223913 in select () from /lib/x86_64-linux-gnu/libc$
No symbol table info available.
(note: I control+z'd here to get a backtrace, it was hung)
#1 0x00007fffe44f9a9f in geis_init () from /usr/lib/libutouch-geis.so.1
No symbol table info available.
#2 0x00007fffe5f9dc02 in GeisAdapter::RegisterRootInstance() () from /usr/lib/compiz/lib$
No symbol table info available.
#3 0x00007fffe5f9dd98 in GeisAdapter::GeisAdapter() () from /usr/lib/compiz/libunityshel$
No symbol table info available.
#4 0x00007fffe5f9dee5 in GeisAdapter::Default() () from /usr/lib/compiz/libunityshell.so
No symbol table info available.
#5 0x00007fffe6025e86 in Launcher::Launcher(nux::BaseWindow*, char const*, int) () from $
No symbol table info available.

Rocko (rockorequin) wrote :

Is there nothing further on this? I imagine it will become critical for Precise fairly soon.

Robert Hooker (sarvatt) wrote :

For now I just disabled geis from unity completely with http://sarvatt.com/downloads/patches/byegeis.patch in xorg-edgers, it wont affect precise because we can't upload a newer xserver if it doesn't have these crazy multitouch backport patches because people will blame X and 100+ packages built against the new abi will have to be reverted..

Rocko (rockorequin) wrote :

@Robert: thanks, it all works nicely.

bowser (bwbernard-wong1) wrote :


Thanks for the work around, it now works. I am wondering what happens when there is an upgrade in Unity or Compiz, will the version of Unity in xorg-edgers be upgraded too? I am expecting some upgrades in Unity and Compiz as there are a few outstanding bugs in those packages and not sure will Unity be broken again.


Zaphod (vilppu777) wrote :

not sure if this is related to the multi touch portion being removed or not but when I am using this PPA my touch pad on my ASUS u43F goes crazy. It becomes supper sensitive making it very difficult to click on anything.

Robert Hooker (sarvatt) wrote :

You aren't the first person to mention that with newer synaptics snapshots in there. Can you file a new bug with ubuntu-bug xserver-xorg-input-synaptics about it and possibly also attach a /var/log/Xorg.0.log from a boot without edgers to compare?

Zaphod (vilppu777) wrote :

sure I will do that.

Chase Douglas (chasedouglas) wrote :

Unity commit 1728 doesn't fully fix the issue because _root_instance is not always initialized properly. Ideally, it should be initialized to nullptr in the constructor.

Assigning to Mirco to finish the fix.

Changed in unity:
assignee: nobody → Mirco Müller (macslow)
status: Confirmed → Triaged
Changed in unity (Ubuntu):
status: Confirmed → Triaged
assignee: nobody → Mirco Müller (macslow)
milestone: none → precise-alpha-2
Changed in unity:
status: Triaged → Fix Committed
Omer Akram (om26er) wrote :

setting back to triaged per Chase's comment.

Changed in unity:
milestone: none → 5.4.0
status: Fix Committed → Triaged
Chase Douglas (chasedouglas) wrote :

This has been fully fixed in unity 5.2.0.

Changed in unity:
status: Triaged → Fix Released
Changed in unity (Ubuntu):
status: Triaged → Fix Released
Changed in unity:
milestone: 5.4.0 → 5.2.0
dn (nobled) wrote :

Is the fix going to ever land in oneiric-updates? unity is still at version 4.28.0 there:


To post a comment you must log in.