Re: [perfmon2] segmentation fault while running pfmon
Status: Beta
Brought to you by:
seranian
From: stephane e. <er...@go...> - 2009-09-24 08:20:19
|
On Thu, Sep 24, 2009 at 9:29 AM, Qingyuan Deng <dd...@gm...> wrote: > I tracked into the program and found the segmentation fault happened at: > > in pfmon.c > pfmon_initialize()->pfm_get_max_event_name_len(&len) > > then it jumped into pfmlib_common.c > > pfm_get_max_event_name_len (len=0xbffd9460) at pfmlib_common.c:907 > 907 if (PFMLIB_INITIALIZED() == 0) > (gdb) n > 909 if (len == NULL) > (gdb) n > 912 for(i=0; i < pfm_current->pme_count; i++) { > (gdb) n > 913 str = pfm_current->get_event_name(i); > (gdb) n > 914 if (!str) > (gdb) n > 916 l = strlen(str); > (gdb) n > > Program received signal SIGSEGV, Segmentation fault. > 0xb7ef5613 in strlen () from /lib/tls/i686/cmov/libc.so.6 > > Here is the backtrace: > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0xb7e7a8d0 (LWP 5257)] > 0xb7ef2613 in strlen () from /lib/tls/i686/cmov/libc.so.6 > (gdb) backtrace > #0 0xb7ef2613 in strlen () from /lib/tls/i686/cmov/libc.so.6 > #1 0xb7fed411 in pfm_get_max_event_name_len (len=0xbf8d5d60) > at pfmlib_common.c:916 > #2 0x0804dd45 in pfmon_initialize (argv=0xbf8d5e64) at pfmon.c:1469 > #3 0x0804eadf in main (argc=1, argv=0xbf8d5e64) at pfmon.c:1900 > (gdb) I have seen this problem on an other machine as well. But I don't remember what the cause was. It has to do with the event table. Could you print the value of i (the event index) so we know where it stops? > > On Thu, Sep 24, 2009 at 3:25 AM, stephane eranian <er...@go...> > wrote: >> >> What does ldd pfmon say? >> >> >> On Thu, Sep 24, 2009 at 9:01 AM, Qingyuan Deng <dd...@gm...> wrote: >> > Hello, >> > >> > I patched the kernel and installed both libpfm and perfmon, however I >> > got >> > segmentation fault while I tried running command: "pfmon --help'. Could >> > anyone help me to figure it out please? >> > >> > I am running Ubuntu 9.04 on kernel 2.6.29. I downloaded the latest >> > version >> > of libpfm, perfmon, and the base system patch from the sourceforge page. >> > My >> > processor is Intel core i7 920 and I adjusted related configuration when >> > I >> > configured the kernel. Following is the debug message from gdb: >> > >> > >> > qdeng@qdeng-desktop:~/pmu/perfmon2/pfmon-3.9$ sudo make install >> > [sudo] password for qdeng: >> > make[1]: Entering directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/pfmon' >> > make[2]: Entering directory >> > `/home/qdeng/pmu/perfmon2/pfmon-3.9/pfmon/smpl_mod' >> > make[2]: Nothing to be done for `all'. >> > make[2]: Leaving directory >> > `/home/qdeng/pmu/perfmon2/pfmon-3.9/pfmon/smpl_mod' >> > cc -o pfmon pfmon.o pfmon_smpl.o pfmon_util.o pfmon_system.o >> > pfmon_task.o >> > pfmon_symbols.o pfmon_results.o pfmon_hash.o pfmon_smpl_dfl.o pfmon_os.o >> > pfmon_os_v2x.o pfmon_util_x86.o pfmon_i386_p6.o pfmon_gen_ia32.o >> > pfmon_amd64.o pfmon_core.o pfmon_intel_atom.o pfmon_intel_nhm.o >> > pfmon_pentium4.o -g -ggdb -Wall -Werror -D_REENTRANT >> > -I/usr/local/include >> > -DCONFIG_PFMON_I386 -DPFMON_DEBUG -DDATADIR=\"/usr/local/share/pfmon\" >> > -I. >> > -I/usr/include/libelf -D_GNU_SOURCE -DPFMON_DEBUG -g >> > smpl_mod/libsmplfmt.a >> > -lpthread -lm -lrt -Wl,-Bstatic -lelf -Wl,-Bdynamic -L/usr/local/lib >> > -lpfm >> > mkdir -p /usr/local/bin >> > install -m 755 pfmon /usr/local/bin/pfmon >> > ln -sf /usr/local/bin/pfmon /usr/local/bin/pfmon_gen >> > make[1]: Leaving directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/pfmon' >> > make[1]: Entering directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/tests' >> > mkdir -p /usr/local/bin >> > install -m 755 pfdbg /usr/local/bin/pfdbg >> > make[1]: Leaving directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/tests' >> > make[1]: Entering directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/docs' >> > mkdir -p /usr/local/share/man/man1 >> > install -m 644 pfmon.1 /usr/local/share/man/man1 >> > make[1]: Leaving directory `/home/qdeng/pmu/perfmon2/pfmon-3.9/docs' >> > qdeng@qdeng-desktop:~/pmu/perfmon2/pfmon-3.9$ pfmon --help >> > Segmentation fault >> > qdeng@qdeng-desktop:~/pmu/perfmon2/pfmon-3.9$ gdb pfmon >> > GNU gdb 6.8-debian >> > Copyright (C) 2008 Free Software Foundation, Inc. >> > License GPLv3+: GNU GPL version 3 or later >> > <http://gnu.org/licenses/gpl.html> >> > This is free software: you are free to change and redistribute it. >> > There is NO WARRANTY, to the extent permitted by law. Type "show >> > copying" >> > and "show warranty" for details. >> > This GDB was configured as "i486-linux-gnu"... >> > (gdb) run --help >> > Starting program: /usr/local/bin/pfmon --help >> > [Thread debugging using libthread_db enabled] >> > [New Thread 0xb7e598d0 (LWP 4437)] >> > >> > Program received signal SIGSEGV, Segmentation fault. >> > [Switching to Thread 0xb7e598d0 (LWP 4437)] >> > 0xb7ed1613 in strlen () from /lib/tls/i686/cmov/libc.so.6 >> > (gdb) >> > >> > Thanks! >> > Qingyuan >> > >> > >> > ------------------------------------------------------------------------------ >> > Come build with us! The BlackBerry® Developer Conference in SF, CA >> > is the only developer event you need to attend this year. Jumpstart your >> > developing skills, take BlackBerry mobile applications to market and >> > stay >> > ahead of the curve. Join us from November 9-12, 2009. Register >> > now! >> > http://p.sf.net/sfu/devconf >> > _______________________________________________ >> > perfmon2-devel mailing list >> > per...@li... >> > https://lists.sourceforge.net/lists/listinfo/perfmon2-devel >> > >> > > > |