Ubuntu

Unity crashes when started in an environment without utouch support

Reported by Robert Hooker on 2011-09-27
298
This bug affects 61 people
Affects Status Importance Assigned to Milestone
Unity
High
Mirco Müller
unity (Ubuntu)
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

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?

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

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 :

@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.

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:

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

To post a comment you must log in.