lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 24 Oct 2010 13:50:04 +0100
From:	Sitsofe Wheeler <sitsofe@...oo.com>
To:	Frederic Weisbecker <fweisbec@...il.com>
Cc:	Peter Zijlstra <peterz@...radead.org>,
	linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>,
	Corentin Chary <corentincj@...aif.net>
Subject: Re: EeePC 900 reboots/hangs when using using perf -a -f -g

Hi Frederic,

Sorry I'm not quite sure how I missed your reply - I've only just
noticed it:

On Sat, Oct 02, 2010 at 11:03:17PM +0200, Frederic Weisbecker wrote:
> 
> I've been unable to reproduce with your config in latest tip:/perf/core,
> I haven't tested in a eeepc though.
> 
> Did you check with 2.6.36-rc4 or with a tip branch?

I was checking with 2.6.36-rc4. I have just checked again with a recent
tip:/perf/core (66a301c380d4e463424db572b348de4913ec191a) and the
problem can still be reliably triggered.

I've narrowed the steps to cause the problem too. Running
perf record -a -f -g "sleep 5s"
and then doing
echo 0 > /sys/class/backlight/eeepc/brightness
will reliably trigger the problem (on this EeePC 900 the brightness
controls are provided by the eeepc-laptop driver).

One other thing to note is that I am building perf on a Fedora 12 system
and running the binary on an Ubuntu 10.04 system. I build perf
statically and at the during compilation the following is printed:
$ LDFLAGS=-static make
Makefile:568: newt not found, disables TUI support. Please install newt-devel or libnewt-dev
[...]
    LINK perf
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libpthread.a(libpthread.o): In function `sem_open':
(.text+0x6afa): warning: the use of `mktemp' is dangerous, better use `mkstemp'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwarf_getcfi.o): In function `dwarf_getcfi':
(.text+0xbf): undefined reference to `elf_getident'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module.o): In function `__libdwfl_module_free':
(.text+0x143): undefined reference to `ebl_closebackend'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(offline.o): In function `process_file':
(.text+0x7c): undefined reference to `elf_getarhdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(offline.o): In function `process_file':
(.text+0x161): undefined reference to `elf_next'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(offline.o): In function `process_file':
(.text+0x1ec): undefined reference to `elf_next'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(offline.o): In function `process_file':
(.text+0x2b9): undefined reference to `elf_cntl'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x170): undefined reference to `elf_getphdrnum'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x1c9): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x1fe): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x2b4): undefined reference to `gelf_getdyn'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x365): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x48e): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x55c): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x598): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x657): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x695): undefined reference to `gelf_getclass'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x6f6): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_dynsym':
(.text+0x7e1): undefined reference to `elf_getdata_rawchunk'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `__libdwfl_getelf':
(.text+0xa1a): undefined reference to `elf_getphdrnum'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `__libdwfl_getelf':
(.text+0xa5e): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `__libdwfl_module_getebl':
(.text+0xddd): undefined reference to `ebl_openbackend'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_debuginfo':
(.text+0xe53): undefined reference to `elf_getshdrstrndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_debuginfo':
(.text+0xfaa): undefined reference to `elf_getphdrnum'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_debuginfo':
(.text+0xfee): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `find_debuginfo':
(.text+0x1227): undefined reference to `gelf_xlatetom'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `load_dw':
(.text+0x15df): undefined reference to `elf_cntl'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_getdwarf.o): In function `load_dw':
(.text+0x1600): undefined reference to `elf_cntl'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(open.o): In function `what_kind':
(.text+0xcd): undefined reference to `elf_memory'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x219): undefined reference to `gzdopen'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x22e): undefined reference to `gzdirect'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x281): undefined reference to `gzread'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x30f): undefined reference to `gzerror'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x31a): undefined reference to `gzclose'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x337): undefined reference to `gzclose'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x37a): undefined reference to `gzclose'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(gzip.o): In function `__libdw_gunzip':
(.text+0x467): undefined reference to `gzclose'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(bzip2.o): In function `__libdw_bunzip2':
(.text+0x1bf): undefined reference to `BZ2_bzDecompressInit'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(bzip2.o): In function `__libdw_bunzip2':
(.text+0x227): undefined reference to `BZ2_bzDecompressEnd'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(bzip2.o): In function `__libdw_bunzip2':
(.text+0x2ac): undefined reference to `BZ2_bzDecompress'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(bzip2.o): In function `__libdw_bunzip2':
(.text+0x2e0): undefined reference to `BZ2_bzDecompressEnd'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(bzip2.o): In function `__libdw_bunzip2':
(.text+0x394): undefined reference to `BZ2_bzDecompressEnd'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(lzma.o): In function `__libdw_unlzma':
(.text+0x1c0): undefined reference to `lzma_auto_decoder'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(lzma.o): In function `__libdw_unlzma':
(.text+0x232): undefined reference to `lzma_end'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(lzma.o): In function `__libdw_unlzma':
(.text+0x2ec): undefined reference to `lzma_code'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(lzma.o): In function `__libdw_unlzma':
(.text+0x31e): undefined reference to `lzma_end'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(lzma.o): In function `__libdw_unlzma':
(.text+0x44a): undefined reference to `lzma_end'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(cfi.o): In function `__libdw_frame_at_address':
(.text+0x1c8d): undefined reference to `ebl_abi_cfi'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(cfi.o): In function `__libdw_frame_at_address':
(.text+0x1de1): undefined reference to `ebl_openbackend'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_report_elf.o): In function `__libdwfl_report_elf':
(.text+0x9a): undefined reference to `elf_getphdrnum'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_report_elf.o): In function `__libdwfl_report_elf':
(.text+0xf0): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_report_elf.o): In function `__libdwfl_report_elf':
(.text+0x1af): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_report_elf.o): In function `__libdwfl_report_elf':
(.text+0x44b): undefined reference to `gelf_update_shdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_report_elf.o): In function `__libdwfl_report_elf':
(.text+0xa5e): undefined reference to `gelf_update_shdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `__libdwfl_relocate_value':
(.text+0x7a): undefined reference to `elf_getshdrstrndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `__libdwfl_relocate_value':
(.text+0x107): undefined reference to `gelf_update_shdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate.7048':
(.text+0x200): undefined reference to `ebl_reloc_simple_type'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate.7048':
(.text+0x3c1): undefined reference to `gelf_xlatetof'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate.7048':
(.text+0x4b8): undefined reference to `gelf_getsymshndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate.7048':
(.text+0x5c3): undefined reference to `gelf_getsymshndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate.7048':
(.text+0x703): undefined reference to `gelf_xlatetom'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xc2b): undefined reference to `ebl_get_elfmachine'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xc87): undefined reference to `gelf_update_rela'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xd36): undefined reference to `ebl_debugscn_p'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xdbe): undefined reference to `ebl_get_elfmachine'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xe20): undefined reference to `gelf_update_rel'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xe73): undefined reference to `gelf_update_shdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xf08): undefined reference to `gelf_update_rela'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `relocate_section':
(.text+0xf85): undefined reference to `gelf_update_rel'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `__libdwfl_relocate_section':
(.text+0x102c): undefined reference to `elf_getshdrstrndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(relocate.o): In function `__libdwfl_relocate':
(.text+0x114f): undefined reference to `elf_getshdrstrndx'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_build_id.o): In function `check_notes':
(.text+0x3d): undefined reference to `gelf_getnote'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_build_id.o): In function `__libdwfl_find_build_id':
(.text+0x294): undefined reference to `elf_ndxscn'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_build_id.o): In function `__libdwfl_find_build_id':
(.text+0x2ea): undefined reference to `elf_getphdrnum'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_build_id.o): In function `__libdwfl_find_build_id':
(.text+0x328): undefined reference to `gelf_getphdr'
/usr/lib/gcc/i686-redhat-linux/4.4.4/../../../libdw.a(dwfl_module_build_id.o): In function `__libdwfl_find_build_id':
(.text+0x380): undefined reference to `elf_getdata_rawchunk'
collect2: ld returned 1 exit status
make: *** [perf] Error 1

Which is strange as RPM reports the following:

$ rpm -qa *elf* | sort
elfutils-0.148-1.fc12.i686
elfutils-devel-0.148-1.fc12.i686
elfutils-devel-static-0.148-1.fc12.i686
elfutils-libelf-0.148-1.fc12.i686
elfutils-libelf-devel-0.148-1.fc12.i686
elfutils-libelf-devel-static-0.148-1.fc12.i686
elfutils-libs-0.148-1.fc12.i686

So I build a dynamically linked perf.

-- 
Sitsofe | http://sucs.org/~sits/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