Bug 542876 - devkit-power-daemon segfault
Summary: devkit-power-daemon segfault
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: libusb
Version: 12
Hardware: i686
OS: Linux
low
medium
Target Milestone: ---
Assignee: Jan Vcelak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-12-01 02:03 UTC by Gregory S. Hayes
Modified: 2013-03-04 01:27 UTC (History)
5 users (show)

Fixed In Version: libusb-0.1.3-1.fc15
Clone Of:
Environment:
Last Closed: 2010-08-27 13:58:22 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Output of lshal (153.93 KB, text/plain)
2009-12-01 18:07 UTC, Gregory S. Hayes
no flags Details
Output of usb-devices (5.46 KB, text/plain)
2009-12-01 18:08 UTC, Gregory S. Hayes
no flags Details

Description Gregory S. Hayes 2009-12-01 02:03:01 UTC
Description of problem:

Starting devkit-power-daemon segfaults. However, it has started before in this release, but was _very_ problematic giving lots of the following warnings in /var/log/messages:

Nov 30 20:06:30 www gnome-session[2007]: devkit-power-gobject-WARNING: Error invoking GetAll() to get properties: Message did not receive a reply (timeout by message bus)

This warning caused all major components of gnome (gdm, panel, etc.) to have an unbearable slowdown. Also, when switching with my KVM to another machine I would sometimes return to the Fedora12 box to find it is locked up. This doesn't appear to happen when I don't switch away with my KVM. I think it may be related.

Attempting to start or kill and restart devkit-power-daemon as root gives the following:

# /usr/libexec/devkit-power-daemon -v
TI:20:49:49	TH:0x8f30bb8	FI:egg-debug.c	FN:egg_debug_init,306
 - Verbose debugging 1 (on console 1)DKP_VERBOSE
TI:20:49:49	TH:0x8f30bb8	FI:dkp-main.c	FN:main,164
 - Starting devkit-power-daemon version 012
TI:20:49:49	TH:0x8f30bb8	FI:dkp-daemon.c	FN:dkp_daemon_check_swap_space,283
 - total swap available 2008084 kb, active memory 781120 kb (38.0%)
TI:20:49:49	TH:0x8f30bb8	FI:dkp-daemon.c	FN:dkp_daemon_check_encrypted_swap,195
 - adding swap device: sdc1
TI:20:49:49	TH:0x8f30bb8	FI:dkp-daemon.c	FN:dkp_daemon_startup,653
 - daemon now coldplug
TI:20:49:49	TH:0x8f30bb8	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : power_supply
TI:20:49:49	TH:0x8f30bb8	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : usb
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,547
 - device now coldplug
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,555
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,588
 - device now not coldplug
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,547
 - device now coldplug
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,555
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:49:49	TH:0x8f30bb8	FI:dkp-device.c	FN:dkp_device_coldplug,588
 - device now not coldplug
