* usertap kernel read faults - can I ignore them somehow?
@ 2011-11-29 14:30 Matthew Ward
2011-11-29 14:38 ` Frank Ch. Eigler
0 siblings, 1 reply; 5+ messages in thread
From: Matthew Ward @ 2011-11-29 14:30 UTC (permalink / raw)
To: systemtap
I'm having an issue with our usertap tapset
(https://github.com/fubralimited/usertap) on a high-load server where
trying to find an IP address for a particular socket is causing
systemtap to crash out on a kernel read fault. This tapset always builds
and runs on a low-traffic server, but after testing on one of our
high-traffic nodes it sometimes builds and runs without a problem, and
sometimes refuses to build at all.
There's a gist of the error we're getting here:
https://gist.github.com/1404868. The relevant line we're getting is:
ERROR: kernel read fault at 0x0000000100000264 (addr) near identifier
'@cast' at /usr/share/systemtap/tapset/ip.stp:45:11
I presume that that file is called/included by the usertap tapset as
it's asking for the IP address associated with a socket, but this seems
to be causing an error in certain situations (presumably where it's
requesting an IP address for something that doesn't have one). Is there
any way I can tell our systemtap script to silence or ignore the call
for the IP address if that lookup fails, so that it will start anyway
like it does normally?
System info:
systemtap-runtime-1.4-6.el6_1.2.x86_64
kernel-2.6.32-131.17.1.el6.x86_64
Source code for usertap:
https://github.com/fubralimited/usertap/blob/master/src/usertap.stp
---
Matthew Ward
e: matthew.ward@fubra.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: usertap kernel read faults - can I ignore them somehow?
2011-11-29 14:30 usertap kernel read faults - can I ignore them somehow? Matthew Ward
@ 2011-11-29 14:38 ` Frank Ch. Eigler
2011-11-29 15:00 ` Matthew Ward
0 siblings, 1 reply; 5+ messages in thread
From: Frank Ch. Eigler @ 2011-11-29 14:38 UTC (permalink / raw)
To: Matthew Ward; +Cc: systemtap
Hi, Matthew -
> I'm having an issue with our usertap tapset
> (https://github.com/fubralimited/usertap) [...]
> ERROR: kernel read fault at 0x0000000100000264 (addr) near identifier
> '@cast' at /usr/share/systemtap/tapset/ip.stp:45:11
You can do several things.
First, you can run "stap --skip-badvars ...", which turns all erroneous
$var accesses into 0. Second, you can (sometimes) wrap expressions with
try { var = $var } catch { }
to absorb the error. But see <http://sourceware.org/PR13306>.
- FChE
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: usertap kernel read faults - can I ignore them somehow?
2011-11-29 14:38 ` Frank Ch. Eigler
@ 2011-11-29 15:00 ` Matthew Ward
2011-11-29 15:02 ` Matthew Ward
2011-11-29 17:02 ` Frank Ch. Eigler
0 siblings, 2 replies; 5+ messages in thread
From: Matthew Ward @ 2011-11-29 15:00 UTC (permalink / raw)
To: Frank Ch. Eigler; +Cc: systemtap
On 29/11/2011 14:38, Frank Ch. Eigler wrote:
>
> Hi, Matthew -
>
>> I'm having an issue with our usertap tapset
>> (https://github.com/fubralimited/usertap) [...]
>> ERROR: kernel read fault at 0x0000000100000264 (addr) near identifier
>> '@cast' at /usr/share/systemtap/tapset/ip.stp:45:11
>
> You can do several things.
> First, you can run "stap --skip-badvars ...", which turns all erroneous
> $var accesses into 0. Second, you can (sometimes) wrap expressions with
> try { var = $var } catch { }
> to absorb the error. But see<http://sourceware.org/PR13306>.
>
> - FChE
>
Thanks, that's exactly what I was looking for. When using the
--skip-badvars option, if I'm running the tapset as a service using
stapio, do I pass this to /usr/bin/stap when I build the original module
(.ko) and this will apply whenever the module version is used by stapio
etc. from then on?
Matt.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: usertap kernel read faults - can I ignore them somehow?
2011-11-29 15:00 ` Matthew Ward
@ 2011-11-29 15:02 ` Matthew Ward
2011-11-29 17:02 ` Frank Ch. Eigler
1 sibling, 0 replies; 5+ messages in thread
From: Matthew Ward @ 2011-11-29 15:02 UTC (permalink / raw)
To: systemtap; +Cc: systemtap
On 29/11/2011 14:38, Frank Ch. Eigler wrote:
>
> Hi, Matthew -
>
>> I'm having an issue with our usertap tapset
>> (https://github.com/fubralimited/usertap) [...]
>> ERROR: kernel read fault at 0x0000000100000264 (addr) near identifier
>> '@cast' at /usr/share/systemtap/tapset/ip.stp:45:11
>
> You can do several things.
> First, you can run "stap --skip-badvars ...", which turns all erroneous
> $var accesses into 0. Second, you can (sometimes) wrap expressions with
> try { var = $var } catch { }
> to absorb the error. But see<http://sourceware.org/PR13306>.
>
> - FChE
>
Thanks, that's exactly what I was looking for. When using the
--skip-badvars option, if I'm running the tapset as a service using
stapio, do I pass this to /usr/bin/stap when I build the original module
(.ko) and this will apply whenever the module version is used by stapio
etc. from then on?
Matt.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: usertap kernel read faults - can I ignore them somehow?
2011-11-29 15:00 ` Matthew Ward
2011-11-29 15:02 ` Matthew Ward
@ 2011-11-29 17:02 ` Frank Ch. Eigler
1 sibling, 0 replies; 5+ messages in thread
From: Frank Ch. Eigler @ 2011-11-29 17:02 UTC (permalink / raw)
To: Matthew Ward; +Cc: systemtap
Hi, Matthew -
> [...] When using the --skip-badvars option, if I'm running the
> tapset as a service using stapio, do I pass this to /usr/bin/stap
> when I build the original module (.ko) and this will apply whenever
> the module version is used by stapio etc. from then on?
That's correct.
- FChE
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-11-29 15:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-29 14:30 usertap kernel read faults - can I ignore them somehow? Matthew Ward
2011-11-29 14:38 ` Frank Ch. Eigler
2011-11-29 15:00 ` Matthew Ward
2011-11-29 15:02 ` Matthew Ward
2011-11-29 17:02 ` Frank Ch. Eigler
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).