[Bug translator/13100] New: Building tracepoint cache all at once fails when kernel debuginfo installed

mjw at redhat dot com sourceware-bugzilla@sourceware.org
Tue Aug 16 20:50:00 GMT 2011


http://sourceware.org/bugzilla/show_bug.cgi?id=13100

             Bug #: 13100
           Summary: Building tracepoint cache all at once fails when
                    kernel debuginfo installed
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap@sourceware.org
        ReportedBy: mjw@redhat.com
    Classification: Unclassified


Commit d4393459 introduced deeper searching for "hidden" tracepoints.
This uses the include files from the kernel debuginfo package.
But this seems to make the first pass of trying to create a tracepoint cache in
one go always fail because now headers are included two times (ones under
/lib/module/.../build/include and once under
/usr/src/debug////////kernel.../include/

Example:
$rm -rf ~/.systemtap
$ stap -e 'probe kernel.trace("sched_wakeup") { log("wake!"); exit(); }'
Warning: make exited with status: 2
[... wait some long time ...]
wake!

Things still work because after that first attempt it tries building each
tracepoint header file individually. So it is really just a transient warning,
causing fallback to a slow caching method.

More verbose logs:

Located kernel source tree (DW_AT_comp_dir) at
'/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64'
Checking tracepoint glob
/lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/*.h
Checking tracepoint glob
/lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/*.h
Checking tracepoint glob
/lib/modules/2.6.35.13-92.fc14.x86_64/build/arch/x86/kvm/*trace.h
Checking tracepoint glob
/lib/modules/2.6.35.13-92.fc14.x86_64/build/fs/xfs/linux-*/xfs_tr*.h
Checking tracepoint glob
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/*.h
Checking tracepoint glob
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/*.h
Checking tracepoint glob
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/arch/x86/kvm/*trace.h
Checking tracepoint glob
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/fs/xfs/linux-*/xfs_tr*.h
Pass 2: getting a tracepoint query for 45 headers: 
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/bkl.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/block.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/ext4.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/irq.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/jbd2.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/kmem.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/kvm.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/lock.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/mce.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/module.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/napi.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/power.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/sched.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/scsi.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/signal.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/skb.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/syscalls.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/timer.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/events/workqueue.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/boot.h
  /lib/modules/2.6.35.13-92.fc14.x86_64/build/include/trace/syscall.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/bkl.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/block.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/ext4.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/irq.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/jbd2.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/kmem.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/kvm.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/lock.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/mce.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/module.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/napi.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/power.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/sched.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/scsi.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/signal.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/skb.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/syscalls.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/timer.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/events/workqueue.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/boot.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/include/trace/syscall.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/arch/x86/kvm/mmutrace.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/arch/x86/kvm/trace.h
 
/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64/fs/xfs/linux-2.6/xfs_trace.h
Running make -C /lib/modules/2.6.35.13-92.fc14.x86_64/build
M=/tmp/staplYckyE/tracequery_kmod_1 modules ARCH=x86_64 V=1
make: Entering directory `/usr/src/kernels/2.6.35.13-92.fc14.x86_64'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (    \
echo;                                \
echo "  ERROR: Kernel configuration is invalid.";        \
echo "         include/generated/autoconf.h or include/config/auto.conf are
missing.";\
echo "         Run 'make oldconfig && make prepare' on kernel src to fix it."; 
  \
echo;                                \
/bin/false)
mkdir -p /tmp/staplYckyE/tracequery_kmod_1/.tmp_versions ; rm -f
/tmp/staplYckyE/tracequery_kmod_1/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmp/staplYckyE/tracequery_kmod_1
  gcc -Wp,-MD,/tmp/staplYckyE/tracequery_kmod_1/.tracequery_kmod_1.o.d 
-nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/4.5.1/include
-I/usr/src/kernels/2.6.35.13-92.fc14.x86_64/arch/x86/include -Iinclude 
-include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -Wno-format-security
-fno-delete-null-pointer-checks -Os -m64 -mtune=generic -mno-red-zone
-mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -fstack-protector
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1
-pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx
-mno-sse2 -mno-3dnow -Wframe-larger-than=2048 -fno-omit-frame-pointer
-fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement
-Wno-pointer-sign -fno-strict-overflow -fconserve-stack -g
-Wno-implicit-function-declaration -Werror
-I/usr/src/debug////////kernel-2.6.35.fc14/linux-2.6.35.x86_64  -DMODULE
-D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(tracequery_kmod_1)" 
-D"KBUILD_MODNAME=KBUILD_STR(tracequery_kmod_1)" -D"DEBUG_HASH=10"
-D"DEBUG_HASH2=51" -c -o /tmp/staplYckyE/tracequery_kmod_1/tracequery_kmod_1.o
/tmp/staplYckyE/tracequery_kmod_1/tracequery_kmod_1.c
In file included from
/tmp/staplYckyE/tracequery_kmod_1/tracequery_kmod_1.c:146:0:
include/trace/events/napi.h:12:1: error: redefinition of ‘stapprobe_napi_poll’
include/trace/events/napi.h:12:1: note: previous definition of
‘stapprobe_napi_poll’ was here
make[1]: *** [/tmp/staplYckyE/tracequery_kmod_1/tracequery_kmod_1.o] Error 1
make: *** [_module_/tmp/staplYckyE/tracequery_kmod_1] Error 2
make: Leaving directory `/usr/src/kernels/2.6.35.13-92.fc14.x86_64'
Spawn waitpid result (0x200): 2
Warning: make exited with status: 2
Copying /dev/null to
/home/mark/.systemtap/cache/98/tracequery_9820af1e799794b0d47d40c88a1f5129_4917.ko
Pass 2: getting a tracepoint query for 1 headers: 
[...]

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Systemtap mailing list