*** glibc detected *** /usr/libexec/devkit-power-daemon: free(): invalid pointer: 0x08f46908 ***
======= Backtrace: =========
/lib/libc.so.6[0x517261]
/usr/lib/libusb-0.1.so.4(usb_destroy_configuration+0xad)[0x3ac9c5d]
/usr/lib/libusb-0.1.so.4(usb_free_dev+0x23)[0x3ac9343]
/usr/lib/libusb-0.1.so.4(usb_find_devices+0xe0)[0x3ac9680]
/usr/libexec/devkit-power-daemon[0x8059b5e]
/lib/libgobject-2.0.so.0(g_type_create_instance+0x145)[0x9514b5]
/lib/libgobject-2.0.so.0[0x935e69]
/lib/libgobject-2.0.so.0(g_object_newv+0xf8)[0x936e38]
/lib/libgobject-2.0.so.0(g_object_new_valist+0x2ba)[0x937cba]
/lib/libgobject-2.0.so.0(g_object_new+0x6e)[0x937e3e]
/usr/libexec/devkit-power-daemon[0x8059128]
/usr/libexec/devkit-power-daemon[0x8056758]
/usr/libexec/devkit-power-daemon[0x8056a11]
/usr/libexec/devkit-power-daemon[0x804ce4a]
/usr/libexec/devkit-power-daemon[0x8056075]
/lib/libc.so.6(__libc_start_main+0xe6)[0x4bfbb6]
/usr/libexec/devkit-power-daemon[0x804bd31]
======= Memory map: ========
00110000-0012d000 r-xp 00000000 08:11 33325162   /lib/libgcc_s-4.4.2-20091027.so.1
0012d000-0012e000 rw-p 0001c000 08:11 33325162   /lib/libgcc_s-4.4.2-20091027.so.1
00483000-004a1000 r-xp 00000000 08:11 33325066   /lib/ld-2.11.so
004a1000-004a2000 r--p 0001d000 08:11 33325066   /lib/ld-2.11.so
004a2000-004a3000 rw-p 0001e000 08:11 33325066   /lib/ld-2.11.so
004a9000-00617000 r-xp 00000000 08:11 33325075   /lib/libc-2.11.so
00617000-00618000 ---p 0016e000 08:11 33325075   /lib/libc-2.11.so
00618000-0061a000 r--p 0016e000 08:11 33325075   /lib/libc-2.11.so
0061a000-0061b000 rw-p 00170000 08:11 33325075   /lib/libc-2.11.so
0061b000-0061e000 rw-p 00000000 00:00 0 
00620000-00648000 r-xp 00000000 08:11 33325121   /lib/libm-2.11.so
00648000-00649000 r--p 00027000 08:11 33325121   /lib/libm-2.11.so
00649000-0064a000 rw-p 00028000 08:11 33325121   /lib/libm-2.11.so
0064c000-0064f000 r-xp 00000000 08:11 33325134   /lib/libdl-2.11.so
0064f000-00650000 r--p 00002000 08:11 33325134   /lib/libdl-2.11.so
00650000-00651000 rw-p 00003000 08:11 33325134   /lib/libdl-2.11.so
00653000-00669000 r-xp 00000000 08:11 33325155   /lib/libpthread-2.11.so
00669000-0066a000 r--p 00015000 08:11 33325155   /lib/libpthread-2.11.so
0066a000-0066b000 rw-p 00016000 08:11 33325155   /lib/libpthread-2.11.so
0066b000-0066d000 rw-p 00000000 00:00 0 
00670000-00671000 r-xp 00000000 00:00 0          [vdso]
00684000-0068b000 r-xp 00000000 08:11 33325233   /lib/librt-2.11.so
0068b000-0068c000 r--p 00006000 08:11 33325233   /lib/librt-2.11.so
0068c000-0068d000 rw-p 00007000 08:11 33325233   /lib/librt-2.11.so
00801000-0081d000 r-xp 00000000 08:11 33325200   /lib/libselinux.so.1
0081d000-0081e000 r--p 0001b000 08:11 33325200   /lib/libselinux.so.1
0081e000-0081f000 rw-p 0001c000 08:11 33325200   /lib/libselinux.so.1
00821000-00835000 r-xp 00000000 08:11 33325164   /lib/libresolv-2.11.so
00835000-00836000 ---p 00014000 08:11 33325164   /lib/libresolv-2.11.so
00836000-00837000 r--p 00014000 08:11 33325164   /lib/libresolv-2.11.so
00837000-00838000 rw-p 00015000 08:11 33325164   /lib/libresolv-2.11.so
00838000-0083a000 rw-p 00000000 00:00 0 
0083c000-00924000 r-xp 00000000 08:11 33325260   /lib/libglib-2.0.so.0.2200.2
00924000-00925000 rw-p 000e8000 08:11 33325260   /lib/libglib-2.0.so.0.2200.2
00927000-0096a000 r-xp 00000000 08:11 33325264   /lib/libgobject-2.0.so.0.2200.2
0096a000-0096b000 rw-p 00043000 08:11 33325264   /lib/libgobject-2.0.so.0.2200.2
0096d000-0097c000 r-xp 00000000 08:11 33325312   /lib/libudev.so.0.4.2
0097c000-0097d000 rw-p 0000f000 08:11 33325312   /lib/libudev.so.0.4.2
0097f000-00985000 r-xp 00000000 08:11 21996939   /usr/lib/libgudev-1.0.so.0.0.1
00985000-00986000 rw-p 00005000 08:11 21996939   /usr/lib/libgudev-1.0.so.0.0.1
00a88000-00a93000 r-xp 00000000 08:11 22000492   /usr/lib/libdevkit-power-gobject.so.1.0.1
00a93000-00a94000 rw-p 0000a000 08:11 22000492   /usr/lib/libdevkit-power-gobject.so.1.0.1
00c1e000-00c63000 r-xp 00000000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c63000-00c64000 r--p 00044000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c64000-00c65000 rw-p 00045000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c67000-00c6b000 r-xp 00000000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6b000-00c6c000 r--p 00003000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6c000-00c6d000 rw-p 00004000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6f000-00c72000 r-xp 00000000 08:11 33325282   /lib/libgmodule-2.0.so.0.2200.2
00c72000-00c73000 rw-p 00002000 08:11 33325282   /lib/libgmodule-2.0.so.0.2200.2
00c75000-00d24000 r-xp 00000000 08:11 33325298   /lib/libgio-2.0.so.0.2200.2
00d24000-00d26000 rw-p 000af000 08:11 33325298   /lib/libgio-2.0.so.0.2200.2
00d28000-00d6d000 r-xp 00000000 08:11 22000326   /usr/lib/libeggdbus-1.so.0.0.0
00d6d000-00d6f000 rw-p 00045000 08:11 22000326   /usr/lib/libeggdbus-1.so.0.0.0
00d71000-00d8f000 r-xp 00000000 08:11 22000373   /usr/lib/libpolkit-gobject-1.so.0.0.0
00d8f000-00d90000 rw-p 0001e000 08:11 22000373   /usr/lib/libpolkit-gobject-1.so.0.0.0
03ac8000-03acf000 r-xp 00000000 08:11 22000455   /usr/lib/libusb-0.1.so.4.4.4
03acf000-03ad1000 rw-p 00006000 08:11 22000455   /usr/lib/libusb-0.1.so.4.4.4
03b72000-03b92000 r-xp 00000000 08:11 21993161   /usr/lib/libdbus-glib-1.so.2.1.0
03b92000-03b93000 rw-p 0001f000 08:11 21993161   /usr/lib/libdbus-glib-1.so.2.1.0
08048000-08065000 r-xp 00000000 08:11 22014165   /usr/libexec/devkit-power-daemon
08065000-08067000 rw-p 0001c000 08:11 22014165   /usr/libexec/devkit-power-daemon
08f2c000-08f82000 rw-p 00000000 00:00 0          [heap]
b77ab000-b77b0000 rw-p 00000000 00:00 0 
b77d7000-b77de000 r--s 00000000 08:11 22052997   /usr/lib/gconv/gconv-modules.cache
b77de000-b77e0000 rw-p 00000000 00:00 0 
bf898000-bf8ad000 rw-p 00000000 00:00 0          [stack]
Aborted (core dumped)


