public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr
@ 2011-12-07 15:20 mjw at redhat dot com
  2011-12-07 15:55 ` [Bug tapsets/13478] " dsmith at redhat dot com
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: mjw at redhat dot com @ 2011-12-07 15:20 UTC (permalink / raw)
  To: systemtap

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

             Bug #: 13478
           Summary: ARM tapset/signal.stp signal.handle tries to use
                    non-existing variable $signr
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tapsets
        AssignedTo: systemtap@sourceware.org
        ReportedBy: mjw@redhat.com
    Classification: Unclassified


tapset/signal.stp signal.handle probe seems to try to use the variable $signr
for the kernel function handle_signal that isn't there on ARM:

probe signal.handle = kernel.function("handle_rt_signal64") ?,
                      kernel.function("handle_rt_signal32") ?,
                      kernel.function("handle_signal32") !,
                      kernel.function("handle_signal")
{
    name = "handle"
    if (@defined($sig)) {
        sig = $sig
        sig_name = _signal_name($sig)
    }
    else {
        sig = $signr
        sig_name = _signal_name($signr)
    }
...
}

Running /root/systemtap/testsuite/buildok/process_test.stp
starting /root/systemtap/testsuite/buildok/process_test.stp
spawn1 stap -p4 /root/systemtap/testsuite/buildok/process_test.stp
spawn stap -p4 /root/systemtap/testsuite/buildok/process_test.stp
semantic error: unable to find local 'signr' near pc 0xc0059a54  in 
handle_signal arch/arm/kernel/signal.c ( (alternatives: $regs $oldset $info $ka
$sig): identifier '$signr' at
/root/install/share/systemtap/tapset/signal.stp:606:15
semantic error: unable to find local 'signr' near pc 0xc0059a54  in 
handle_signal arch/arm/kernel/signal.c ( (alternatives: $regs $oldset $info $ka
$sig): identifier '$signr' at
/root/install/share/systemtap/tapset/signal.stp:606:15
        source:         sig = $signr

        source:         sig = $signr
                              ^

                              ^
semantic error: unable to find local 'signr' near pc 0xc0059a54  in 
handle_signal arch/arm/kernel/signal.c ( (alternatives: $regs $oldset $info $ka
$sig): identifier '$signr' at :607:33

semantic error: unable to find local 'signr' near pc 0xc0059a54  in 
handle_signal arch/arm/kernel/signal.c ( (alternatives: $regs $oldset $info $ka
$sig): identifier '$signr' at :607:33
        source:         sig_name = _signal_name($signr)

        source:         sig_name = _signal_name($signr)
                                                ^

                                                ^
semantic error: unresolved type : identifier 'sig' at :606:9

semantic error: unresolved type : identifier 'sig' at :606:9
        source:         sig = $signr

        source:         sig = $signr
                        ^

                        ^
semantic error: unresolved type : identifier 'sig' at
/root/systemtap/testsuite/buildok/process_test.stp:43:14

semantic error: unresolved type : identifier 'sig' at
/root/systemtap/testsuite/buildok/process_test.stp:43:14
        source:   log(sprint(sig))

        source:   log(sprint(sig))
                             ^

                             ^
semantic error: unresolved type : identifier 'sprint' at :43:7

semantic error: unresolved type : identifier 'sprint' at :43:7
        source:   log(sprint(sig))

        source:   log(sprint(sig))
                      ^

                      ^
semantic error: unresolved type : identifier 'log' at :43:3

semantic error: unresolved type : identifier 'log' at :43:3
        source:   log(sprint(sig))

        source:   log(sprint(sig))
                  ^
semantic error: unresolved type : identifier 'sig' at
/root/install/share/systemtap/tapset/signal.stp:602:9
                  ^


semantic error: unresolved type : identifier 'sig' at
/root/install/share/systemtap/tapset/signal.stp:602:9
source:         sig = $sig

        source:         sig = $sig
  ^
Pass 2: analysis failed.  Try again with another '--vp 01' option.

                        ^

Pass 2: analysis failed.  Try again with another '--vp 01' option.
wait results: 32537 exp16 0 1
FAIL: buildok/process_test.stp

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tapsets/13478] ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr
  2011-12-07 15:20 [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr mjw at redhat dot com
@ 2011-12-07 15:55 ` dsmith at redhat dot com
  2011-12-07 17:40 ` jistone at redhat dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: dsmith at redhat dot com @ 2011-12-07 15:55 UTC (permalink / raw)
  To: systemtap

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

David Smith <dsmith at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dsmith at redhat dot com

--- Comment #1 from David Smith <dsmith at redhat dot com> 2011-12-07 15:49:57 UTC ---
Hmm, this one is quite strange.

The following code should handle that parameter being named '$sig' or '$signr':

    if (@defined($sig)) {
        sig = $sig
        sig_name = _signal_name($sig)
    }
    else {
        sig = $signr
        sig_name = _signal_name($signr)
    }

Since stap complains about not finding $signr, that means it couldn't find $sig
either.

But, one of the listed alternatives in the following error message *is* $sig:

  semantic error: unable to find local 'signr' near pc 0xc0059a54  in 
  handle_signal arch/arm/kernel/signal.c ( (alternatives: $regs $oldset $info
$ka
  $sig): identifier '$signr' at
  /root/install/share/systemtap/tapset/signal.stp:606:15

I don't have access to an arm system so I can't really look at this.  Could you
run the following commands and attach the output?

# stap -L 'kernel.function("handle_signal").*'
# stap -vp4 -e 'probe kernel.function("handle_signal") { print($sig) }'

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tapsets/13478] ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr
  2011-12-07 15:20 [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr mjw at redhat dot com
  2011-12-07 15:55 ` [Bug tapsets/13478] " dsmith at redhat dot com
