Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 268021 - gnome-extra/gnome-power-manager-2.26.1 crashes with xrandr 1.3
Summary: gnome-extra/gnome-power-manager-2.26.1 crashes with xrandr 1.3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords: Inclusion
Depends on:
Blocks:
 
Reported: 2009-04-30 18:12 UTC by Daniel Gryniewicz (RETIRED)
Modified: 2009-05-30 15:33 UTC (History)
7 users (show)

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


Attachments
gpm-xrandr-13-runtime-detection.patch (gpm-xrandr-13-runtime-detection.patch,5.74 KB, patch)
2009-05-11 09:11 UTC, Priit Laes (IRC: plaes)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Gryniewicz (RETIRED) gentoo-dev 2009-04-30 18:12:49 UTC
Breakpoint 1, gdk_x_error (display=0x97d0000, error=0xffefdd3c) at gdkmain-x11.c:613
(gdb) bt
#0  gdk_x_error (display=0x97d0000, error=0xffefdd3c) at gdkmain-x11.c:613
#1  0xf794165f in _XError (dpy=0x97d0000, rep=0xffefde70) at XlibInt.c:2912
#2  0xf79432da in _XReply (dpy=0x97d0000, rep=0xffefde70, extra=0, discard=0) at XlibInt.c:1838
#3  0xf7e60d2b in doGetScreenResources (dpy=0x97d0000, window=123, poll=0) at XrrScreen.c:86
#4  0x0805baff in gpm_brightness_xrandr_update_cache (brightness=0x980ca30) at gpm-brightness-xrandr.
c:621
#5  0x0805bd8d in gpm_brightness_xrandr_init (brightness=0x980ca30) at gpm-brightness-xrandr.c:711
#6  0xf78d3705 in IA__g_type_create_instance (type=159480856) at gtype.c:1674
#7  0xf78b7666 in g_object_constructor (type=159480856, n_construct_properties=0, construct_params=0x
0) at gobject.c:1338
#8  0xf78b7eac in IA__g_object_newv (object_type=159480856, n_parameters=0, parameters=0x0) at gobjec
t.c:1215
#9  0xf78b8a6e in IA__g_object_new_valist (object_type=159480856, first_property_name=0x0, var_args=0
xffefe2a8 "\214?\216") at gobject.c:1278
#10 0xf78b8bde in IA__g_object_new (object_type=159480856, first_property_name=0x0) at gobject.c:1060
#11 0x0805a89c in gpm_brightness_xrandr_new () at gpm-brightness-xrandr.c:723
#12 0x08059658 in gpm_brightness_init (brightness=0x980ca00) at gpm-brightness.c:398
#13 0xf78d3705 in IA__g_type_create_instance (type=159481136) at gtype.c:1674
#14 0xf78b7666 in g_object_constructor (type=159481136, n_construct_properties=0, construct_params=0x
#15 0xf78b7eac in IA__g_object_newv (object_type=159481136, n_parameters=0, parameters=0x0) at gobjec
t.c:1215
#16 0xf78b8a6e in IA__g_object_new_valist (object_type=159481136, first_property_name=0x0, var_args=0
xffefe658 "\230?M\005\b \200\ty\a\bP\005\b\020t\201\t") at gobject.c:1278
#17 0xf78b8bde in IA__g_object_new (object_type=159481136, first_property_name=0x0) at gobject.c:1060
#18 0x08058d95 in gpm_brightness_new () at gpm-brightness.c:421
#19 0x08054d3f in gpm_backlight_init (backlight=0x9817410) at gpm-backlight.c:738
#20 0xf78d3705 in IA__g_type_create_instance (type=159468296) at gtype.c:1674
#21 0xf78b7666 in g_object_constructor (type=159468296, n_construct_properties=0, construct_params=0x
0) at gobject.c:1338
#22 0xf78b7eac in IA__g_object_newv (object_type=159468296, n_parameters=0, parameters=0x0) at gobjec
t.c:1215
#23 0xf78b8a6e in IA__g_object_new_valist (object_type=159468296, first_property_name=0x0, var_args=0
xffefea08 "H\221\005\b8{\t\220\a\b\030\006\b8}\t") at gobject.c:1278
#24 0xf78b8bde in IA__g_object_new (object_type=159468296, first_property_name=0x0) at gobject.c:1060
#25 0x080540ab in gpm_backlight_new () at gpm-backlight.c:822
#26 0x0805f991 in gpm_manager_init (manager=0x97dad38) at gpm-manager.c:1626
#27 0xf78d3705 in IA__g_type_create_instance (type=159410248) at gtype.c:1674
#28 0xf78b7666 in g_object_constructor (type=159410248, n_construct_properties=0, construct_params=0x
0) at gobject.c:1338
#29 0xf78b7eac in IA__g_object_newv (object_type=159410248, n_parameters=0, parameters=0x0) at gobjec
t.c:1215
#30 0xf78b8a6e in IA__g_object_new_valist (object_type=159410248, first_property_name=0x0, var_args=0
xffefedb8 "Xc\200\t\030\v\200\t?\005\b\030\v\200\t)w\a\b") at gobject.c:1278
#31 0xf78b8bde in IA__g_object_new (object_type=159410248, first_property_name=0x0) at gobject.c:1060
#32 0x0805ebcc in gpm_manager_new () at gpm-manager.c:1756
#33 0x0805e33f in main (argc=159406784, argv=0x1) at gpm-main.c:247
Comment 1 Daniel Gryniewicz (RETIRED) gentoo-dev 2009-04-30 18:38:31 UTC
Back to 1.2.3, and it's working again.