Version-Release number of selected component (if applicable): DeviceKit-power-012-2.fc12.i686


How reproducible: execute devkit-power-daemon


Steps to Reproduce:
1. Verify devkit-power-daemon is not currently running
2. execute "/usr/libexec/devkit-power-daemon -v"
3.
  
Actual results:
segfault

Expected results:
Working power daemon

Additional info:
SELinux is disabled on this box

# sestatus
SELinux status:                 disabled

Comment 1 Richard Hughes 2009-12-01 08:59:22 UTC
Looks like a bug in libusb to me.

Comment 2 Jindrich Novy 2009-12-01 09:33:59 UTC
Trying to reproduce but what I get is this:

# /usr/libexec/devkit-power-daemon -v
TI:10:32:13     TH:0x20656e0    FI:egg-debug.c  FN:egg_debug_init,306
 - Verbose debugging 1 (on console 1)DKP_VERBOSE
TI:10:32:13     TH:0x20656e0    FI:dkp-main.c   FN:dkp_main_acquire_name_on_proxy,83
 - Failed to acquire org.freedesktop.DeviceKit.Power
TI:10:32:13     TH:0x20656e0    FI:dkp-main.c   FN:main,157
 - Could not acquire name; bailing out

Any clues?

Comment 3 Richard Hughes 2009-12-01 14:10:01 UTC
(In reply to comment #2)
> Any clues?  

You need to do "sudo killall devkit-power-daemon" first.

Comment 4 Gregory S. Hayes 2009-12-01 18:05:38 UTC
Is there anything I can do on my end to track down which USB device might be related or provide more debugging? I'll attach the output of lshal and usbdevices in case it helps

Comment 5 Gregory S. Hayes 2009-12-01 18:07:27 UTC
Created attachment 375140 [details]
Output of lshal

Comment 6 Gregory S. Hayes 2009-12-01 18:08:44 UTC
Created attachment 375141 [details]
Output of usb-devices

Comment 7 Jindrich Novy 2009-12-02 20:08:04 UTC
Hmmm, I'm unable to reproduce. In the dkp-device.c:588 I see that at the end of dkp_device_coldplug() is printed just the error message, then it immediatelly returns. Because the "device now not coldplug" message is displayed, the crash has to be elsewhere than in this function.

Could you please install DeviceKit-power-debuginfo and libusb-debuginfo and try again to post the crash log? (assuming that glibc resolves the debug symbols)

Comment 8 Gregory S. Hayes 2009-12-03 00:01:10 UTC
No problem. I grabbed the debuginfo packages for libusb and DeviceKit-power and executed:

# gdb /usr/libexec/devkit-power-daemon
(gdb) run
Starting program: /usr/libexec/devkit-power-daemon 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x0051bdc5 in free () from /lib/libc.so.6
(gdb) thread apply all bt

Thread 1 (Thread 0xb7fcb970 (LWP 31743)):
#0  0x0051bdc5 in free () from /lib/libc.so.6
#1  0x03ac9c5d in usb_destroy_configuration (dev=0x8082800) at descriptors.c:414
#2  0x03ac9343 in usb_free_dev (dev=0x8082800) at usb.c:294
#3  0x03ac9680 in usb_find_devices () at usb.c:121
#4  0x08059b5e in dkp_device_csr_init (csr=<value optimized out>) at dkp-device-csr.c:289
#5  0x009514b5 in g_type_create_instance () from /lib/libgobject-2.0.so.0
#6  0x00935e69 in ?? () from /lib/libgobject-2.0.so.0
#7  0x00936e38 in g_object_newv () from /lib/libgobject-2.0.so.0
#8  0x00937cba in g_object_new_valist () from /lib/libgobject-2.0.so.0
#9  0x00937e3e in g_object_new () from /lib/libgobject-2.0.so.0
#10 0x08059128 in dkp_device_csr_new () at dkp-device-csr.c:338
#11 0x08056758 in dkp_backend_device_new (native=<value optimized out>, backend=<value optimized out>) at dkp-backend.c:111
#12 dkp_backend_device_add (native=<value optimized out>, backend=<value optimized out>) at dkp-backend.c:207
#13 0x08056a11 in dkp_backend_coldplug (backend=<value optimized out>, daemon=<value optimized out>) at dkp-backend.c:301
#14 0x0804ce4a in dkp_daemon_startup (daemon=<value optimized out>) at dkp-daemon.c:658
#15 0x08056075 in main (argc=1, argv=0xbffff6b4) at dkp-main.c:169

Comment 9 Gregory S. Hayes 2009-12-03 00:09:36 UTC
[Also adding a bt full in case this helps]

(gdb) thread apply all bt full

Thread 1 (Thread 0xb7fcb970 (LWP 31743)):
#0  0x0051bdc5 in free () from /lib/libc.so.6
No symbol table info available.
#1  0x03ac9c5d in usb_destroy_configuration (dev=0x8082800) at descriptors.c:414
        as = <value optimized out>
        ifp = 0x80819a0
        cf = 0x8081828
        c = 0
        i = 1
        j = 3
        k = 1
#2  0x03ac9343 in usb_free_dev (dev=0x8082800) at usb.c:294
No locals.
#3  0x03ac9680 in usb_find_devices () at usb.c:121
        tndev = 0x0
        ndev = 0x8082800
        tdev = 0x809b560
        devices = 0x8083838
        dev = <value optimized out>
        bus = <value optimized out>
        ret = <value optimized out>
        changes = 0
#4  0x08059b5e in dkp_device_csr_init (csr=<value optimized out>) at dkp-device-csr.c:289
No locals.
#5  0x009514b5 in g_type_create_instance () from /lib/libgobject-2.0.so.0
No symbol table info available.
#6  0x00935e69 in ?? () from /lib/libgobject-2.0.so.0
No symbol table info available.
#7  0x00936e38 in g_object_newv () from /lib/libgobject-2.0.so.0
No symbol table info available.
#8  0x00937cba in g_object_new_valist () from /lib/libgobject-2.0.so.0
No symbol table info available.
#9  0x00937e3e in g_object_new () from /lib/libgobject-2.0.so.0
No symbol table info available.
#10 0x08059128 in dkp_device_csr_new () at dkp-device-csr.c:338
No locals.
#11 0x08056758 in dkp_backend_device_new (native=<value optimized out>, backend=<value optimized out>) at dkp-backend.c:111
        native_path = <value optimized out>
        device = 0x0
        ret = <value optimized out>
        subsys = 0x807a520 ""
        input = 0x807a520
#12 dkp_backend_device_add (native=<value optimized out>, backend=<value optimized out>) at dkp-backend.c:207
        object = <value optimized out>
        device = <value optimized out>
        ret = 1
        __FUNCTION__ = "dkp_backend_device_add"
#13 0x08056a11 in dkp_backend_coldplug (backend=<value optimized out>, daemon=<value optimized out>) at dkp-backend.c:301
        native = <value optimized out>
        devices = 0x806e810 = {0x8070000, 0x8070028, 0x8070050, 0x8070078, 0x80700a0, 0x80700c8, 0x80700f0, 0x8070118, 0x8070140, 
    0x8070168, 0x8070190, 0x80701b8, 0x8070200, 0x8070228, 0x8070250, 0x8070278, 0x80702a0, 0x80702c8, 0x80702f0, 0x8070318, 0x8070340, 
    0x8070368, 0x8070390, 0x80703b8, 0x8070400, 0x8070428, 0x8070450, 0x8070478, 0x80704a0, 0x80704c8, 0x80704f0, 0x8070518, 0x8070540, 
    0x8070568}
        l = <value optimized out>
        i = <value optimized out>
        subsystems = {0x806005d "power_supply", 0x806006e "usb", 0x806006a "tty", 0x8060072 "input", 0x0}
        __FUNCTION__ = "dkp_backend_coldplug"
#14 0x0804ce4a in dkp_daemon_startup (daemon=<value optimized out>) at dkp-daemon.c:658
        ret = <value optimized out>
        on_battery = <value optimized out>
        on_low_battery = <value optimized out>
        __FUNCTION__ = "dkp_daemon_startup"
#15 0x08056075 in main (argc=1, argv=0xbffff6b4) at dkp-main.c:169
        error = 0x0
        daemon = 0x8079818
        qos = 0x8071830
        wakeups = 0x806f410
        context = 0x8079818
        bus_proxy = <value optimized out>
        bus = <value optimized out>
        verbose = 0
        ret = <value optimized out>
        retval = 1
        entries = {{long_name = 0x805fccb "verbose", short_name = 118 'v', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff5e8, 
            description = 0x805fd24 "Show extra debugging information", arg_description = 0x0}, {long_name = 0x0, short_name = 0 '\000', 
            flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}}
        __FUNCTION__ = "main

Comment 10 Gregory S. Hayes 2009-12-20 00:39:58 UTC
Still fails with latest Fedora updates but the error is slightly different ("*** glibc detected *** /usr/libexec/devkit-power-daemon: double free or corruption (fasttop): 0x09070da0 ***") 

Full output from /usr/libexec/devkit-power-daemon -v :

TI:19:35:39	TH:0x905bbb8	FI:egg-debug.c	FN:egg_debug_init,306
 - Verbose debugging 1 (on console 1)DKP_VERBOSE
TI:19:35:39	TH:0x905bbb8	FI:dkp-main.c	FN:main,164
 - Starting devkit-power-daemon version 012
TI:19:35:39	TH:0x905bbb8	FI:dkp-daemon.c	FN:dkp_daemon_check_swap_space,283
 - total swap available 1942192 kb, active memory 1815964 kb (93.0%)
TI:19:35:39	TH:0x905bbb8	FI:dkp-daemon.c	FN:dkp_daemon_init,922
 - not enough swap to enable hibernate
TI:19:35:39	TH:0x905bbb8	FI:dkp-daemon.c	FN:dkp_daemon_check_encrypted_swap,195
 - adding swap device: sdc1
TI:19:35:39	TH:0x905bbb8	FI:dkp-daemon.c	FN:dkp_daemon_startup,653
 - daemon now coldplug
TI:19:35:39	TH:0x905bbb8	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : power_supply
TI:19:35:39	TH:0x905bbb8	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : usb
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,547
 - device now coldplug
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,555
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,588
 - device now not coldplug
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,547
 - device now coldplug
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,555
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:19:35:39	TH:0x905bbb8	FI:dkp-device.c	FN:dkp_device_coldplug,588
 - device now not coldplug
*** glibc detected *** /usr/libexec/devkit-power-daemon: double free or corruption (fasttop): 0x09070da0 ***
======= Backtrace: =========
/lib/libc.so.6[0x517261]
/usr/lib/libusb-0.1.so.4(usb_destroy_configuration+0xad)[0x3ac9c5d]
/usr/lib/libusb-0.1.so.4(usb_free_dev+0x23)[0x3ac9343]
/usr/lib/libusb-0.1.so.4(usb_find_devices+0xe0)[0x3ac9680]
/usr/libexec/devkit-power-daemon[0x8059b5e]
/lib/libgobject-2.0.so.0(g_type_create_instance+0x145)[0x9514c5]
/lib/libgobject-2.0.so.0[0x935e69]
/lib/libgobject-2.0.so.0(g_object_newv+0xf8)[0x936e38]
/lib/libgobject-2.0.so.0(g_object_new_valist+0x2ba)[0x937cba]
/lib/libgobject-2.0.so.0(g_object_new+0x6e)[0x937e3e]
/usr/libexec/devkit-power-daemon[0x8059128]
/usr/libexec/devkit-power-daemon[0x8056758]
/usr/libexec/devkit-power-daemon[0x8056a11]
/usr/libexec/devkit-power-daemon[0x804ce4a]
/usr/libexec/devkit-power-daemon[0x8056075]
/lib/libc.so.6(__libc_start_main+0xe6)[0x4bfbb6]
/usr/libexec/devkit-power-daemon[0x804bd31]
======= Memory map: ========
00110000-0012d000 r-xp 00000000 08:11 33325162   /lib/libgcc_s-4.4.2-20091027.so.1
0012d000-0012e000 rw-p 0001c000 08:11 33325162   /lib/libgcc_s-4.4.2-20091027.so.1
00438000-00458000 r-xp 00000000 08:11 39387176   /usr/lib/libdbus-glib-1.so.2.1.0
00458000-00459000 rw-p 0001f000 08:11 39387176   /usr/lib/libdbus-glib-1.so.2.1.0
00483000-004a1000 r-xp 00000000 08:11 33325066   /lib/ld-2.11.so
004a1000-004a2000 r--p 0001d000 08:11 33325066   /lib/ld-2.11.so
004a2000-004a3000 rw-p 0001e000 08:11 33325066   /lib/ld-2.11.so
004a9000-00617000 r-xp 00000000 08:11 33325075   /lib/libc-2.11.so
00617000-00618000 ---p 0016e000 08:11 33325075   /lib/libc-2.11.so
00618000-0061a000 r--p 0016e000 08:11 33325075   /lib/libc-2.11.so
0061a000-0061b000 rw-p 00170000 08:11 33325075   /lib/libc-2.11.so
0061b000-0061e000 rw-p 00000000 00:00 0 
00620000-00648000 r-xp 00000000 08:11 33325121   /lib/libm-2.11.so
00648000-00649000 r--p 00027000 08:11 33325121   /lib/libm-2.11.so
00649000-0064a000 rw-p 00028000 08:11 33325121   /lib/libm-2.11.so
0064c000-0064f000 r-xp 00000000 08:11 33325134   /lib/libdl-2.11.so
0064f000-00650000 r--p 00002000 08:11 33325134   /lib/libdl-2.11.so
00650000-00651000 rw-p 00003000 08:11 33325134   /lib/libdl-2.11.so
00653000-00669000 r-xp 00000000 08:11 33325155   /lib/libpthread-2.11.so
00669000-0066a000 r--p 00015000 08:11 33325155   /lib/libpthread-2.11.so
0066a000-0066b000 rw-p 00016000 08:11 33325155   /lib/libpthread-2.11.so
0066b000-0066d000 rw-p 00000000 00:00 0 
00684000-0068b000 r-xp 00000000 08:11 33325233   /lib/librt-2.11.so
0068b000-0068c000 r--p 00006000 08:11 33325233   /lib/librt-2.11.so
0068c000-0068d000 rw-p 00007000 08:11 33325233   /lib/librt-2.11.so
00801000-0081d000 r-xp 00000000 08:11 33325200   /lib/libselinux.so.1
0081d000-0081e000 r--p 0001b000 08:11 33325200   /lib/libselinux.so.1
0081e000-0081f000 rw-p 0001c000 08:11 33325200   /lib/libselinux.so.1
00821000-00835000 r-xp 00000000 08:11 33325164   /lib/libresolv-2.11.so
00835000-00836000 ---p 00014000 08:11 33325164   /lib/libresolv-2.11.so
00836000-00837000 r--p 00014000 08:11 33325164   /lib/libresolv-2.11.so
00837000-00838000 rw-p 00015000 08:11 33325164   /lib/libresolv-2.11.so
00838000-0083a000 rw-p 00000000 00:00 0 
0083c000-00924000 r-xp 00000000 08:11 33326002   /lib/libglib-2.0.so.0.2200.3
00924000-00925000 rw-p 000e8000 08:11 33326002   /lib/libglib-2.0.so.0.2200.3
00927000-0096a000 r-xp 00000000 08:11 33326091   /lib/libgobject-2.0.so.0.2200.3
0096a000-0096b000 rw-p 00043000 08:11 33326091   /lib/libgobject-2.0.so.0.2200.3
0096d000-0097c000 r-xp 00000000 08:11 33325312   /lib/libudev.so.0.4.2
0097c000-0097d000 rw-p 0000f000 08:11 33325312   /lib/libudev.so.0.4.2
0097f000-00985000 r-xp 00000000 08:11 39387279   /usr/lib/libgudev-1.0.so.0.0.1
00985000-00986000 rw-p 00005000 08:11 39387279   /usr/lib/libgudev-1.0.so.0.0.1
00a55000-00a73000 r-xp 00000000 08:11 39387253   /usr/lib/libpolkit-gobject-1.so.0.0.0
00a73000-00a74000 rw-p 0001e000 08:11 39387253   /usr/lib/libpolkit-gobject-1.so.0.0.0
00a76000-00a81000 r-xp 00000000 08:11 39387319   /usr/lib/libdevkit-power-gobject.so.1.0.1
00a81000-00a82000 rw-p 0000a000 08:11 39387319   /usr/lib/libdevkit-power-gobject.so.1.0.1
00adc000-00add000 r-xp 00000000 00:00 0          [vdso]
00b84000-00b87000 r-xp 00000000 08:11 33326113   /lib/libgmodule-2.0.so.0.2200.3
00b87000-00b88000 rw-p 00002000 08:11 33326113   /lib/libgmodule-2.0.so.0.2200.3
00c1e000-00c63000 r-xp 00000000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c63000-00c64000 r--p 00044000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c64000-00c65000 rw-p 00045000 08:11 33325259   /lib/libdbus-1.so.3.4.0
00c67000-00c6b000 r-xp 00000000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6b000-00c6c000 r--p 00003000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6c000-00c6d000 rw-p 00004000 08:11 33325246   /lib/libcap-ng.so.0.0.0
00c6f000-00d1e000 r-xp 00000000 08:11 33326128   /lib/libgio-2.0.so.0.2200.3
00d1e000-00d20000 rw-p 000af000 08:11 33326128   /lib/libgio-2.0.so.0.2200.3
03ac8000-03acf000 r-xp 00000000 08:11 22000455   /usr/lib/libusb-0.1.so.4.4.4
03acf000-03ad1000 rw-p 00006000 08:11 22000455   /usr/lib/libusb-0.1.so.4.4.4
03c82000-03cc7000 r-xp 00000000 08:11 21987684   /usr/lib/libeggdbus-1.so.0.0.0
03cc7000-03cc9000 rw-p 00045000 08:11 21987684   /usr/lib/libeggdbus-1.so.0.0.0
08048000-08065000 r-xp 00000000 08:11 22000092   /usr/libexec/devkit-power-daemon
08065000-08067000 rw-p 0001c000 08:11 22000092   /usr/libexec/devkit-power-daemon
09057000-090ad000 rw-p 00000000 00:00 0          [heap]
b76f3000-b76f8000 rw-p 00000000 00:00 0 
b771e000-b7725000 r--s 00000000 08:11 22052997   /usr/lib/gconv/gconv-modules.cache
b7725000-b7727000 rw-p 00000000 00:00 0 
bfc9e000-bfcb3000 rw-p 00000000 00:00 0          [stack]
Aborted (core dumped)

Comment 11 Richard Hughes 2009-12-21 08:33:40 UTC
Can you try https://admin.fedoraproject.org/updates/F12/FEDORA-2009-12905 please. Thanks.

Comment 12 Gregory S. Hayes 2009-12-25 01:20:37 UTC
I tried again with the new version, but I still get a segfault. I even rebooted several times and removed various usb devices with no luck. The devkit-power-manager executable never starts. The output is below:

# /usr/libexec/devkit-power-daemon -v
TI:20:11:43	FI:egg-debug.c	FN:egg_debug_post_parse_hook,415
 - Verbose debugging 1 (on console 1)
TI:20:11:43	FI:dkp-main.c	FN:main,181
 - Starting devkit-power-daemon version 013
TI:20:11:43	FI:dkp-daemon.c	FN:dkp_daemon_check_swap_space,283
 - total swap available 2008084 kb, active memory 481756 kb (23.0%)
TI:20:11:43	FI:dkp-daemon.c	FN:dkp_daemon_check_encrypted_swap,195
 - adding swap device: sdc1
TI:20:11:43	FI:dkp-daemon.c	FN:dkp_daemon_startup,653
 - daemon now coldplug
TI:20:11:43	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : power_supply
TI:20:11:43	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : usb
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,545
 - device now coldplug
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,553
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,585
 - device now not coldplug
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,545
 - device now coldplug
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,553
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:11:43	FI:dkp-device.c	FN:dkp_device_coldplug,585
 - device now not coldplug
Segmentation fault (core dumped)

With GDB:

(gdb) run -v
Starting program: /usr/libexec/devkit-power-daemon -v
warning: section .gnu.liblist not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .dynbss not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .gnu.liblist not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .dynbss not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: .dynamic section for "/usr/lib/libpolkit-gobject-1.so.0" is not at the expected address
warning: difference appears to be caused by prelink, adjusting expectations
warning: .dynamic section for "/lib/libresolv.so.2" is not at the expected address
warning: difference appears to be caused by prelink, adjusting expectations
[Thread debugging using libthread_db enabled]
warning: section .gnu.liblist not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .gnu.conflict not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
warning: section .dynbss not found in /usr/lib/debug/usr/libexec/devkit-power-daemon.debug
TI:20:17:41	FI:egg-debug.c	FN:egg_debug_post_parse_hook,415
 - Verbose debugging 1 (on console 1)
TI:20:17:41	FI:dkp-main.c	FN:main,181
 - Starting devkit-power-daemon version 013
TI:20:17:41	FI:dkp-daemon.c	FN:dkp_daemon_check_swap_space,283
 - total swap available 2008084 kb, active memory 725000 kb (36.0%)
TI:20:17:41	FI:dkp-daemon.c	FN:dkp_daemon_check_encrypted_swap,195
 - adding swap device: sdc1
TI:20:17:41	FI:dkp-daemon.c	FN:dkp_daemon_startup,653
 - daemon now coldplug
TI:20:17:41	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : power_supply
TI:20:17:41	FI:dkp-backend.c	FN:dkp_backend_coldplug,297
 - registering subsystem : usb
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,545
 - device now coldplug
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,553
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,585
 - device now not coldplug
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,545
 - device now coldplug
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,553
 - failed to coldplug /sys/devices/pci0000:00/0000:00:1a.0/usb3
TI:20:17:41	FI:dkp-device.c	FN:dkp_device_coldplug,585
 - device now not coldplug

Program received signal SIGSEGV, Segmentation fault.
__libc_free (mem=0x6f635f65) at malloc.c:3709
3709	  if (chunk_is_mmapped(p))                       /* release mmapped memory. */
(gdb) thread apply all bt full

Thread 1 (Thread 0xb7fcc970 (LWP 2964)):
#0  __libc_free (mem=0x6f635f65) at malloc.c:3709
        ar_ptr = <value optimized out>
        p = 0x6f635f5d
        hook = 0
#1  0x03ac9c5d in usb_destroy_configuration (dev=0x8081000)
    at descriptors.c:414
        as = <value optimized out>
        ifp = 0x808cb50
        cf = 0x807bc68
        c = 0
        i = 1
        j = 3
        k = 1
#2  0x03ac9343 in usb_free_dev (dev=0x8081000) at usb.c:294
No locals.
#3  0x03ac9680 in usb_find_devices () at usb.c:121
        tndev = 0x0
        ndev = 0x8081000
        tdev = 0x8094988
        devices = 0x8082038
        dev = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        bus = <value optimized out>
        ret = <value optimized out>
        changes = 0
#4  0x0805a12e in dkp_device_csr_init (csr=<value optimized out>)
    at dkp-device-csr.c:289
No locals.
#5  0x00cea4c5 in IA__g_type_create_instance (type=<value optimized out>)
    at gtype.c:1674
        node = 0x808d618
        instance = 0x80800f0 [DkpDeviceCsr]
        class = <value optimized out>
        i = <value optimized out>
        total_size = <value optimized out>
#6  0x00ccee69 in g_object_constructor (type=<value optimized out>, 
    n_construct_properties=<value optimized out>, 
    construct_params=<value optimized out>) at gobject.c:1383
        object = <value optimized out>
