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-next>] [day] [month] [year] [list]
Date:	Thu, 19 Jun 2014 07:39:42 +0000
From:	Tony Lu <>
To:	Peter Zijlstra <>,
	Paul Mackerras <>,
	Ingo Molnar <>,
	Arnaldo Carvalho de Melo <>
CC:	"" <>,
	Tony Lu <>, Chris Metcalf <>
Subject: [BUG] perf: can not resolve symbols for forked threads


I got the below output that shows perf can not resolve symbols for forked threads. I did a system-wide collection from all CPUs after the application hello run.

-bash-4.1$ ./perf --version
perf version 3.16.rc1.ge99cfa2
-bash-4.1$ ./hello & ./perf record -a sleep 5
-bash-4.1$ ./perf report
# Overhead      Command       Shared Object                         Symbol
# ........  ...........  ..................  .............................
    54.77%        hello  [unknown]           [.] 0x0000000000400610       
    28.59%        hello  [unknown]           [.] 0x0000000000400615       
    16.53%        hello  [unknown]           [.] 0x000000000040061f       
     0.01%        hello  [kernel.kallsyms]   [k] __rcu_process_callbacks  
     0.01%         perf  [kernel.kallsyms]   [k] copy_user_generic_string 
     0.01%        sleep  [kernel.kallsyms]   [k] filemap_fault

/***************************************************************************** FILE: hello.c
** A "hello world" Pthreads program to trigger this bug.
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define NUM_THREADS     5

void foo(void)
  long i = 1000000000;
  while (i--) {

void *PrintHello(void *threadid)
   long tid;
   tid = (long)threadid;
   printf("Hello World! It's me, thread #%ld!\n", tid);

int main(int argc, char *argv[])
   pthread_t threads[NUM_THREADS];
   int rc;
   long t;
     printf("In main: creating thread %ld\n", t);
     rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t);
     if (rc){
       printf("ERROR; return code from pthread_create() is %d\n", rc);

   /* Last thing that main() should do */

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Powered by blists - more mailing lists