fche changed the topic of #systemtap to: http://sourceware.org/systemtap; email systemtap@sourceware.org if answers here not timely, conversations may be logged
scox has joined #systemtap
pwithnall[m] has quit [Ping timeout: 256 seconds]
bendlas has quit [Ping timeout: 276 seconds]
orivej has quit [Ping timeout: 240 seconds]
naveen has joined #systemtap
jlebon has quit [Ping timeout: 276 seconds]
naveen has quit [Ping timeout: 240 seconds]
irker458 has quit [Quit: transmission timeout]
sanoj has joined #systemtap
naveen_ has joined #systemtap
pwithnall[m] has joined #systemtap
naveen_ has quit [Remote host closed the connection]
naveen_ has joined #systemtap
naveen__ has joined #systemtap
naveen_ has quit [Read error: Connection reset by peer]
naveen__ has quit [Ping timeout: 276 seconds]
bendlas has joined #systemtap
naveen has joined #systemtap
mjw has joined #systemtap
orivej has joined #systemtap
nkambo has quit []
jlebon has joined #systemtap
jlebon has quit [Client Quit]
jlebon has joined #systemtap
<mjw>
When adding a new runtime/linux/autoconf-*.c file in buildrun, how do you "test" it?
<mjw>
I can see it fails, because my build variable doesn't get defined, but why?
<mjw>
hmmm, somehow you'll have to be able to recreate the module build environment
<mjw>
but how?
<mjw>
So, I do get a /tmp/stapxxx dir with -k that seems to have most build infra
<mjw>
but how to invoke it so that I can see the output of CHECK_BUILD for my new autoconf file?
<mjw>
right, so removing the /dev/null redirect and removing the generated stapconf_ header file I can see it fail when running make
<mjw>
but just running make, everything fails
<mjw>
that doesn't seem to really setup the kernel module build environment.
<mjw>
hmmm
sanoj has quit [Ping timeout: 256 seconds]
sanoj has joined #systemtap
<mjw>
any pointers how to setup this environment?
<mjw>
Finally!
<mjw>
/home/mark/src/systemtap/runtime/linux/autoconf-unwind-stack-trace.c:4:6: error: function declaration isn’t a prototype [-Werror=strict-prototypes]
<mjw>
void unwind_stack_trace ()
<mjw>
doh
<mjw>
OK, so what you do is the completely cargo-culted: rm stapconf_*.h; make -C /lib/modules/`uname -r`/build M=`pwd` SRCDIR=`pwd` clean; make -C /lib/modules/`uname -r`/build M=`pwd` SRCDIR=`pwd`
<mjw>
No idea why. But it gives me something I can debug
wcohen has quit [Ping timeout: 260 seconds]
<mjw>
(O, plus editing that Makefile to remove the /dev/null redirect above of course)
mbenitez has joined #systemtap
<mjw>
O... now my branch is 2 months out of sync. woops.
<mjw>
wow, it rebased cleanly. Nice!
<mjw>
(Or maybe not, that would mean I am the only one every hacking on this part of the code...)
<fche>
stap --poison-cache ?
<mjw>
fche, what, I have a perfectly fine working tree, and you are poking the hornest nest? :)
<fche>
poke poke
<fche>
anyway that is the easiest way of forcing regeneration of auxiliary files like config headers etc.
<fche>
during pass 2/4
<mjw>
yes, thanks.
<mjw>
I'll run some tests and then try again on a different setup with an older kernel.
<mjw>
But for now I have a new kernel unwind fallback that seems to work nicely.
<fche>
how does it do it?
<mjw>
The DWARF unwinder is still broken, but at least the fallback seems ok. So we get at least some output. And if the kernel is build with frame pointers it actually seems good.
<fche>
ok. is it only the newest kaslr that's preventing dwarf from working too?
<mjw>
yes, I believe so. Still looking at why we don't get things correct.
<fche>
great
<mjw>
The DWARF unwinder is a little wonky in that it creates the unwind search table "offline" (but apparently already relocated against _stext), but then gets used at runtime (where _stext is gone somewhere else?)
<mjw>
I don't fully understand it yet.
<mjw>
So I thought I first get the fallback unwinder working, so we at least have something.
<fche>
yeah we need to relocate runtime addresses against _stext ... but I thought we had done that for years. something must have broken fairly recently
<mjw>
First lunch, then testing that on some older setups.
<fche>
thanks
<mjw>
fche, we do, but like I said the unwind code is "weird" and the linux kernel itself is already relocatable. Apparently we relocate the unwind table addresses "too early" (when collecting them from disk, not at runtime).
<fche>
we need to do both
<mjw>
The unwind tables come from the vmlinux debug, not .eh_frame...
<fche>
to subtract out the link-time base address
<fche>
t
<fche>
then add in the run-time base address
<mjw>
right. something like that.
<mjw>
But without some lunch in my belly I am not going to understand which base gets added/subtracted from which address where and when :)
<fche>
(after lunch, see also what we do with any such address, like a kprobes probe, or a symbol table dump)
brolley has joined #systemtap
orivej has quit [Ping timeout: 264 seconds]
nkambo has joined #systemtap
sanoj has quit [Remote host closed the connection]
irker885 has joined #systemtap
<irker885>
systemtap: mark systemtap.git:refs/heads/master * release-3.2-171-g553b6df / buildrun.cxx runtime/linux/autoconf-unwind-stack-trace.c runtime/stack.c runtime/unwind.c runtime/unwind/unwind.h: linux runtime: Add support for new kernel unwind fallback. http://tinyurl.com/y7tjhr7p
<irker885>
systemtap: dsmith systemtap.git:refs/heads/master * release-3.2-174-g2e9e800 / httpd/backends.cxx httpd/docker/centos.json httpd/docker/fedora.json: Change the http docker backend to use the docker image as a sysroot. http://tinyurl.com/yb3c72xx
<irker885>
systemtap: mark systemtap.git:refs/heads/master * release-3.2-175-g0b7f8e4 / loc2stap.cxx: loc2stap.c: Give proper error message for unhandled DW_OP_GNU_parameter_ref. http://tinyurl.com/yckncntc
naveen has quit [Quit: WeeChat 2.1]
tromey has joined #systemtap
naveen has joined #systemtap
naveen has quit [Quit: WeeChat 2.1]
orivej has joined #systemtap
mjw has joined #systemtap
orivej has quit [Ping timeout: 256 seconds]
orivej has joined #systemtap
brolley has quit [Ping timeout: 260 seconds]
brolley has joined #systemtap
tromey has quit [Quit: ERC (IRC client for Emacs 26.1)]
<irker885>
systemtap: smakarov systemtap.git:refs/heads/master * release-3.2-176-gf579ca5 / elaborate.cxx staptree.cxx staptree.h testsuite/runok/regex_noelide.stp: Revert "PR22193: don't elide regex match '=~' operator since it's now side-effecting" http://tinyurl.com/ydclhuas
mbenitez has quit [Quit: Leaving]
<irker885>
systemtap: dsmith systemtap.git:refs/heads/master * release-3.2-177-gf9bca69 / testsuite/lib/http_server.exp: Document remote server testing in testsuite/lib/http_server.exp. http://tinyurl.com/ydbxybr4