#7  0x00ccfe38 in IA__g_object_newv (object_type=<value optimized out>, 
    n_parameters=<value optimized out>, parameters=<value optimized out>)
    at gobject.c:1171
        cparams = 0x0
        oparams = 0x0
        nqueue = 0x0
---Type <return> to continue, or q <return> to quit---
        object = <value optimized out>
        class = <value optimized out>
        unref_class = <value optimized out>
        slist = 0x0
        n_total_cparams = <value optimized out>
        n_cparams = 0
        n_oparams = 0
        n_cvalues = 134515732
        cvalues = <value optimized out>
        clist = 0x0
        newly_constructed = 134515732
        i = <value optimized out>
        __PRETTY_FUNCTION__ = "IA__g_object_newv"
#8  0x00cd0cba in IA__g_object_new_valist (object_type=<value optimized out>, 
    first_property_name=<value optimized out>, var_args=<value optimized out>)
    at gobject.c:1323
        class = <value optimized out>
        params = <value optimized out>
        name = <value optimized out>
        object = 0x0
        n_params = 0
        n_alloced_params = 16
        __PRETTY_FUNCTION__ = "IA__g_object_new_valist"
---Type <return> to continue, or q <return> to quit---
#9  0x00cd0e3e in IA__g_object_new (object_type=<value optimized out>, 
    first_property_name=<value optimized out>) at gobject.c:1086
        __PRETTY_FUNCTION__ = "IA__g_object_new"
