Dmitry Kovalenko [Tue, 10 Jul 2012 06:51:20 +0000 (10:51 +0400)]
Fixed ARM/THUMB instructions safe checking (#372)
Nikita Kalyazin [Fri, 6 Jul 2012 12:46:07 +0000 (16:46 +0400)]
Revert "Fixed libonly instrumentation (#264)"
This reverts commit
f8292b787f894df3b47fc7ee80b486f7dd5dac53.
The trace is not collected from Browser application (App&Lib inst) if
the application is launched after start tracing.
Vasiliy Ulyanov [Fri, 6 Jul 2012 11:15:39 +0000 (15:15 +0400)]
Merge branch 'x86-testing' into dev
Vasiliy Ulyanov [Fri, 6 Jul 2012 09:32:53 +0000 (13:32 +0400)]
1. Fixed user-space instrumentation for x86
2. Added/fixed frame pointer backtracing suport for ARM and x86
3. Added 'mec_use_fp' parameter for MEC
Dmitry Kovalenko [Thu, 5 Jul 2012 11:55:57 +0000 (15:55 +0400)]
Fixed libonly instrumentation (#264)
Vasiliy Ulyanov [Wed, 4 Jul 2012 15:34:00 +0000 (19:34 +0400)]
Added ARM-related fixes
Vasiliy Ulyanov [Wed, 4 Jul 2012 06:11:03 +0000 (10:11 +0400)]
1. Added arch secific routines for obtaining values from registers
and stack
2. get_ret_addr() fix (needs testing on ARM)
3. MEC ported to x86 platform
4. POCOMON minor fixes
Nikita Kalyazin [Tue, 3 Jul 2012 16:12:21 +0000 (20:12 +0400)]
Fix of browser instrumentation problem (#363)
The fix is raw and needs for some cleanup.
- Added do_fork handler (separate from do_exit's one);
- Added arch_disarm_uprobe() call when deferred uprobe unregistering
(this matters when a process forks while another one is inside the
insrumented function).
TODO:
- Consider all the auxiliary handlers (do_exec, do_exit, do_fork);
- Consider deferred probes management (disarming).
Vasiliy Ulyanov [Fri, 29 Jun 2012 12:34:45 +0000 (16:34 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Fri, 29 Jun 2012 12:34:27 +0000 (16:34 +0400)]
Tizen x86 emulator fix (__switch_to/do_exit issue)
Dmitry Kovalenko [Fri, 29 Jun 2012 06:23:14 +0000 (10:23 +0400)]
Added processing of null pointers in PackArguments (String argument)
Vasiliy Ulyanov [Thu, 28 Jun 2012 10:29:35 +0000 (14:29 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Thu, 28 Jun 2012 10:29:24 +0000 (14:29 +0400)]
Initial version for x86 tizen emulator
Nikita Kalyazin [Wed, 27 Jun 2012 17:08:56 +0000 (21:08 +0400)]
Nikita Kalyazin [Wed, 27 Jun 2012 16:11:00 +0000 (20:11 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi into dev
Fedin Pavel [Wed, 27 Jun 2012 16:10:51 +0000 (20:10 +0400)]
u_intXX_t -> uintXX_t
Andreev S.V [Wed, 27 Jun 2012 15:14:58 +0000 (19:14 +0400)]
Ticket #317 FIXED via implementation of thumb hook
Vasiliy Ulyanov [Fri, 22 Jun 2012 10:53:36 +0000 (14:53 +0400)]
MEC:
1. Fixed mec_add_object wrong behaviour (in case when the same
object already exists)
2. Added temporary workaround in get_ret_addr (the old version
causes kernel panics on new PQ Proxima firmware)
Vasiliy Ulyanov [Mon, 18 Jun 2012 10:03:54 +0000 (14:03 +0400)]
Undo wrong changes (us_proc_inst.c)
Fedin Pavel [Wed, 13 Jun 2012 06:46:45 +0000 (10:46 +0400)]
Use major device number from the device node file if it exists
Vasiliy Ulyanov [Wed, 6 Jun 2012 13:11:59 +0000 (17:11 +0400)]
POCOMON: working version for f1
Vasiliy Ulyanov [Wed, 6 Jun 2012 08:02:33 +0000 (12:02 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Wed, 6 Jun 2012 08:01:43 +0000 (12:01 +0400)]
MEC: fixed synchronization issues in probe handlers
Andreev S.V [Tue, 29 May 2012 13:49:31 +0000 (17:49 +0400)]
Added hash implementation for uprobes
Nikita Kalyazin [Fri, 25 May 2012 06:48:38 +0000 (10:48 +0400)]
Java instrumentation first approach implemented (#285)
This is the port of Java instrumentation method invented in Suwon (Feb,
2012).
Currently only certain GS2 ICS's libdvm.so version is supported (hard-coded
addresses of the libdvm library are instrumented and the data is taken
from hard-coded offsets).
Was not included in GUI, only in ICL language (setv java_inst
TRUE|FALSE).
Currently ALL the interpreted Java method calls are saved into trace (Filtering is another big task to implement).
RawEvents's output format is <class_name>:<method_name> with no
arguments (arguments extraction is yet another big task).
Nikita Kalyazin [Fri, 25 May 2012 06:44:45 +0000 (10:44 +0400)]
Deleted duplicated expressions
Andreev S.V [Tue, 22 May 2012 09:56:01 +0000 (13:56 +0400)]
FIXED deinitialization procedure. Dead code eliminated also.
Andreev S.V [Mon, 21 May 2012 11:24:43 +0000 (15:24 +0400)]
Added important comments
Andreev S.V [Mon, 21 May 2012 09:12:42 +0000 (13:12 +0400)]
Fixed Ticket #329 (redesign of kprobe functionality with goal of do_undefinstr() functionality implementation).
Vasiliy Ulyanov [Fri, 18 May 2012 08:15:47 +0000 (12:15 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Fri, 18 May 2012 07:27:51 +0000 (11:27 +0400)]
Merge branch 'pocomoncm' into dev
Conflicts:
configure.ac
src/tools/Makefile.am
Andreev S.V [Wed, 16 May 2012 11:08:46 +0000 (15:08 +0400)]
Unification
Yuri Kozyaev [Sat, 12 May 2012 05:29:46 +0000 (09:29 +0400)]
Ticket #245: If no probes are set and pack_event_info is used, no events will be saved into database.
Nikita Kalyazin [Thu, 10 May 2012 09:27:58 +0000 (13:27 +0400)]
Nikita Kalyazin [Sat, 5 May 2012 13:13:53 +0000 (17:13 +0400)]
Fixed copy trampoline related overhead problem (#299)
Trampolines are copied only during probes registering, not during each probes firing. Each probe now contains 2 pointers (to arm and thumb trampolines). Both are copied. Which of them to use is chosen during probe firing (kprobe_handler()).
The problem was introduced at
dc59136461aadcde9a2f260a51a319f07ae31db6
Nikita Kalyazin [Mon, 23 Apr 2012 06:40:44 +0000 (10:40 +0400)]
Kernel on-the-go probes feature implemented (#313)
Related to
76986670c32162d5d12c741a08bcec4fe935941a (#252).
Interface:
int install_kern_otg_probe(unsigned long addr,
unsigned long pre_handler,
unsigned long jp_handler,
unsigned long rp_handler);
Vasiliy Ulyanov [Tue, 17 Apr 2012 12:44:57 +0000 (16:44 +0400)]
Fixed ticket #306: Custom handlers without CONFIG_KALLSYMS_ALL
Vasiliy Ulyanov [Fri, 13 Apr 2012 09:48:18 +0000 (13:48 +0400)]
Fixed ticket #304: The possibility of dumping stack for kernel probes
Vasiliy Ulyanov [Tue, 10 Apr 2012 11:39:48 +0000 (15:39 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi into dev
Vasiliy Ulyanov [Tue, 10 Apr 2012 11:37:23 +0000 (15:37 +0400)]
New MEC implementation (memory_leaks_only mode)
Andreev S.V [Tue, 10 Apr 2012 11:07:00 +0000 (15:07 +0400)]
Improved performance of get_kprobe() via dead code elimination
Andreev S.V [Mon, 9 Apr 2012 07:28:31 +0000 (11:28 +0400)]
FIXED Ticket #292 (BUG() messages)
Nikita Kalyazin [Tue, 3 Apr 2012 05:27:53 +0000 (09:27 +0400)]
Fixed #286 (aka huge overhead in pq)
Actually the problem was in significant changes of get_user_pages(). We have to do some work to refactor this code and set all the kernel version defines properly.
Nikita Kalyazin [Thu, 22 Mar 2012 10:54:32 +0000 (14:54 +0400)]
Nikita Kalyazin [Thu, 22 Mar 2012 10:25:40 +0000 (14:25 +0400)]
Nikita Kalyazin [Thu, 22 Mar 2012 08:06:39 +0000 (12:06 +0400)]
Added PQ Proxima (SLP) support
Andreev S.V [Tue, 20 Mar 2012 13:46:43 +0000 (17:46 +0400)]
Final movin' INPERFA->SWAP (Ticket #134)
Nikita Kalyazin [Fri, 16 Mar 2012 10:50:52 +0000 (14:50 +0400)]
Merge branch 'swap_rename' into dev
Andreev S.V [Wed, 1 Feb 2012 12:07:27 +0000 (16:07 +0400)]
Renamed InPerfa->SWAP, Ticket #134
Dmitry Kovalenko [Tue, 31 Jan 2012 12:52:38 +0000 (16:52 +0400)]
Added return value to default retprobe handler
Dmitry Kovalenko [Tue, 31 Jan 2012 12:01:42 +0000 (16:01 +0400)]
"On the go" probes implementation.
OTG probes can be installed from handlers of other probes.
Currently implemented only user space instrumentation.
Probe installing is produced by call of "install_otg_ip" function.
install_otg_ip(function_addr, pre_handler, jp_handler, rp_handler)
pre_handler, jp_handler, rp_handler can be NULL that means deffault handlers.
Vasiliy Ulyanov [Thu, 26 Jan 2012 09:05:00 +0000 (13:05 +0400)]
Added functions to retrieve user-mode stack dump from uprobes (ticket #260)
Alexander Shirshikov [Fri, 13 Jan 2012 06:01:20 +0000 (10:01 +0400)]
No probes check and return removed (pack_event_info)
Vasiliy Ulyanov [Wed, 21 Dec 2011 13:20:41 +0000 (17:20 +0400)]
Saved and total events counters are zeroed after start tracing (Ticket #129)
Andreev S.V [Fri, 2 Dec 2011 07:28:58 +0000 (11:28 +0400)]
Names of functions have been changed in order to avoid collision with kernel function. Uneeded EXPORT_* removed.
Dmitry Kovalenko [Mon, 28 Nov 2011 12:50:46 +0000 (16:50 +0400)]
Fixed problem with handling of forked threads.
Now we don't uninstall probes if fork creates thread.
This commit continues idea introduced at
d597e93b5a314
Dmitry Kovalenko [Fri, 25 Nov 2011 05:43:00 +0000 (09:43 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Dmitry Kovalenko [Fri, 25 Nov 2011 05:24:24 +0000 (09:24 +0400)]
Solved problems with instrumentation functions in process between
fork and exec.
Lib only instrumentation and multithreaded application
instrumentation are fixed and now work well. (Fixed #140, #74)
Gonzha Dmitriy Evgenevich [Mon, 21 Nov 2011 09:15:13 +0000 (13:15 +0400)]
Architecture-dependent x86 part updated
Accordind to current changes introduced in
d46e3a57e37101ec8a9367fbcd6f28c188631a9f
2b5e0bbc4c7cccc18bd47af48f9eb9beb5fa123a
for comportability with current architecture-independent part
Dmitry Kovalenko [Mon, 14 Nov 2011 12:53:11 +0000 (16:53 +0400)]
UProbes are set on group_leader instead of first found tid
Fixed: Kernel panic: pbzip2, libc, libpthread instrumentation #140
- During instrumentation of multi-threaded program, situation with instrumentation of finished thread may happen
Nikita Kalyazin [Wed, 19 Oct 2011 07:44:33 +0000 (11:44 +0400)]
kprobes: retprobe instance hlist operation was moved into spinlock (similar to
2b5e0bbc4c7cccc18bd47af48f9eb9beb5fa123a)
Nikita Kalyazin [Wed, 19 Oct 2011 07:17:49 +0000 (11:17 +0400)]
kprobes: retprobe instance hlist operation was moved into spinlock
Anatoly Sinyavin [Fri, 14 Oct 2011 08:07:26 +0000 (12:07 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/symbol/CProcLib.cpp
Anatoly Sinyavin [Fri, 14 Oct 2011 07:59:14 +0000 (11:59 +0400)]
Fix tiny bugs for Beagle/SELP.
Andreev S.V [Tue, 11 Oct 2011 11:25:40 +0000 (15:25 +0400)]
FIXED copy_to_user_pages according to kernels (i.e. standard)
Nikita Kalyazin [Tue, 4 Oct 2011 13:40:33 +0000 (17:40 +0400)]
Fixed insns slot access problem (#118)
Added flush_icache_range() after copying insns slot. Need to check whether flush_cache_all() call for Tegra nearby is necessary.
Alexander Shirshikov [Tue, 4 Oct 2011 11:23:18 +0000 (15:23 +0400)]
copy_to_user_page fix
Dmitry Kovalenko [Tue, 4 Oct 2011 11:22:23 +0000 (15:22 +0400)]
Removed mistakenly committed temporary files
Dmitry Kovalenko [Tue, 4 Oct 2011 10:48:56 +0000 (14:48 +0400)]
Removed mistakenly committed temporary files
Alexander Shirshikov [Mon, 3 Oct 2011 06:50:26 +0000 (10:50 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/gui/Makefile.am
src/llvm/CAbstrFunction.h
src/llvm/CAbstrFunctionTrans.cpp
src/llvm/CAbstrFunctionTrans.h
src/llvm/CBundleListFunction.h
src/llvm/CFunction2LLVM.cpp
src/llvm/CFunction2LLVM.h
src/llvm/CFunctionCFG2LLVM.cpp
src/llvm/CFunctionCFG2LLVM.h
src/llvm/CInstrumenter.h
src/llvm/CStaticData.h
src/llvm/CUnit2LLVM.cpp
src/llvm/CUnit2LLVM.h
src/llvm/C_LLVM_Emitter.cpp
src/llvm/C_LLVM_Emitter.h
src/llvm/_build_it.sh
src/llvm/aux.h
src/llvm/bfe.y
src/llvm/common.h
src/python/EventsManagement/RawEvents.py
Alexander Shirshikov [Mon, 3 Oct 2011 06:28:33 +0000 (10:28 +0400)]
LLVM and POCO integrated
Nikita Kalyazin [Wed, 28 Sep 2011 10:16:47 +0000 (14:16 +0400)]
Absence of a library from inperfa.ini file is a warning now (#120)
Nikita Kalyazin [Mon, 26 Sep 2011 05:30:38 +0000 (09:30 +0400)]
Fixed a bug of kernel panic when collecting __switch_to (#118)
Nikita Kalyazin [Thu, 22 Sep 2011 06:50:26 +0000 (10:50 +0400)]
Fixed bug of segfaulting Thumb apps (retprobe)
This is the same as
b74f1859918bc25c2a1cd4ebcfad8b49ec6b831a, but for retprobes.
Dmitry Kovalenko [Wed, 21 Sep 2011 11:56:08 +0000 (15:56 +0400)]
Fix deinst_usr_space_proc (return value)
Nikita Kalyazin [Tue, 20 Sep 2011 13:13:06 +0000 (17:13 +0400)]
Fixed return value of find_lib_path()
Nikita Kalyazin [Tue, 20 Sep 2011 11:10:10 +0000 (15:10 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Nikita Kalyazin [Tue, 20 Sep 2011 11:09:58 +0000 (15:09 +0400)]
kprobes fix (deferred probes in multitreaded application)
Reimplelented retprobe instance management mechanism. Probably, x86 and MIPS require porting these changes.
Dmitry Kovalenko [Fri, 16 Sep 2011 05:17:33 +0000 (09:17 +0400)]
Fixed continuous buffer (Ticket #112)
Nikita Kalyazin [Wed, 7 Sep 2011 05:18:45 +0000 (09:18 +0400)]
Fixed bug of segfaulting Thumb apps
Inserted undefined instruction was not actually undefined in some cases.
ffffdeff is true one.
Nikita Kalyazin [Mon, 5 Sep 2011 06:49:43 +0000 (10:49 +0400)]
Removed messing debug output (introduced in
625f1537f3d0f93d3eeb5e155a33956ba1894dd6)
Nikita Kalyazin [Mon, 5 Sep 2011 05:14:02 +0000 (09:14 +0400)]
It is not needed to set PID while instrumenting Android GUI apps (only set .apk file as target_app_fname)
Almost the same mechanism as in
68d9da6e84230f015451aa2051cbb10f6a4d0507 (SLP) is used.
Nikita Kalyazin [Wed, 31 Aug 2011 12:51:11 +0000 (16:51 +0400)]
Nikita Kalyazin [Tue, 30 Aug 2011 07:39:24 +0000 (11:39 +0400)]
Fix and refactoring for
be6800a0431c286ffafffb02145c006e03085fee (SLP app startup)
Sergey Grekhov [Tue, 23 Aug 2011 06:02:03 +0000 (10:02 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Sergey Grekhov [Tue, 23 Aug 2011 05:59:02 +0000 (09:59 +0400)]
Special revision on MEC: collecting only memory leaks. Currently under macro MEMORY_LEAKS_ONLY.
TBD: add config option only_memory_leaks for memchecker.
Nikita Kalyazin [Tue, 23 Aug 2011 05:28:09 +0000 (09:28 +0400)]
Updated kernel version dependent define (copy_to_user_page), concerns
2.6.32 kernel
Sergey Grekhov [Mon, 22 Aug 2011 08:53:34 +0000 (12:53 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Nikita Kalyazin [Mon, 22 Aug 2011 06:23:16 +0000 (10:23 +0400)]
SLP applications startup can be instrumented
4c3f981a88451d8e1e6f99788868c67e3777e038-related.
Nikita Kalyazin [Thu, 18 Aug 2011 10:55:01 +0000 (14:55 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Sergey Grekhov [Thu, 18 Aug 2011 06:04:21 +0000 (10:04 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev
Conflicts:
src/dalvik_probes/Makefile.am
Leonid Astakhov [Thu, 18 Aug 2011 05:25:12 +0000 (09:25 +0400)]
Merge remote branch 'origin/dev' into dev
Nikita Kalyazin [Thu, 18 Aug 2011 04:32:24 +0000 (08:32 +0400)]
Merge branch 'dev' of ssh://106.109.8.71/srv/git/dbi_new_build into dev
Nikita Kalyazin [Tue, 16 Aug 2011 12:47:17 +0000 (16:47 +0400)]
Changed ioctl callback accordingly to kernel version greater than 2.6.36
Nikita Kalyazin [Tue, 16 Aug 2011 12:45:28 +0000 (16:45 +0400)]
Updated preprocessor directive for copy_to_user_page() wrapper (=2.6.32 -> >=2.6.32)
Nikita Kalyazin [Thu, 11 Aug 2011 10:23:35 +0000 (14:23 +0400)]
Nikita Kalyazin [Wed, 10 Aug 2011 12:32:14 +0000 (16:32 +0400)]
Added SLP specific applications instrumentation support
SLP graphical applications (such as Calculator) are launched by special
daemon that loads these applications just like a libraries via dlopen().
The commit contains a special mechanism to instrument them.
SLP specific applications instrumentation support is enabled by
slp_app="yes" in the conf file.
Currently only running applications can be instrumented.
Nikita Kalyazin [Mon, 18 Jul 2011 13:37:34 +0000 (17:37 +0400)]
Merge branch 'thumb_r9' into dev
Nikita Kalyazin [Tue, 12 Jul 2011 09:07:02 +0000 (13:07 +0400)]
Thumb trampoline: r9 register is not spoiled from now on
Return address is odd now in order to signalize that pop instruction
must go into Thumb mode.
Gonzha Dmitriy Evgenevich [Tue, 12 Jul 2011 12:04:27 +0000 (16:04 +0400)]
Merge branch 'dev' of 106.109.8.71:/srv/git/dbi_new_build into dev