Bugzilla – Bug 103944
powersaved crashing on x86-64
Last modified: 2005-09-04 15:20:22 UTC
powersaved is crashing on x86-64 after a while. wpyc042:~ # /etc/init.d/powersaved start Starting powersaved (accessing ACPI events over acpid) done wpyc042:~ # /etc/init.d/powersaved status Checking for service powersaved running wpyc042:~ # sleep 3600; /etc/init.d/powersaved status Checking for service powersaved dead The only entries in /var/log/messages are: Aug 10 20:11:50 linux kernel: powernow-k8: Found 1 AMD Athlon 64 / Opteron proce ssors (version 1.50.3) Aug 10 20:11:50 linux kernel: powernow-k8: BIOS error - no PSB or ACPI _PSS obje cts Aug 10 20:11:50 linux rcpowersaved: CPU frequency scaling is not supported by yo ur processor. Aug 10 20:11:50 linux rcpowersaved: enter 'CPUFREQD_MODULE=off' in /etc/sysconfi g/powersave/cpufreq to avoid this warning. Aug 10 20:11:50 linux rcpowersaved: Cannot load cpufreq governors - No cpufreq d river available Aug 10 20:11:50 linux [powersave][6233]: ERROR in Function PM_Interface; line 24 1: Cannot create cpufreq objects Aug 10 20:11:51 linux [powersave][6233]: WARNING in Function filter_function; li ne 250: Received message from invalid interface Aug 10 20:11:51 linux [powersave][6233]: WARNING in Function filter_function; li ne 250: Received message from invalid interface
Does this always happen, or have you played with other services? Hal, DBus, acpid (if an APCI machine) should be running. Still, it should not behave like that of course, even services are not running. Can you also install the powersave-debug.rpm, please. Then run: su - gdb powersaved run -v7 -f /var/run/acpid.socket If the program segfaults, please type "bt" and send output. If not, increase debug output of powersaved in /etc/sysconfig/powersave/common DEBUG="15" or even DEBUG="31" then: rcpowersaved restart and send syslog output (if it still does not start), maybe I can find the bad lines from that. Thanks.
wpyc022:~ # gdb powersaved GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "x86_64-suse-linux"...Using host libthread_db library "/lib64/tls/libthread_db.so.1". (gdb) run -v7 -f /var/run/acpid.socket Starting program: /usr/sbin/powersaved -v7 -f /var/run/acpid.socket Eventfile: /var/run/acpid.socket *** glibc detected *** free(): invalid pointer: 0x000000000054cd94 *** Program received signal SIGABRT, Aborted. 0x00002aaaab8bc3ca in raise () from /lib64/tls/libc.so.6 (gdb) bt #0 0x00002aaaab8bc3ca in raise () from /lib64/tls/libc.so.6 #1 0x00002aaaab8bd800 in abort () from /lib64/tls/libc.so.6 #2 0x00002aaaab8f1fde in __libc_message () from /lib64/tls/libc.so.6 #3 0x00002aaaab8f737c in malloc_printerr () from /lib64/tls/libc.so.6 #4 0x00002aaaab8f7e0c in free () from /lib64/tls/libc.so.6 #5 0x0000000000429c0c in clientConnection::checkClientRemoval (this=0x54ae80, name=0x54cfb0 ":1.72") at clientConnection.cpp:68 #6 0x000000000042d4a7 in DBus_Server::filter_function (conn=<value optimized out>, msg=0x54ab90, data=<value optimized out>) at dbus_server.cpp:342 #7 0x00002aaaab0eb9ee in dbus_connection_dispatch () from /usr/lib64/libdbus-1.so.1 #8 0x000000000042c4dc in DBus_Server::handleRequest () at dbus_server.cpp:407 #9 0x00000000004201a7 in PM_Interface::start (this=0x5495d0) at powersaved.cpp:459 #10 0x0000000000422960 in main (argc=4, argv=0x7fffff9d2768) at powersaved.cpp:1325 #11 0x00002aaaab8aa55a in __libc_start_main () from /lib64/tls/libc.so.6 #12 0x000000000040541a in _start () at start.S:113 #13 0x00007fffff9d2758 in ?? () #14 0x00002aaaaabc19c0 in rtld_errno () from /lib64/ld-linux-x86-64.so.2 #15 0x0000000000000004 in ?? () #16 0x00007fffff9d439b in ?? () #17 0x00007fffff9d43b0 in ?? () #18 0x00007fffff9d43b4 in ?? () #19 0x00007fffff9d43b7 in ?? () #20 0x0000000000000000 in ?? () #21 0x00007fffff9d43cd in ?? () #22 0x00007fffff9d43e6 in ?? () ---Type <return> to continue, or q <return> to quit---
How to reproduce: Start powersaved on a x86_64 machine Log into that machine as user (can be ssh session) Start kpowersave, if not already running Quit kpowersave and powersved crashes This procedure does not work on i386.
Thanks for the very detailed bug report. I'll have a look into this (sorry, not enough time before weekend) and come back to you.
This should be fixed. Could you please retest with a new package (best is from Beta4). Tell me if you need a separate package if it's not accessable via OpenSUSE and I will put one on our ftp server, so you don't have to reinstall all (in Yast software it should also be possible to refresh/update the installation source, then update system should bring your Beta1 to Beta3/4. Thanks.
Yes, it works fine with beta4.