This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/9940] double calling double calling of uprobes in shared libraries


------- 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]