#10 0x080596f8 in dkp_device_csr_new () at dkp-device-csr.c:338
No locals.
#11 0x08056be8 in dkp_backend_device_new (native=<value optimized out>, 
    backend=<value optimized out>) at dkp-backend.c:111
        native_path = <value optimized out>
        device = 0x0
        ret = <value optimized out>
        subsys = 0x8079950 ""
        input = 0x8079950
#12 dkp_backend_device_add (native=<value optimized out>, 
    backend=<value optimized out>) at dkp-backend.c:207
        object = <value optimized out>
        device = <value optimized out>
        ret = 1
        __FUNCTION__ = "dkp_backend_device_add"
#13 0x08056ea1 in dkp_backend_coldplug (backend=<value optimized out>, 
    daemon=<value optimized out>) at dkp-backend.c:301
        native = <value optimized out>
        devices = 0x806bc90 = {0x8070400, 0x8070428, 0x8070450, 0x8070478, 
    0x80704a0, 0x80704c8, 0x80704f0, 0x8070518, 0x8070540, 0x8070568, 
---Type <return> to continue, or q <return> to quit---
    0x8070590, 0x80705b8, 0x8070600, 0x8070628, 0x8070650, 0x8070678, 
    0x80706a0, 0x80706c8, 0x80706f0, 0x8070718, 0x8070740, 0x8070768, 
    0x8070790, 0x80707b8, 0x8070800, 0x8070828, 0x8070850}
        l = <value optimized out>
        i = <value optimized out>
        subsystems = {0x806071d "power_supply", 0x806072e "usb", 
    0x806072a "tty", 0x8060732 "input", 0x0}
        __FUNCTION__ = "dkp_backend_coldplug"
