oprofile Log

Commit Date  
[6ee980] (24.6 kB) by Maynard Johnson Maynard Johnson

Fix Coverity errors found on May 20, 2013 git snapshot

Coverity identified the following errors on scans run from May 7 through
May 20, 2013:

Wrapper object use after free,Memory - illegal accesses,/agents/jvmpi/jvmpi_oprofile.cpp,compiled_method_load(JVMPI_Event *)
Unchecked return value,Error handling issues,/daemon/opd_mangling.c,opd_open_sample_file
Dereference after null check,Null pointer dereferences,/daemon/opd_sfile.c,sfile_hash
Uninitialized scalar field,Uninitialized members,/gui/oprof_start_config.cpp,config_setting::config_setting()
Division or modulo by zero,Integer handling issues,/libdb/db_stat.c,odb_hash_stat
Resource leak,Resource leaks,/libop/op_cpu_type.c,_auxv_fetch
Resource leak,Resource leaks,/libop/op_cpu_type.c,fetch_at_hw_platform
Negative array index read,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Write to pointer after free,Memory - corruptions,/libop/op_events.c,read_events
Read from pointer after free,Memory - illegal accesses,/libop/op_events.c,_is_um_valid_bitmask
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Dereference after null check,Null pointer dereferences,/libop/op_mangle.c,op_mangle_filename
Time of check time of use,Security best practices violations,/libopagent/opagent.c,op_open_agent
Improper use of negative value,Integer handling issues,/libperf_events/operf_counter.cpp,operf_record::setup()
Double free,Memory - corruptions,/libperf_events/operf_counter.cpp,operf_record::setup()
Uninitialized pointer read,Memory - illegal accesses,/libperf_events/operf_counter.cpp,<unnamed>::_get_perf_event_from_file(mmap_info &)
Unchecked return value,Error handling issues,/libperf_events/operf_mangling.cpp,"operf_open_sample_file(odb_t *, operf_sfile *, operf_sfile *, int, int)"
Using invalid iterator,API usage errors,/libperf_events/operf_process_info.cpp,operf_process_info::try_disassociate_from_parent(char *)
Non-array delete for scalars,Memory - illegal accesses,/libregex/op_regex.cpp,"<unnamed>::op_regerror(int, const re_pattern_buffer &)"
Resource leak,Resource leaks,/libutil++/op_bfd.cpp,"op_bfd::op_bfd(const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const string_filter &, const extra_images &, bool &)"
Explicit null dereferenced,Null pointer dereferences,/opjitconv/create_bfd.c,fill_symtab
Resource leak,Resource leaks,/opjitconv/opjitconv.c,_cleanup_jitdumps
Use of untrusted string value,Insecure data handling,/opjitconv/opjitconv.c,main
Resource leak,Resource leaks,/pe_profiling/operf.cpp,_get_cpu_for_perf_events_cap()
Dereference null return value,Null pointer dereferences,/pe_profiling/operf.cpp,_process_session_dir()
Incorrect deallocator used,API usage errors,/pe_profiling/operf.cpp,_process_events_list()


This patch fixes those errors.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2013-05-28 13:19:25 View
[74abfb] (24.4 kB) by Maynard Johnson Maynard Johnson

Fix Coverity issues identified against oprofile 0.9.8 release

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2013-05-15 18:14:43 View
[60c572] (24.1 kB) by Maynard Johnson Maynard Johnson

Catch and handle error from op_jit_convert function

In opjitconv.c:process_jit_dumpfile, we were not detecting a failure
from op_jit_convert, which (when a failure actually does occur there)
results in a very mysterious failure message from copy_elffile().
This patches rectifies that situation.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2013-04-19 21:34:03 View
[745ede] (24.1 kB) by Daniel Hansel Daniel Hansel , pushed by Maynard Johnson Maynard Johnson

Change location to store intermediate JIT dump files

Since JIT support was added to Oprofile the intermediate JIT dump files
holding the sampling data collected for a Java process were stored in a
hard coded directory /var/lib/oprofile/jitdump that was world-writable.
The setting of a session specific directory (i.e. "--session-dir=...")
was not used anyway.

Now during profiling JIT dump files are stored under /tmp/.oprofile/jitdump.
When opjitconv has finished the conversion of the JIT dump files (the result
is stored under the default location (e.g. /var/lib/oprofile, ./oprofile_data
or the specified session directory) the intermediate JIT dump file will be

Signed-off-by: Daniel Hansel <daniel.hansel@linux.vnet.ibm.com>

2013-01-23 16:24:37 View
[0c5bd8] (24.1 kB) by Maynard Johnson Maynard Johnson

Fix opjitconv to handle removing temp work dir with spaces in name

This problem was reported to the oprofile-list by Hei Chan.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-09-28 14:42:19 View
[934049] (24.1 kB) by Maynard Johnson Maynard Johnson

Fix opjitconv to handle process IDs up to PID_MAX_LIMIT

When using the libjvmti_oprofile.so java agent library to profile
a Java app, a <pid>.dump file is created that stores information
about the JITed code. The opjitconv program is supposed to use that
<pid>.dump file to create an ELF-like file named <pid>.jo, which is
the binary file against which samples are attributed by opreport.
But if the process ID is greater than the Linux default of 32768,
opjitconv fails to create the <pid>.jo, so all samples are attributed
to the java anon memory mappings, and there is no visibility to the
java methods (symbols) that were JITed.

Current PID_MAX_LIMIT (as defined in include/linux/threads.h) is
4 x 4 x 1024 * 1024 (for 64-bit kernels)
This patch changes opjitconv to handle 7 chars for proc_id.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-09-24 17:28:36 View
[8d4b12] (23.9 kB) by Maynard Johnson Maynard Johnson

Fix opjitconv to not end abnormally when no jit dump directory is found

When operf is run on a system before any other opcontrol commands,
it's likely that the jit dump directory (/var/lib/oprofile/jitdump)
will not exist, since that directory is created by opcontrol.
However, the opjitconv program (which is run at the end of operf
execution) expects to find this directory and will end abnormally
if it does not find it. This patch allows opjitconv to end normally
in either case.

Signed-off-by: Maynard Johnson <maynardj@us.ibm.com>

2012-06-20 23:20:33 View
[b92ece] (23.4 kB) by Maynard Johnson Maynard Johnson

Flesh out operf JIT support so old jitdump files are removed

This patch makes opjitconv delete old jitdump files when
invoked by operf. Only jitdump files owned by the user who
is running operf will be deleted. This patch is necessary
because the only other way that old jitdump files are deleted
is by way of opcontrol, and operf users should not have to
use opcontrol at all.

2012-05-16 17:17:26 View
[014394] (18.8 kB) by Maynard Johnson Maynard Johnson

Add support for JIT profiling to operf

2012-04-27 21:20:50 View
[d0612c] (17.9 kB) by Maynard johnson Maynard johnson

Change to where we switch to special user account

2008-06-23 19:46:09 View
[8a6f6b] (17.9 kB) by Daniel Hansel Daniel Hansel

JIT support (for profiling Java applications) added

2008-04-28 21:23:26 View

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks