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]
Message-ID: <4BBD85E4.7000006@dcl.info.waseda.ac.jp>
Date:	Thu, 08 Apr 2010 16:29:40 +0900
From:	Hitoshi Mitake <mitake@....info.waseda.ac.jp>
To:	Arnaldo Carvalho de Melo <acme@...radead.org>
CC:	Ingo Molnar <mingo@...e.hu>, Paul Mackerras <paulus@...ba.org>,
	Frederic Weisbecker <fweisbec@...il.com>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: Floating point exception by perf record

On 04/08/10 15:46, Hitoshi Mitake wrote:
 > On 04/07/10 19:38, Arnaldo Carvalho de Melo wrote:
 >  > Em Wed, Apr 07, 2010 at 05:32:24PM +0900, Hitoshi Mitake escreveu:
 >  >> On 04/06/10 03:31, Arnaldo Carvalho de Melo wrote:
 >  >>> Em Sun, Apr 04, 2010 at 05:10:57PM +0900, Hitoshi Mitake escreveu:
 >  >>> [root@...pio ~]# perf lock report | head -3
 >  >>> Warning: Error: expected 'data' but read 'overwrite'
 >  >>> ID Name acquired contended
 >  >> total wait (ns) max wait (ns) min wait (ns)
 >  >>>
 >  >>> 0xffff8800029d4b28&q->lock 0 0 0
 >  >> 0 0
 >  >>> [root@...pio ~]#
 >  >>>
 >  >>> My system details:
 >  >>>
 >  >>> [root@...pio ~]# uname -a
 >  >>> Linux doppio.ghostprotocols.net 2.6.34-rc3-tip+ #1 SMP Mon Apr 5
 >  >> 13:49:42 BRT 2010 x86_64 x86_64 x86_64 GNU/Linux
 >  >>> [root@...pio ~]# rpm -q newt
 >  >>> newt-0.52.10-4.fc11.x86_64
 >  >>> [root@...pio ~]#
 >  >>>
 >  >>> No segfaults here :-\
 >  >>>
 >  >>> - Arnaldo
 >  >>>
 >  >>
 >  >> I tested perf lock trace and got a similar error (but different).
 >  >> % sudo ./perf lock trace
 >  >> Fatal: reading input file (size expected=3 received=0)
 >  >> It seems that perf.data is broken :( I'll search the cause.
 >  >
 >  > Take a look at:
 >  >
 >  > http://git.kernel.org/?p=linux/kernel/git/acme/linux-2.6.git;a=summary
 >  >
 >  > "perf" branch, there is at least one fix there, the "overwrite" one.
 >  >
 >
 > Thanks for your notify!
 > I applied changes on your branch, but my problem was not solved...
 >
 > I found that the member "offset" of struct perf_file_header is broken.
 > I made this easy change,
 >
 > diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
 > index 6c9aa16..dbea087 100644
 > --- a/tools/perf/util/header.c
 > +++ b/tools/perf/util/header.c
 > @@ -571,6 +571,7 @@ int perf_header__process_sections(struct perf_header
 > *self, int fd,
 > if (perf_header__getbuffer64(self, fd, feat_sec, sec_size))
 > goto out_free;
 >
 > + printf("feat_sec->offset:%llu\n", feat_sec->offset);
 > err = 0;
 > while (idx < nr_sections && feat < HEADER_LAST_FEATURE) {
 > if (perf_header__has_feat(self, feat)) {
 >
 > And the result is this:
 >
 > % sudo ./perf lock report
 > Fatal: reading input file (size expected=3 received=0)
 > feat_sec->offset:18014402804449281 # <- Wow! :(
 >
 > It seems that header of perf.data is broken...
 > But it may be a cause of this problem, I'll try to fix it.
 >

I tried to build perf without newt,
then perf lock record could work without floating point exception
I mentioned earlier.

And perf lock report could parsed the perf.data previous perf lock 
record produced.

The cause of breaking header of perf.data is that
handler registerd by atexit() was not called.

Hmm...
--
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