#14 0x0804d1ba in dkp_daemon_startup (daemon=<value optimized out>)
    at dkp-daemon.c:658
        ret = <value optimized out>
        on_battery = <value optimized out>
        on_low_battery = <value optimized out>
        __FUNCTION__ = "dkp_daemon_startup"
#15 0x0805647e in main (argc=1, argv=0xbffff694) at dkp-main.c:187
        error = 0x0
        daemon = <value optimized out>
        qos = <value optimized out>
        wakeups = <value optimized out>
        context = 0x8079c18
        bus_proxy = <value optimized out>
        bus = <value optimized out>
        ret = <value optimized out>
---Type <return> to continue, or q <return> to quit---
        retval = 1
        timed_exit = 0
        immediate_exit = 0
        options = {{long_name = 0x8060384 "timed-exit", short_name = 0 '\000', 
            flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0xbffff5c8, 
            description = 0x806036b "Exit after a small delay", 
            arg_description = 0x0}, {long_name = 0x806038f "immediate-exit", 
            short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, 
            arg_data = 0xbffff5c4, description = 
    0x80603f0 "Exit after the engine has loaded", arg_description = 0x0}, {
            long_name = 0x0, short_name = 0 '\000', flags = 0, arg = 
    G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 
    0x0}}
        __FUNCTION__ = "main"

