Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 335037 - x11-base/xorg-server-1.7.7-r1 tigervnc/libvnc.so AllocDevicePair undefined symbol crash
Summary: x11-base/xorg-server-1.7.7-r1 tigervnc/libvnc.so AllocDevicePair undefined sy...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL: http://cgit.freedesktop.org/xorg/xser...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-28 16:10 UTC by Paul Healy
Modified: 2010-09-22 07:10 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
xorg-server-1.7.7-r1_to_r2.patch (xorg-server-1.7.7-r1_to_r2.patch,268 bytes, patch)
2010-08-28 16:12 UTC, Paul Healy
Details | Diff
patch from upstream (export-AllocDevicePair-etc.patch,2.23 KB, patch)
2010-08-28 16:13 UTC, Paul Healy
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Healy 2010-08-28 16:10:37 UTC
When you connect to running X server with a libvnc.so from the current stable tigervnc loaded (net-misc/tigervnc-1.0.1_p20100529), the first mouse movemount cause the X server to crash.

 

Reproducible: Always

Steps to Reproduce:
1.emerge tigervnc with +xorgmodule in USE
2.Load "vnc" and configure it in /etc/X11/xorg.conf
3.Start the X server
4.Connect to it with vncviewer

Actual Results:  
The X server crashes with these messages on the first mouse movement:

VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian rgb888
  /usr/bin/X: symbol lookup error: /usr/lib64/xorg/modules/extensions/libvnc.so: undefined symbol: AllocDevicePair
  kded4: Fatal IO error: client killed
...
  [/usr/bin/nepomukservicestub] nepomukservicestub: Fatal IO error: client killed
  kdeinit4: Fatal IO error: client killed
  kdeinit4: sending SIGHUP to children.
  kdeinit4: sending SIGTERM to children.
  xinit:  connection to X server lost.
  Hangup
  GOT SIGHUP
...
  Could not connect to D-Bus server: org.freedesktop.DBus.Error.Spawn.ExecFailed: /usr/bin/dbus-launch terminated ab
normally with the following error: Autolaunch error: X11 initialization failed.
...
startkde: Shutting down...
kdeinit4: sending SIGTERM to children.
kdeinit4: Exit.


Expected Results:  
It should behave correctly as it did prior to the last xorg-server/tigervnc bump.

There appears to be version skew between xorg-server and tigervnc in portage - see this link for a patch which restores the correct behavior:

"dix: Export AllocDevicePair GetPointerEvents, GetKeyboardEvents and generate_modkeymap functions from Xorg"

http://cgit.freedesktop.org/xorg/xserver/patch/?id=2f29b163bbdebe384c24f781bb97b446959e8f4c

Taking the above patch and creating an updated ebuild with this one line patch is sufficient to correct the problem:

--- xorg-server-1.7.7-r1.ebuild 2010-08-11 23:22:48.000000000 +0100
+++ xorg-server-1.7.7-r2.ebuild 2010-08-28 15:34:51.579465591 +0100
@@ -131,6 +131,7 @@
 
 PATCHES=(
        "${UPSTREAMED_PATCHES[@]}"
+       "${FILESDIR}"/export-AllocDevicePair-etc.patch
        )
 
 pkg_setup() {
Comment 1 Paul Healy 2010-08-28 16:12:42 UTC
Created attachment 245149 [details, diff]
xorg-server-1.7.7-r1_to_r2.patch

one line patch to current stable ebuild
Comment 2 Paul Healy 2010-08-28 16:13:32 UTC
Created attachment 245151 [details, diff]
patch from upstream
Comment 3 Rémi Cardona (RETIRED) gentoo-dev 2010-09-22 07:10:33 UTC
Hum, this changes the server API, I'm not sure it's safe to do this now. 1.9 is fixed however, and that we're targeting for our next stabilization.

I suggest you keep a patched copy of 1.7 for now.

Thanks