This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Semantic error while accessing a function parameter with linux 2.6.29 ppc64


The following simple one line script is failing with a semantic error
on linux 2.6.29 ppc64 .
The same script works fine on linux 2.6.28.
Is there any new config option that needs to be enabled with 2.6.29?

stap -e 'probe kernel.function("tcp_transmit_skb") { printf("skb:%p \n",$skb) }'

semantic error: not accessible at this address: identifier '$skb' at
<input>:1:64
        source: probe kernel.function("tcp_transmit_skb") {
printf("skb:%p \n",$skb) }
                                                                               ^
Pass 2: analysis failed.  Try again with another '--vp 01' option.

Here is the output with more verbose debug information

# ./stap -v -v -v -e 'probe kernel.function("tcp_transmit_skb") {
printf("skb:%p \n",$skb) }'
SystemTap translator/driver (version 0.9/0.137 commit bc02f409)
Copyright (C) 2005-2009 Red Hat, Inc. and others
This is free software; see the source for copying conditions.
Session arch: ppc64 release: 2.6.29
Created temporary directory "/tmp/stap6kvFMd"
Searched '/home/sridhar/git/systemtap//share/systemtap/tapset/ppc64/*.stp',
found 2
Searched '/home/sridhar/git/systemtap//share/systemtap/tapset/*.stp', found 47
Pass 1: parsed user script and 49 library script(s) in 400usr/0sys/418real ms.
parsed 'tcp_transmit_skb' -> func 'tcp_transmit_skb'
blacklist regexps:
blfn: ^(atomic_notifier_call_chain|default_do_nmi|__die|die_nmi|do_debug|do_general_protection|do_int3|do_IRQ|do_page_fault|do_sparc64_fault|do_trap|dummy_nmi_callback|flush_icache_range|ia64_bad_break|ia64_do_page_fault|ia64_fault|io_check_error|mem_parity_error|nmi_watchdog_tick|notifier_call_chain|oops_begin|oops_end|program_check_exception|single_step_exception|sync_regs|unhandled_fault|unknown_nmi_error|.*raw_.*lock.*|.*read_.*lock.*|.*write_.*lock.*|.*spin_.*lock.*|.*rwlock_.*lock.*|.*rwsem_.*lock.*|.*mutex_.*lock.*|raw_.*|.*seq_.*lock.*|atomic_.*|atomic64_.*|get_bh|put_bh|.*apic.*|.*APIC.*|.*softirq.*|.*IRQ.*|.*_intr.*|__delay|.*kernel_text.*|get_current|current_.*|.*exception_tables.*|.*setup_rt_frame.*|.*preempt_count.*|preempt_schedule)$
blfn_ret: ^(do_exit|sys_exit|sys_exit_group)$
blfile: ^(kernel/kprobes.c|arch/.*/kernel/kprobes.c|include/asm/io.h|include/asm/bitops.h|arch/.*/include/asm/io.h|arch/.*/include/asm/bitops.h|drivers/ide/ide-iops.c)$
focused on module 'kernel = [0xc000000000000000-0xc000000000b08840,
bias 0x0] file /boot/vmlinux-2.6.29 ELF machine ppc64 (code 21)
focused on module 'kernel'
selected function tcp_transmit_skb
probe tcp_transmit_skb@net/ipv4/tcp_output.c:597 kernel reloc=.dynamic
section=.text pc=0xc0000000003e7e70
finding location for local 'skb' near address 0xc0000000003e7e70,
module bias 0x0
Eliding side-effect-free singleton block operator '{' at <input>:1:43
Resolution problem with probe probe_1427
printf("skb:%p \\n", $skb)
semantic error: not accessible at this address: identifier '$skb' at
<input>:1:64
        source: probe kernel.function("tcp_transmit_skb") {
printf("skb:%p \n",$skb) }
                                                                               ^
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0
global(s) in 420usr/1000sys/1443real ms.
Pass 2: analysis failed.  Try again with another '--vp 01' option.
Running rm -rf /tmp/stap6kvFMd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]