Re: perf: perf sched lat segfault - bisected

Mike Galbraith
2013-10-08T13:44:44Z

On Tue, 2013-10-08 at 07:20 -0600, David Ahern wrote:
> On 10/8/13 6:35 AM, Mike Galbraith wrote:
> >
> > (except replay segfaults, but lord knows when that last worked)
>
> Fairly recently actually. I ran it early summer adding my timehist
> command to builtin-sched.c. I'll take a look later today.

pr_err() blows up in self_open_counters() when you hit 1024 fds. Too
many threads to play back after recording make in perf directory.
Playing a static load back works fine.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffedbc8700 (LWP 5270)]
buffered_vfprintf (s=0x7ffff301f700, format=0x65b9e0 "Error: sys_perf_event_open() syscall returned with %d (%s)\n", args=0x7fffedbc7a90) at vfprintf.c:2265
2265 result = INTUSE(_IO_vfprintf) (hp, format, args);
(gdb) where
#0 buffered_vfprintf (s=0x7ffff301f700, format=0x65b9e0 "Error: sys_perf_event_open() syscall returned with %d (%s)\n", args=0x7fffedbc7a90) at vfprintf.c:2265
#1 0x00007ffff2cd9dbe in _IO_vfprintf_internal (s=0x7ffff301f700, format=0x65b9e0 "Error: sys_perf_event_open() syscall returned with %d (%s)\n", ap=0x7fffedbc7a90) at vfprintf.c:1291
#2 0x00007ffff2d84148 in ___vfprintf_chk (fp=0x7ffff301f700, flag=1, format=<optimized out>, ap=<optimized out>) at vfprintf_chk.c:35
#3 0x000000000048d4f8 in vfprintf (__ap=0x7fffedbc7a90, __fmt=<optimized out>, __stream=<optimized out>) at /usr/include/bits/stdio2.h:128
#4 eprintf (level=<optimized out>, fmt=<optimized out>) at util/debug.c:29
#5 0x000000000043aa10 in self_open_counters () at builtin-sched.c:441
#6 thread_func (ctx=<optimized out>) at builtin-sched.c:476
#7 0x00007ffff79b1f05 in start_thread (arg=0x7fffedbc8700) at pthread_create.c:301
#8 0x00007ffff2d7010d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
(gdb)