Note: this was *built* against 1.3.0.  I had to rebuild against 1.2.3 to get it running again.  I have no idea if it would work running with 1.3.0 but built against 1.2.3
Comment 2 Rémi Cardona (RETIRED) gentoo-dev 2009-05-01 18:02:56 UTC
/me wonders if gtk needs to be rebuilt when updating to xrandr 1.3.0...
Comment 3 Alexandre Rostovtsev (RETIRED) gentoo-dev 2009-05-05 01:28:09 UTC
(In reply to comment #2)
> /me wonders if gtk needs to be rebuilt when updating to xrandr 1.3.0...

No, rebuilding gtk+-2.16.1 with xrandr-1.3.0 does not fix the crash.
Comment 4 Disaster 2009-05-05 08:20:39 UTC
I'm unable to recompile gnome-power-manager with xrand-1.2.3 :
emerge =x11-libs/libXrandr-1.2.3 =x11-apps/xrandr-1.2.3 (OK)

emerge gnome-power-manager (2.26.1 from gnome overlay):

libtool: link: x86_64-pc-linux-gnu-gcc -march=core2 -O2 -pipe -msse4.1 -Wl,-O1 -o gnome-power-manager gnome_power_manager-egg-debug.o gnome_power_manager-egg-gconf.o gnome_power_manager-egg-dbus-monitor.o gnome_power_manager-egg-dbus-proxy.o gnome_power_manager-egg-precision.o gnome_power_manager-egg-discrete.o gnome_power_manager-egg-console-kit.o gnome_power_manager-egg-idletime.o gnome_power_manager-gpm-dpms.o gnome_power_manager-gpm-notify.o gnome_power_manager-gpm-phone.o gnome_power_manager-gpm-cpufreq.o gnome_power_manager-gpm-backlight.o gnome_power_manager-gpm-prefs-server.o gnome_power_manager-gpm-idle.o gnome_power_manager-gpm-load.o gnome_power_manager-gpm-control.o gnome_power_manager-gpm-refcount.o gnome_power_manager-gpm-button.o gnome_power_manager-gpm-brightness.o gnome_power_manager-gpm-brightness-hal.o gnome_power_manager-gpm-brightness-xrandr.o gnome_power_manager-gpm-brightness-kbd.o gnome_power_manager-gpm-light-sensor.o gnome_power_manager-gpm-main.o gnome_power_manager-gpm-manager.o gnome_power_manager-gpm-ac-adapter.o gnome_power_manager-gpm-tray-icon.o gnome_power_manager-gpm-marshal.o gnome_power_manager-gpm-common.o gnome_power_manager-gpm-screensaver.o gnome_power_manager-gpm-session.o gnome_power_manager-gpm-networkmanager.o gnome_power_manager-gpm-inhibit.o gnome_power_manager-gpm-feedback-widget.o gnome_power_manager-gpm-engine.o gnome_power_manager-gpm-devicekit.o -pthread -pthread  /usr/lib64/libwnck-1.so /usr/lib64/libstartup-notification-1.so /usr/lib64/libxcb-aux.so /usr/lib64/libxcb-event.so /usr/lib64/libxcb-atom.so /usr/lib64/libxcb.so /usr/lib64/libXRes.so /usr/lib64/libgnome-keyring.so /usr/lib64/libpanel-applet-2.so /usr/lib64/libglade-2.0.so /usr/lib64/libbonoboui-2.so /usr/lib64/libSM.so -luuid /usr/lib64/libICE.so /usr/lib64/libgnomecanvas-2.so /usr/lib64/libgailutil.so /usr/lib64/libXi.so /usr/lib64/libXcursor.so /usr/lib64/libXcomposite.so /usr/lib64/libXdamage.so /usr/lib64/libXfixes.so /usr/lib64/libgnome-2.so /usr/lib64/libgnomevfs-2.so /usr/lib64/libxml2.so -lssl -lcrypto /usr/lib64/libavahi-glib.so /usr/lib64/libavahi-client.so /usr/lib64/libavahi-common.so -lutil /usr/lib64/libgconf-2.so /usr/lib64/libpopt.so /usr/lib64/libart_lgpl_2.so /usr/lib64/libbonobo-2.so /usr/lib64/libbonobo-activation.so /usr/lib64/libORBitCosNaming-2.so /usr/lib64/libORBit-2.so /usr/lib64/libhal.so /usr/lib64/libpolkit-grant.so /usr/lib64/libpolkit-dbus.so /usr/lib64/libpolkit.so /usr/lib64/libXrandr.so /usr/lib64/libcanberra-gtk.so /usr/lib64/libcanberra.so /usr/lib64/libvorbisfile.so /usr/lib64/libvorbis.so /usr/lib64/libogg.so /usr/lib64/libltdl.so /usr/lib64/libnotify.so /usr/lib64/libgtk-x11-2.0.so /usr/lib64/libgdk-x11-2.0.so /usr/lib64/libatk-1.0.so /usr/lib64/libgdk_pixbuf-2.0.so /usr/lib64/libgio-2.0.so /usr/lib64/libpangocairo-1.0.so /usr/lib64/libpangoft2-1.0.so /usr/lib64/libcairo.so /usr/lib64/libpixman-1.so /usr/lib64/libpng12.so /usr/lib64/libXrender.so /usr/lib64/libpango-1.0.so -lm /usr/lib64/libfontconfig.so /usr/lib64/libfreetype.so -lz /usr/lib64/libexpat.so /usr/lib64/libgmodule-2.0.so -lresolv /usr/lib64/libXext.so /usr/lib64/libX11.so /usr/lib64/libXau.so /usr/lib64/libXdmcp.so -ldl ../libhal-glib/.libs/libhal.a ../libdevkit-power/.libs/libdevkit-power.a /usr/lib64/libdbus-glib-1.so /usr/lib64/libgobject-2.0.so /usr/lib64/libdbus-1.so /usr/lib64/libgthread-2.0.so -lpthread -lrt /usr/lib64/libglib-2.0.so -pthread
gnome_power_manager-gpm-brightness-xrandr.o: In function `gpm_brightness_xrandr_update_cache':
/var/tmp/portage/gnome-extra/gnome-power-manager-2.26.1/work/gnome-power-manager-2.26.1/src/gpm-brightness-xrandr.c:621: undefined reference to `XRRGetScreenResourcesCurrent'
collect2: ld returned 1 exit status

what am I missing?

shouldn't this bug block the 2.26 tracker - 263083 ?
Comment 5 Disaster 2009-05-05 09:33:27 UTC
Found the problem: 

emerge =x11-proto/randrproto-1.2.2

sorry for the spam, I thought that xrand and Xrandlibs would have been enough
Comment 6 Priit Laes (IRC: plaes) 2009-05-10 10:14:24 UTC
I ran into a different problem - when gnome-power-manager is compiled against libXrandr-1.3.0, it fails to start:

#0  gdk_x_error (display=0xae4c00, error=0x7fffb3d0e630) at gdkmain-x11.c:613
#1  0x00007f1b2f1ff09c in _XError (dpy=0xae4c00, rep=0xb67bd0) at XlibInt.c:2912
#2  0x00007f1b2f206f98 in _XReply (dpy=0xae4c00, rep=0x7fffb3d0e724, extra=0, discard=0) at xcb_io.c:419
#3  0x00007f1b3080d45d in doGetScreenResources (dpy=0xae4c00, window=138, poll=0) at XrrScreen.c:86
#4  0x0000000000413ccb in gpm_brightness_xrandr_update_cache (brightness=0xb62e80) at gpm-brightness-xrandr.c:621
#5  0x0000000000413ebe in gpm_brightness_xrandr_init (brightness=0xb62e80) at gpm-brightness-xrandr.c:711
#6  0x00007f1b2ed7ece5 in IA__g_type_create_instance (type=<value optimized out>) at gtype.c:1674
#7  0x00007f1b2ed635eb in g_object_constructor (type=11422720, n_construct_properties=3016812080, construct_params=0xb7) at gobject.c:1338
#8  0x00007f1b2ed63c32 in IA__g_object_newv (object_type=11946496, n_parameters=<value optimized out>, parameters=0x0) at gobject.c:1215
#9  0x00007f1b2ed64757 in IA__g_object_new_valist (object_type=11946496, first_property_name=0x0, var_args=0x7fffb3d0ec90) at gobject.c:1278
#10 0x00007f1b2ed6489c in IA__g_object_new (object_type=11946496, first_property_name=0x0) at gobject.c:1060
#11 0x0000000000412b02 in gpm_brightness_xrandr_new () at gpm-brightness-xrandr.c:723
#12 0x0000000000411b07 in gpm_brightness_init (brightness=0xb62e30) at gpm-brightness.c:398
#13 0x00007f1b2ed7ece5 in IA__g_type_create_instance (type=<value optimized out>) at gtype.c:1674
#14 0x00007f1b2ed635eb in g_object_constructor (type=11422720, n_construct_properties=3016812080, construct_params=0xb7) at gobject.c:1338
#15 0x00007f1b2ed63c32 in IA__g_object_newv (object_type=11956128, n_parameters=<value optimized out>, parameters=0x0) at gobject.c:1215
#16 0x00007f1b2ed64757 in IA__g_object_new_valist (object_type=11956128, first_property_name=0x0, var_args=0x7fffb3d0f180) at gobject.c:1278
#17 0x00007f1b2ed6489c in IA__g_object_new (object_type=11956128, first_property_name=0x0) at gobject.c:1060
#18 0x0000000000411341 in gpm_brightness_new () at gpm-brightness.c:421
#19 0x000000000040db41 in gpm_backlight_init (backlight=0xb56190) at gpm-backlight.c:738
#20 0x00007f1b2ed7ece5 in IA__g_type_create_instance (type=<value optimized out>) at gtype.c:1674
#21 0x00007f1b2ed635eb in g_object_constructor (type=11422720, n_construct_properties=3016812080, construct_params=0xb7) at gobject.c:1338
#22 0x00007f1b2ed63c32 in IA__g_object_newv (object_type=11937648, n_parameters=<value optimized out>, parameters=0x0) at gobject.c:1215
#23 0x00007f1b2ed64757 in IA__g_object_new_valist (object_type=11937648, first_property_name=0x0, var_args=0x7fffb3d0f680) at gobject.c:1278
#24 0x00007f1b2ed6489c in IA__g_object_new (object_type=11937648, first_property_name=0x0) at gobject.c:1060
#25 0x000000000041727b in gpm_manager_init (manager=0xb50830) at gpm-manager.c:1626
#26 0x00007f1b2ed7ece5 in IA__g_type_create_instance (type=<value optimized out>) at gtype.c:1674
#27 0x00007f1b2ed635eb in g_object_constructor (type=11422720, n_construct_properties=3016812080, construct_params=0xb7) at gobject.c:1338
#28 0x00007f1b2ed63c32 in IA__g_object_newv (object_type=11859328, n_parameters=<value optimized out>, parameters=0x0) at gobject.c:1215
#29 0x00007f1b2ed64757 in IA__g_object_new_valist (object_type=11859328, first_property_name=0x0, var_args=0x7fffb3d0fb70) at gobject.c:1278
#30 0x00007f1b2ed6489c in IA__g_object_new (object_type=11859328, first_property_name=0x0) at gobject.c:1060
#31 0x00000000004166b2 in gpm_manager_new () at gpm-manager.c:1756
#32 0x0000000000415f24 in main (argc=1, argv=0x7fffb3d0fee8) at gpm-main.c:247


Quick hack to fix it was to use do some monkey patching:

diff --git a/src/gpm-brightness-xrandr.c b/src/gpm-brightness-xrandr.c
index 15597dd..0615f77 100644
--- a/src/gpm-brightness-xrandr.c
+++ b/src/gpm-brightness-xrandr.c
@@ -617,11 +617,7 @@ gpm_brightness_xrandr_update_cache (GpmBrightnessXRandR *brightness)
                /* XRRGetScreenResourcesCurrent is less expensive than
                   XRRGetScreenResources, however it is available only
                   in RandR 1.3 or higher */
-#if (RANDR_MAJOR == 1 && RANDR_MINOR >= 3)
-               resource = XRRGetScreenResourcesCurrent (brightness->priv->dpy, root);
-#else
                resource = XRRGetScreenResources (brightness->priv->dpy, root);
-#endif
                if (resource != NULL) {
                        egg_debug ("adding resource %p", resource);
                        g_ptr_array_add (brightness->priv->resources, resource);
Comment 7 Rémi Cardona (RETIRED) gentoo-dev 2009-05-10 16:08:15 UTC
Does g-p-m actually check the XRandR version that's supported by the server?

Thanks
Comment 8 Priit Laes (IRC: plaes) 2009-05-10 16:17:52 UTC
(In reply to comment #7)
> Does g-p-m actually check the XRandR version that's supported by the server?

Seems that it only checks for 1.2 (and exits, if it's lower), but there's no checks for 1.3 :(
Comment 9 Rémi Cardona (RETIRED) gentoo-dev 2009-05-10 16:49:16 UTC
Well, that might be the problem :

randrproto 1.3 and libXrandr 1.3 provide additional client-side API which needs to be properly #ifdef'ed if used. But then this code should not assume that having libXrandr 1.3 means that Xorg 1.6 is used server-side.

Cheers
Comment 10 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-05-11 08:41:19 UTC
*** Bug 269366 has been marked as a duplicate of this bug. ***
Comment 11 Priit Laes (IRC: plaes) 2009-05-11 09:11:10 UTC
Created attachment 190911 [details, diff]
gpm-xrandr-13-runtime-detection.patch
Comment 12 Rémi Cardona (RETIRED) gentoo-dev 2009-05-11 09:19:32 UTC
Patch's logic looks good, nothing further to be done from the x11 herd.

Cheers
Comment 13 Shawn Bruce 2009-05-26 21:53:36 UTC
(In reply to comment #11)
> Created an attachment (id=190911) [edit]
> gpm-xrandr-13-runtime-detection.patch
> 


this fixed it for me aswell.

Thanks
Comment 14 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-05-30 11:00:01 UTC
upstream commited it
Comment 15 Nirbheek Chauhan (RETIRED) gentoo-dev 2009-05-30 15:33:15 UTC
Patch from 2-26 branch pushed to overlay.