[Pkg-xfce-devel] Bug#542238: Bug#542238: xfce4-power-manager: ignores suspend and hibernate keys

Matthew Foulkes wmc.foulkes at imperial.ac.uk
Wed Aug 19 14:16:24 UTC 2009


I have no more spare time to devote to this but did make a little
progress before my time ran out. First, I built the src package using

  export CFLAGS_APPEND="-DDEBUG -DG_HAVE_ISO_VARARGS"
  dpkg-buildpackage -rfakeroot -uc -us -b

If I understand correctly, this should cause a message to be printed
every time a button press event is received. Running this version from
the command line using "xfce4-power-manager --nodaemon" first produces
the output

> xfce4-power-manager --no-daemon
> 
> ** (xfce4-power-manager:15603): WARNING **: Metadata for error domain "xfpm-error-quark" already registered
> 
> TRACE[xfpm-battery.c:418] xfpm_battery_refresh_primary(): battery state : ((XfpmBatteryState) BATTERY_FULLY_CHARGED)
> TRACE[xfpm-battery.c:343] xfpm_battery_refresh_common(): battery state change : ((XfpmBatteryState) BATTERY_FULLY_CHARGED)
> TRACE[xfpm-supply.c:223] xfpm_supply_refresh_tray_icon(): Tray icon configuration:  : ((XfpmShowIcon) SHOW_ICON_WHEN_BATTERY_PRESENT)
> TRACE[xfpm-supply.c:223] xfpm_supply_refresh_tray_icon(): Tray icon configuration:  : ((XfpmShowIcon) SHOW_ICON_WHEN_BATTERY_PRESENT)
> TRACE[xfpm-button-xf86.c:164] xfpm_button_xf86_xevent_key(): Grabbed key 222 : ((XfpmButtonKey) BUTTON_POWER_OFF)
> 
> (xfce4-power-manager:15603): xfce4-power-manager-CRITICAL **: could not map keysym 1008ffa8 to keycode
> 
> 
> (xfce4-power-manager:15603): xfce4-power-manager-CRITICAL **: could not map keysym 1008ffa7 to keycode
> 
> TRACE[xfpm-button-xf86.c:164] xfpm_button_xf86_xevent_key(): Grabbed key 150 : ((XfpmButtonKey) BUTTON_SLEEP)
> 
> (xfce4-power-manager:15603): xfce4-power-manager-CRITICAL **: could not map keysym 1008ff02 to keycode

but nothing is added when I press the sleep or hibernate buttons. It
looks as if xfpm is unaware of the button presses, even though hal
notices them.

FWIW, I also tried building xfpm without optimisation, only to see it
crash with a SIGSEGV. By rebuilding without stripping the debugging
symbols

  export CFLAGS="-g -O0 -DDEBUG -DG_HAVE_ISO_VARARGS"
  export DEB_BUILD_OPTIONS=nostrip
  dpkg-buildpackage -rfakeroot -uc -us -b

and running "xfce4-power-manager --no-daemon" through gdb, I obtained
the following information about the crash:

> gdb xfce4-power-manager
> GNU gdb 6.8-debian                         
> Copyright (C) 2008 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.           
> There is NO WARRANTY, to the extent permitted by law.  Type "show copying"   
> and "show warranty" for details.                                             
> This GDB was configured as "x86_64-linux-gnu"...                             
> (gdb) run --no-daemon                                                        
> Starting program: /usr/bin/xfce4-power-manager --no-daemon                   
> [Thread debugging using libthread_db enabled]                                
> [New Thread 0x7f6cc9d6c7b0 (LWP 7086)]                                       
> 
> ** (xfce4-power-manager:7086): WARNING **: Metadata for error domain "xfpm-error-quark" already registered                                                                              
> 
> TRACE[xfpm-battery.c:418] xfpm_battery_refresh_primary(): battery state : ((XfpmBatteryState) BATTERY_FULLY_CHARGED)                                                                    
> TRACE[xfpm-battery.c:343] xfpm_battery_refresh_common(): battery state change : ((XfpmBatteryState) BATTERY_FULLY_CHARGED)                                                              
> TRACE[xfpm-supply.c:223] xfpm_supply_refresh_tray_icon(): Tray icon configuration:  : ((XfpmShowIcon) SHOW_ICON_WHEN_BATTERY_PRESENT)                                                   
> TRACE[xfpm-supply.c:223] xfpm_supply_refresh_tray_icon(): Tray icon configuration:  : ((XfpmShowIcon) SHOW_ICON_WHEN_BATTERY_PRESENT)
> TRACE[xfpm-button-xf86.c:164] xfpm_button_xf86_xevent_key(): Grabbed key 222 : ((XfpmButtonKey) BUTTON_POWER_OFF)
> 
> (xfce4-power-manager:7086): xfce4-power-manager-CRITICAL **: could not map keysym 1008ffa8 to keycode
> 
> 
> (xfce4-power-manager:7086): xfce4-power-manager-CRITICAL **: could not map keysym 1008ffa7 to keycode
> 
> TRACE[xfpm-button-xf86.c:164] xfpm_button_xf86_xevent_key(): Grabbed key 150 : ((XfpmButtonKey) BUTTON_SLEEP)
> 
> (xfce4-power-manager:7086): xfce4-power-manager-CRITICAL **: could not map keysym 1008ff02 to keycode
> 
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7f6cc9d6c7b0 (LWP 7086)]
> 0x0000000000412fdf in xfpm_brightness_hal_init (brg=Cannot access memory at address 0x6e696c2d656b6f62
> ) at xfpm-brightness-hal.c:518
> 518     }
> (gdb) backtrace
> #0  0x0000000000412fdf in xfpm_brightness_hal_init (brg=Cannot access memory at address 0x6e696c2d656b6f62
> ) at xfpm-brightness-hal.c:518
> Cannot access memory at address 0x6e696c2d656b6f7a

It looks to be an unrelated problem, but I'm reporting it here just in
case.





More information about the Pkg-xfce-devel mailing list