This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug runtime/9940] double calling double calling of uprobes in shared libraries
- From: "dsmith at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sources dot redhat dot com
- Date: 26 Mar 2009 21:28:33 -0000
- Subject: [Bug runtime/9940] double calling double calling of uprobes in shared libraries
- References: <20090311164601.9940.fche@redhat.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From dsmith at redhat dot com 2009-03-26 21:28 -------
After a bit more debugging, here's what the 2nd mmap() call does - allows
writing to the 3rd vma and changes the offset (I'm unsure of why it does the
latter). So, the final /proc/PID/maps file would look like this:
vm_start-vm_end flags vm_pgoff path
00110000-00111000 r-xp 00000000 ./libuprobes_lib.so
00111000-00310000 ---p 00001000 ./libuprobes_lib.so
00310000-00311000 rw-p 00000000 ./libuprobes_lib.so
Also, for reference's sake, here are the vm_callbacks that the task_finder would
make (since this system has been rebooted, the addressed changed):
(1) after the 1st mmap():
tsk 3649, map_p 1, path ./libuprobes_lib.so, start 0x009cf000, end 0x00bd0000,
offset 0x0
(2) after the mprotect():
tsk 3649, map_p 0, path NULL, start 0x009cf000, end 0x00bd0000, offset 0x0
tsk 3649, map_p 1, path ./libuprobes_lib.so, start 0x009cf000, end 0x009d0000,
offset 0x0
tsk 3649, map_p 1, path ./libuprobes_lib.so, start 0x009d0000, end 0x00bcf000,
offset 0x1000
tsk 3649, map_p 1, path ./libuprobes_lib.so, start 0x00bcf000, end 0x00bd0000,
offset 0x200000
(3) after the 2nd mmap():
tsk 3649, map_p 0, path NULL, start 0x00bcf000, end 0x00bd0000, offset 0x200000
tsk 3649, map_p 1, path ./libuprobes_lib.so, start 0x00bcf000, end 0x00bd0000,
offset 0x0
--
http://sourceware.org/bugzilla/show_bug.cgi?id=9940
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.