Unity crashes when started in an environment without utouch support

Bug #860707 reported by Robert Hooker
298
This bug affects 61 people
Affects Status Importance Assigned to Milestone
Unity
Fix Released
High
Mirco Müller
unity (Ubuntu)
Fix Released
High
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
        status = GEIS_STATUS_NOT_SUPPORTED
#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
.tmp.unity.support.test.0:

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
GraphicsCard:
 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)
Lsusb:
 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
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
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:0.9.5.94+bzr20110919-0ubuntu1
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

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

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

Changed in unity (Ubuntu):
status: New → Confirmed
Changed in unity:
status: New → Confirmed
Omer Akram (om26er)
Changed in unity (Ubuntu):
importance: Undecided → High
Changed in unity:
importance: Undecided → High
Revision history for this message
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.

Revision history for this message
Robert Hooker (sarvatt) wrote :

It looks like this revision of unity will fix it?

http://bazaar.launchpad.net/~unity-team/unity/trunk/revision/1728#plugins/unityshell/src/GeisAdapter.cpp

Building test packages to make sure.

Revision history for this message
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.

Revision history for this message
Rocko (rockorequin) wrote :

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

Revision history for this message
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..

Revision history for this message
Rocko (rockorequin) wrote :

@Robert: thanks, it all works nicely.

Revision history for this message
bowser (bwbernard-wong1) wrote :

@Robert

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.

Thanks.

Revision history for this message
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.

Revision history for this message
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?

Revision history for this message
Zaphod (vilppu777) wrote :

sure I will do that.

Revision history for this message
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
Revision history for this message
Omer Akram (om26er) wrote :

setting back to triaged per Chase's comment.

Changed in unity:
milestone: none → 5.4.0
status: Fix Committed → Triaged
Revision history for this message
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
Revision history for this message
dn (nobled) wrote :

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

http://packages.ubuntu.com/oneiric-updates/unity

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

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