Bug 10289 - stap probes user space markers don't work with 32-on-64 executables
Summary: stap probes user space markers don't work with 32-on-64 executables
Status: RESOLVED FIXED
Alias: None
Product: systemtap
Classification: Unclassified
Component: translator (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Mark Wielaard
URL:
Keywords:
Depends on: 10601
Blocks:
  Show dependency treegraph
 
Reported: 2009-06-16 20:11 UTC by Mark Wielaard
Modified: 2011-04-26 19:00 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
10289 test (916 bytes, application/octet-stream)
2009-07-20 15:09 UTC, Stan Cox
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Wielaard 2009-06-16 20:11:07 UTC
The exelib.exp tests contain mark.tcl tests that don't work when enabling the
(currently disabled) -m32 tests.

Running one of these tests by hand gives:

$ /usr/local/systemtap/bin/stap -ve 'probe
process("./uprobesgcc-O0-m32-debug-uprobeslibgcc-O0-m32-debug_exe").mark("main_count")
{ printf("main_count: %d\n", $arg1) }'
Pass 1: parsed user script and 54 library script(s) in 330usr/20sys/359real ms.
semantic error: no match while resolving probe point
process("./uprobesgcc-O0-m32-debug-uprobeslibgcc-O0-m32-debug_exe").statement(4252272164411311299)
semantic error: no probes found
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) in
10usr/0sys/5real ms.
Pass 2: analysis failed.  Try again with another '--vp 01' option.

Note the large statement value stap derived from the .probes section.
Comment 1 Stan Cox 2009-06-19 20:24:17 UTC
commit: 54bc8f4243
I don't yet have a test because this fix ends up failing with an unrelated
problem: kernel read fault at 0xfffffffffffffe15 (addr) near identifier '$arg1'
Comment 2 Frank Ch. Eigler 2009-06-19 20:26:58 UTC
(In reply to comment #1)
> commit: 54bc8f4243
> I don't yet have a test because this fix ends up failing with an unrelated
> problem: kernel read fault at 0xfffffffffffffe15 (addr) near identifier '$arg1'

Try with "--skip-badvars".
Comment 3 Stan Cox 2009-07-20 15:09:27 UTC
Created attachment 4066 [details]
10289 test
Comment 4 Stan Cox 2009-07-20 15:10:58 UTC
With --skip-badvars the probes are found and invoked okay but the local variable
values seem to be incorrect.
Comment 5 Stan Cox 2009-07-20 15:12:56 UTC
reopen to verify local variable values
Comment 6 Mark Wielaard 2009-07-20 15:16:22 UTC
I suspect this is a duplicate of, or similar to, bug #10318
Comment 7 Frank Ch. Eigler 2011-04-26 19:00:26 UTC
sdt v3 solves this.