On 12/24/2010 8:44 AM, Michael Riepe wrote:
Hi!

On 12/24/10 17:02, Arjan van de Ven wrote:
On 12/24/2010 7:54 AM, Michael Riepe wrote:
On 12/24/10 15:32, Arjan van de Ven wrote:
On 12/24/2010 12:12 AM, Andreas Mohr wrote:
Hi,

On Thu, Dec 23, 2010 at 07:07:39PM -0800, Arjan van de Ven wrote:
I'd like to ask everyone who's interested to give it a spin and give
feedback on how you like the new design,
I don't like it since I cannot even see it ;)
Well, I did get it compiled (with headers from 2.6.35), but then the
binary reported "nl80211 not found" (twice) and crashed with a SIGSEGV.
Maybe because I did it on a desktop PC without any wireless interfaces?
can you run it in gdb to get a backtrace?

(and can you tell us what kernel version you are running)
Of course. Here's the output, including the backtrace:

--- cut here ---
nl80211 not found.
                   nl80211 not found.

Program received signal SIGSEGV, Segmentation fault.
0xf7c9b42f in ____strtol_l_internal () from /lib/libc.so.6
(gdb) bt
#0  0xf7c9b42f in ____strtol_l_internal () from /lib/libc.so.6
#1  0xf7c9b1e0 in strtol () from /lib/libc.so.6
#2  0x0804cc5a in atoi (n=<value optimized out>, buf=0xffffce3c " ")
     at /usr/include/stdlib.h:286
#3  fmt_prefix (n=<value optimized out>, buf=0xffffce3c " ") at lib.cpp:312
#4  0x0804cd81 in format_watts (W=-nan(0x8000000000000),
buffer=0xffffceac "",
     len=11) at lib.cpp:247
#5  0x08066cfa in report_devices () at devices/device.cpp:158
#6  0x0804ed52 in one_measurement (seconds=1) at main.cpp:141
#7  0x0804f011 in main (argc=1, argv=0xffffd104) at main.cpp:241
--- cut here ---

Kernel is 2.6.35 (x86_64), glibc 2.12.2, gcc 4.5.1.

User space is 32 bit, but that doesn't make a difference - a 64-bit
version of the program behaves exactly the same:

--- cut here ---
nl80211 not found.
                   nl80211 not found.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6623665 in ____strtoll_l_internal () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff6623665 in ____strtoll_l_internal () from /lib64/libc.so.6
#1  0x0000000000405efc in atoi (n=<value optimized out>,
     buf=0x7fffffffdc90 " .00 ") at /usr/x86_64-linux/include/stdlib.h:286
#2  fmt_prefix (n=<value optimized out>, buf=0x7fffffffdc90 " .00 ")
     at lib.cpp:312
#3  0x0000000000406035 in format_watts (W=<value optimized out>,
     buffer=0x7fffffffdcf0 "", len=11) at lib.cpp:247
#4  0x000000000041f62c in report_devices () at devices/device.cpp:158
#5  0x0000000000407f93 in one_measurement (seconds=<value optimized out>)
     at main.cpp:141
#6  0x000000000040820e in main (argc=<value optimized out>,
     argv=0x7fffffffdf78) at main.cpp:241
--- cut here ---

The offending instruction is

        omag = atoi(strchr(tmpbuf, 'e') + 1);

in lib.cpp, line 312. I suppose the strchr() returns NULL. Syslog
reports (for the 32-bit version running without gdb):

powertop[29973]: segfault at 1 ip 00000000f73d842f sp 00000000ffd0d9f0
error 4 in libc-2.12.2.so[f73a9000+159000]

interesting; while I go dig at this...
can you tell me what your LANG (and locale) are set to ?
(I kind of am wondering if it breaks when set to de_DE.utf-8 ... would help me reproduce and debug)

_______________________________________________
Discuss mailing list
[email protected]
http://lists.lesswatts.org/listinfo/discuss

Reply via email to