@ 2011-12-07 17:40 ` jistone at redhat dot com
  2011-12-17  1:34 ` mjw at redhat dot com
  2023-10-06 15:24 ` wcohen at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: jistone at redhat dot com @ 2011-12-07 17:40 UTC (permalink / raw)
  To: systemtap

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

Josh Stone <jistone at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jistone at redhat dot com

--- Comment #2 from Josh Stone <jistone at redhat dot com> 2011-12-07 17:39:51 UTC ---
@defined wants things to be *fully* specified, so if $sig is missing location
info, then @defined will return 0.  ISTR we once thought about making @defined
a bit looser, but I don't recall the result of that.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tapsets/13478] ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr
  2011-12-07 15:20 [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr mjw at redhat dot com
  2011-12-07 15:55 ` [Bug tapsets/13478] " dsmith at redhat dot com
  2011-12-07 17:40 ` jistone at redhat dot com
@ 2011-12-17  1:34 ` mjw at redhat dot com
  2023-10-06 15:24 ` wcohen at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: mjw at redhat dot com @ 2011-12-17  1:34 UTC (permalink / raw)
  To: systemtap

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

--- Comment #3 from Mark Wielaard <mjw at redhat dot com> 2011-12-17 01:17:03 UTC ---
(In reply to comment #2)
> @defined wants things to be *fully* specified, so if $sig is missing location
> info, then @defined will return 0.  ISTR we once thought about making @defined
> a bit looser, but I don't recall the result of that.

It is a variant of this. The function is inlined. The sig formal_parameter has
and location list associated with it, but it doesn't cover the address where we
want to probe.

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Bug tapsets/13478] ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr
  2011-12-07 15:20 [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr mjw at redhat dot com
                   ` (2 preceding siblings ...)
  2011-12-17  1:34 ` mjw at redhat dot com
@ 2023-10-06 15:24 ` wcohen at redhat dot com
  3 siblings, 0 replies; 5+ messages in thread
From: wcohen at redhat dot com @ 2023-10-06 15:24 UTC (permalink / raw)
  To: systemtap

https://sourceware.org/bugzilla/show_bug.cgi?id=13478

William Cohen <wcohen at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wcohen at redhat dot com
             Status|NEW                         |RESOLVED
         Resolution|---                         |WORKSFORME

--- Comment #4 from William Cohen <wcohen at redhat dot com> ---
[wcohen@fedora systemtap]$ uname -a
Linux fedora 6.2.15-100.fc36.armv7hl #1 SMP Thu May 11 17:07:19 UTC 2023 armv7l
armv7l armv7l GNU/Linux
[wcohen@fedora systemtap]$ ../install/bin/stap -v -p4
testsuite/buildok/process_test.stp 
Pass 1: parsed user script and 510 library scripts using
138272virt/113776res/8832shr/104772data kb, in 9870usr/3240sys/14681real ms.
Pass 2: analyzed script: 9 probes, 10 functions, 100 embeds, 1 global using
199552virt/176856res/10428shr/166052data kb, in 483270usr/208040sys/803813real
ms.
Pass 3: translated to C into
"/tmp/stapWen6XR/stap_a135032f59141e4f66995e21840d28cf_73935_src.c" using
199552virt/176984res/10556shr/166052data kb, in 290usr/150sys/502real ms.
/home/wcohen/.systemtap/cache/a1/stap_a135032f59141e4f66995e21840d28cf_73935.ko
Pass 4: compiled C into "stap_a135032f59141e4f66995e21840d28cf_73935.ko" in
68990usr/28330sys/112061real ms.

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-10-06 15:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-07 15:20 [Bug tapsets/13478] New: ARM tapset/signal.stp signal.handle tries to use non-existing variable $signr mjw at redhat dot com
2011-12-07 15:55 ` [Bug tapsets/13478] " dsmith at redhat dot com
2011-12-07 17:40 ` jistone at redhat dot com
2011-12-17  1:34 ` mjw at redhat dot com
2023-10-06 15:24 ` wcohen at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).