Comment 13 Gregory S. Hayes 2009-12-29 05:02:07 UTC
The USB device causing the issue is the Logitech Z-5 Speakers:

T:  Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=046d ProdID=0a13 Rev=01.00
S:  Manufacturer=Logitech
S:  Product=Logitech Z-5 Speakers
C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=500mA
I:  If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=00 Driver=snd-usb-audio
I:  If#= 1 Alt= 2 #EPs= 1 Cls=01(audio) Sub=02 Prot=00 Driver=snd-usb-audio

Disconnecting this device and rebooting allows devkit-power-daemon to run with no issue.

Comment 14 Jan Vcelak 2010-06-23 15:07:44 UTC
I've just requested new version of libusb into updates testing:
http://admin.fedoraproject.org/updates/libusb-0.1.12-23.fc12

I don't suppose it will fix this issue, but please give it a try and add a comment into this report.

Upstream is not willing to support libusb, new packages should use libusb1 instead. They provide libusb-compat for compatibility (wrapper around libusb1). I'm strongly considering replacing libusb with libusb-compat, as suggested.

Comment 15 Jan Vcelak 2010-06-24 14:55:55 UTC
Here is my mock build of libusb-compat for F13 (x86_64 and i386):
http://jvcelak.fedorapeople.org/libusb-compat/

Please, can you test it and add a comment, if it fixes your bug?

how to install:

download libusb-compat-0.1.3-1.fc13.<arch>.rpm
# yum --nogpgcheck localinstall <downloaded-rpm>

how to uninstall:

# yum shell
> install libusb
> remove libusb-compat
> ts run
> exit

Thank you

Jan

Comment 16 Jan Vcelak 2010-07-12 08:27:50 UTC
Hello,
did libusb-compat fix your bug?

Jan

Comment 17 Jan Vcelak 2010-08-27 13:58:22 UTC
No feedback from the reporter more than 6 months.

I suppose libusb-compat will fix this bug. I've sucessfully built it for Rawhide (libusb-0.1.3-1.fc15), therefore closing as CLOSED RAWHIDE.


Note You need to log in before you can comment on or make changes to this bug.