From: Maynard J. <may...@us...> - 2012-07-19 17:16:21
|
Hello, OProfile community, I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. Thanks. -Maynard |
From: Andi K. <an...@fi...> - 2012-07-20 00:22:37
|
On Thu, Jul 19, 2012 at 12:05:14PM -0500, Maynard Johnson wrote: > Hello, OProfile community, > I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. One thing that would be good is finally switching the default in configure for 2.4 vs 2.6 kernel -Andi -- ak...@li... -- Speaking for myself only. |
From: William C. <wc...@re...> - 2012-07-20 20:15:56
|
On 07/19/2012 01:05 PM, Maynard Johnson wrote: > Hello, OProfile community, > I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. > > Thanks. > -Maynard Hi Maynard, I ran the current oprofile through coverity to see if there were any problems with the code. Below is the list of errors that coverity reported. Some of the may be false positives. We should go through these and make sure there aren't any major ones. -Will Error: CHECKED_RETURN (CWE-252): /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:461: example_checked: "waitpid(operf_read_pid, &waitpid_status, option)" has its value checked in "(wait_rc = waitpid(operf_read_pid, &waitpid_status, option)) < 0". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:510: example_checked: "waitpid(operf_record_pid, &waitpid_status, 0)" has its value checked in "waitpid(operf_record_pid, &waitpid_status, 0) < 0". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:626: example_checked: "waitpid(the_pid, &waitpid_status, 1)" has its value checked in "(wait_rc = waitpid(the_pid, &waitpid_status, 1)) < 0". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:668: example_checked: "waitpid(operf_record_pid, &waitpid_status, 0)" has its value checked in "waitpid(operf_record_pid, &waitpid_status, 0) < 0". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/child_reader.cpp:226: check_return: Calling function "waitpid" without checking return value (as is done elsewhere 4 out of 5 times). /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/child_reader.cpp:226: unchecked_value: No check of the return value of "waitpid(this->pid, &ret, 0)". Error: DEADCODE (CWE-561): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:65: dead_error_condition: On this path, the switch value "error" cannot be "0". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: cannot_set: After this line (or expression), the value of "error" cannot be any of { 0 1 }. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: const: After this line, the value of "error" is equal to 1. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:31: equality_cond: Condition "error == 0" is evaluated as false. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: new_values: Noticing condition "error == 1". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:65: dead_error_begin: Execution cannot reach this statement "case 0:". Error: DEADCODE (CWE-561): /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1277: dead_error_condition: On this path, the condition "found > 1" cannot be true. /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1268: const: After this line, the value of "found" is equal to 0. /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1268: assignment: Assigning: "found" = "0". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1277: dead_error_line: Execution cannot reach this expression "had_unit_mask" inside statement "if (found > 1 && had_unit_m...". Error: DELETE_ARRAY (CWE-459): /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:184: new_array: Using new in : "new char[4096UL]". /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:184: var_assign: Assigning: "cwd" = storage from "new char[4096UL]". /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:186: delete_var: Deleting array variable "cwd" with non-array delete in "delete cwd". Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:98: var_compare_op: Comparing "ki" to null implies that "ki" might be null. /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:106: var_deref_op: Dereferencing null variable "ki". Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:27: var_compare_op: Comparing "appname" to null implies that "appname" might be null. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:30: var_deref_model: Passing null variable "appname" to function "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)", which dereferences it. Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:852: var_compare_op: Comparing "fp" to null implies that "fp" might be null. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:867: var_deref_model: Passing null variable "fp" to function "fgets", which dereferences it. Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:673: assign_zero: Assigning: "current_binary" = 0. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:687: var_deref_model: Passing null variable "current_binary" to function "binary_info::add_module_symbol(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, __gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)", which dereferences it. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:627: deref_parm: Directly dereferencing parameter "this". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:691: var_deref_model: Passing null variable "current_binary" to function "binary_info::close_binary(__gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)", which dereferences it. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:604: deref_parm_in_call: Function "module_info::set_end(__gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)" dereferences parameter "this". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:557: deref_parm: Directly dereferencing parameter "this". Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:297: var_compare_op: Comparing "online_cpus" to null implies that "online_cpus" might be null. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:298: var_deref_model: Passing null variable "online_cpus" to function "fclose", which dereferences it. Error: FORWARD_NULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:513: dynamic_cast: Dynamic cast to pointer "dynamic_cast <cg_symbol const *>(*it)" can return null. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:513: alias_transfer: Assigning null: "sym" = "dynamic_cast <cg_symbol const *>(*it)". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:516: var_deref_model: Passing null variable "sym->callers" to function "std::vector<symbol_entry, std::allocator<symbol_entry> >::end() const", which dereferences it. /usr/include/c++/4.7.1/bits/stl_vector.h:546: deref_parm: Directly dereferencing parameter "this". Error: INVALIDATE_ITERATOR (CWE-119): /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:829: past_the_end: Function "end" creates an iterator. /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:829: assign_var: Assigning: "end" = "iprofiles.end()". /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:832: tested_end: "it" testing equal to "end". /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:842: deref_iterator: Dereferencing iterator "it" though it is already past the end of its container. Error: NO_EFFECT (CWE-665): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:154: self_assign: Assignment operation "trans->is_anon = trans->is_anon" has no effect. Error: NULL_RETURNS (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1147: returned_null: Function "fopen" returns null. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1147: var_assigned: Assigning: "online" = null return value from "fopen". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1148: dereference: Dereferencing a pointer that might be null "online" when calling "fgetc". Error: NULL_RETURNS (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: returned_null: Function "fopen" returns null. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: var_assigned: Assigning: "fp" = null return value from "fopen". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:32: dereference: Dereferencing a pointer that might be null "fp" when calling "fprintf". Error: NULL_RETURNS (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:206: example_checked: "opendir("/proc")" has its value checked in "dir = opendir("/proc")". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_stats.c:68: example_checked: "opendir("/dev/oprofile/stats/")" has its value checked in "dir = opendir("/dev/oprofile/stats/")". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:902: example_assign: Assigning: "tids" = return value from "opendir(fname)". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:903: example_checked: "tids" has its value checked in "tids == NULL". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:957: example_assign: Assigning: "pids" = return value from "opendir("/proc")". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:958: example_checked: "pids" has its value checked in "pids == NULL". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/profile_spec.cpp:467: example_checked: "opendir(stats_path.c_str())" has its value checked in "dir = opendir(stats_path.c_str())". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: returned_null: Function "opendir" returns null (checked 7 out of 8 times). /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: var_assigned: Assigning: "dir" = null return value from "opendir". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: dereference: Dereferencing a pointer that might be null "dir" when calling "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1138: deref_parm_in_call: Function "readdir" dereferences parameter "dir". (The dereference is assumed on the basis of the 'nonnull' parameter attribute.) Error: NULL_RETURNS (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:113: example_checked: "realpath(exe_name, image_name)" has its value checked in "realpath(exe_name, image_name)". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:290: example_checked: "realpath(name, elt->name)" has its value checked in "realpath(name, elt->name)". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:425: example_checked: "realpath(vmlinux, tmp)" has its value checked in "realpath(vmlinux, tmp)". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:453: example_checked: "realpath(xenimage, tmp)" has its value checked in "realpath(xenimage, tmp)". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/file_manip.cpp:101: example_checked: "realpath(name->c_str(), tmp)" has its value checked in "realpath(name->c_str(), tmp)". /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:218: returned_null: Function "realpath" returns null (checked 5 out of 6 times). /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:218: var_assigned: Assigning: "real_session_dir" = null return value from "realpath". /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:219: dereference: Dereferencing a pointer that might be null "real_session_dir" when calling "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)". Error: PASS_BY_VALUE: /usr/include/c++/4.7.1/bits/stl_heap.h:180: pass_by_value: Passing parameter __value of size 144 bytes by value. Error: PASS_BY_VALUE: /usr/include/c++/4.7.1/bits/stl_heap.h:303: pass_by_value: Passing parameter __value of size 144 bytes by value. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:29: alloc_fn: Calling allocation function "operator new[](unsigned long)". /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:29: var_assign: Assigning: "buffer" = storage returned from "new char[needed_size]". /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:30: noescape: Variable "buffer" is not freed or pointed-to in function "regerror". /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:32: noescape: Variable "buffer" is not freed or pointed-to in function "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)". /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:32: leaked_storage: Variable "buffer" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:70: open_fn: Calling opening function "open". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:70: var_assign: Assigning: "fd" = handle returned from "open(image_path.c_str(), 0)". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:77: noescape: Variable "fd" is not closed or saved in function "fstat". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:178: leaked_handle: Handle variable "fd" going out of scope leaks the handle. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:130: open_fn: Calling opening function "open". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:130: var_assign: Assigning: "fd" = handle returned from "open(image_path.c_str(), 0)". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:137: noescape: Variable "fd" is not closed or saved in function "fstat". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:145: noescape: Variable "fd" is not closed or saved in function "fdopen_bfd(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, int)". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:180: leaked_handle: Handle variable "fd" going out of scope leaks the handle. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:325: open_fn: Calling opening function "open". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:325: var_assign: Assigning: "fd" = handle returned from "open(name, 0)". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:336: noescape: Variable "fd" is not closed or saved in function "read". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:352: leaked_handle: Handle variable "fd" going out of scope leaks the handle. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:223: alloc_fn: Calling allocation function "operator new(unsigned long)". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:223: var_assign: Assigning: "mapping" = storage returned from "new operf_mmap". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:224: noescape: Variable "mapping" is not freed or pointed-to in function "memset". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:305: leaked_storage: Variable "mapping" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: alloc_fn: Calling allocation function "fopen". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: var_assign: Assigning: "fp" = storage returned from "fopen(operf_log.c_str(), "a")". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:32: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:33: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:34: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:35: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:36: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:37: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:38: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:40: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:41: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:43: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:45: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:47: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:49: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:51: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:53: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:80: noescape: Variable "fp" is not freed or pointed-to in function "fflush". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:81: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:276: alloc_fn: Calling allocation function "fopen". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:276: var_assign: Assigning: "fp" = storage returned from "fopen(fname, "r")". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:285: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: alloc_fn: Calling allocation function "opendir". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: var_assign: Assigning: "dir" = storage returned from "opendir("/sys/devices/system/cpu")". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: noescape: Variable "dir" is not freed or pointed-to in function "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1129:49: noescape: "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)" does not free or save its pointer parameter "dir". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: noescape: Variable "dir" is not freed or pointed-to in function "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1129:49: noescape: "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)" does not free or save its pointer parameter "dir". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:384: leaked_storage: Variable "dir" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:991: alloc_fn: Calling allocation function "popen". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:991: var_assign: Assigning: "fp" = storage returned from "popen(command.c_str(), "r")". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:997: noescape: Variable "fp" is not freed or pointed-to in function "fgets". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1003: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:109: open_fn: Calling opening function "open". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:109: leaked_handle: Failing to save handle opened by "open(op_log_file, 1345, 420)" leaks it. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1018: alloc_fn: Calling allocation function "popen". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1018: var_assign: Assigning: "fp" = storage returned from "popen(full_cmd.c_str(), "r")". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1024: noescape: Variable "fp" is not freed or pointed-to in function "fgetc". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1069: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1521: alloc_fn: Calling allocation function "fopen". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1521: var_assign: Assigning: "fp" = storage returned from "fopen(filename, "r")". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1524: noescape: Variable "fp" is not freed or pointed-to in function "fgets". /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1525: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1527: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-404): /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:156: alloc_fn: Calling allocation function "fdopen". /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:156: var_assign: Assigning: "dumpfile" = storage returned from "fdopen(fd, "w")". /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:162: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:173: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:178: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:180: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:182: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:185: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:188: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:190: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. Error: REVERSE_INULL (CWE-476): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:113: deref_ptr_in_call: Dereferencing pointer "image_name". /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:158: check_after_deref: Dereferencing "image_name" before a null check. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:74: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:75: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:316: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:326: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:316: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:328: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:612: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:619: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:612: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:628: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_sfile.cpp:187: format_changed: "hex" changes the format state of "std::cout" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_sfile.cpp:189: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:409: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:417: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:192: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:195: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:550: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:659: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:568: format_changed: "hex" changes the format state of "std::cout" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:659: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:243: format_changed: "hex" changes the format state of "std::cout" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:305: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:704: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:705: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1081: format_changed: "hex" changes the format state of "std::cout" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1085: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/pp/opreport.cpp:251: format_changed: "setf" changes the format state of "std::cout" for category adjustfield. /builddir/build/BUILD/oprofile-0.9.7.9/pp/opreport.cpp:281: end_of_path: Changing format state of stream "std::cout" for category adjustfield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:508: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:515: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:508: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:519: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:587: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:612: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:50: format_changed: "hex" changes the format state of "cverb" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:58: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:54: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:58: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. Error: STREAM_FORMAT_STATE: /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:217: format_changed: "hex" changes the format state of "std::cout" for category basefield. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:225: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:72: var_decl: Declaring variable "values" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:131: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:131: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:55: var_decl: Declaring variable "values" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:99: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:99: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:71: var_decl: Declaring variable "values" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:97: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:97: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.cpp:46: var_decl: Declaring variable "result". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.cpp:56: uninit_use_in_call: Using uninitialized value "result.jit_dumpfile_exists" when calling "parsed_filename::parsed_filename(parsed_filename const &)". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.h:21:8: read_parm_fld: Reading a parameter field. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:945: var_decl: Declaring variable "ret" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:976: uninit_use: Using uninitialized value "ret". Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:163: var_decl: Declaring variable "act" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:172: uninit_use_in_call: Using uninitialized value "act.sa_flags" when calling "sigaction". Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:675: var_decl: Declaring variable "classes". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:680: uninit_use_in_call: Using uninitialized value "classes.axis" when calling "profile_classes::profile_classes(profile_classes const &)". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.h:133:8: read_parm_fld: Reading a parameter field. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:692: uninit_use_in_call: Using uninitialized value "classes.axis" when calling "profile_classes::profile_classes(profile_classes const &)". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.h:133:8: read_parm_fld: Reading a parameter field. Error: UNINIT (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:133: var_decl: Declaring variable "header" without initializer. /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:178: uninit_use_in_call: Using uninitialized value "header": field "header".bfd_target is uninitialized when calling "fwrite". Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:82: member_decl: Class member declaration for ""symb_hidden"". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:84: member_decl: Class member declaration for ""symb_weak"". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:86: uninit_member: Non-static class member ""symb_hidden"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:86: uninit_member: Non-static class member ""symb_weak"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/cached_value.h:46: member_decl: Class member declaration for ""value"". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/cached_value.h:23: uninit_member: Non-static class member ""value"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:129: member_decl: Class member declaration for ""formatter"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:122: uninit_member: Non-static class member ""formatter"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:127: member_decl: Class member declaration for ""width"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:122: uninit_member: Non-static class member ""width"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""spu_offset"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""sym_index"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:75: member_decl: Class member declaration for ""sym_index"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:91: member_decl: Class member declaration for ""spu_offset"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:103: member_decl: Class member declaration for ""vma_adj"". Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:324: member_decl: Class member declaration for ""vma_adj"". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:178: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:324: member_decl: Class member declaration for ""vma_adj"". /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:180: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.h:100: member_decl: Class member declaration for ""num_app_chars_matched"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:41: uninit_member: Non-static class member ""num_app_chars_matched"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/callgraph_container.cpp:219: member_decl: Class member declaration for ""callee_end"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/callgraph_container.cpp:132: uninit_member: Non-static class member ""callee_end"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:69: member_decl: Class member declaration for ""fd"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:70: member_decl: Class member declaration for ""id"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:80: uninit_member: Non-static class member ""fd"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:80: uninit_member: Non-static class member ""id"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:168: member_decl: Class member declaration for ""global_percent"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:115: uninit_member: Non-static class member ""global_percent"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:97: member_decl: Class member declaration for ""output_fd"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:100: member_decl: Class member declaration for ""num_cpus"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:162: uninit_member: Non-static class member ""num_cpus"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:162: uninit_member: Non-static class member ""output_fd"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:275: member_decl: Class member declaration for ""detail_count"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:617: uninit_member: Non-static class member ""detail_count"" is not initialized in this constructor nor in any functions that it calls. Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.cpp:32: uninit_member: Non-static class member ""count"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.cpp:32: uninit_member: Non-static class member ""unitmask"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.h:76: member_decl: Class member declaration for ""count"". /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.h:77: member_decl: Class member declaration for ""unitmask"". Error: UNINIT_CTOR (CWE-457): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:118: uninit_member: Non-static class member ""cpu_type"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:118: uninit_member: Non-static class member ""sample_data_fd"" is not initialized in this constructor nor in any functions that it calls. /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:129: member_decl: Class member declaration for ""sample_data_fd"". /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:135: member_decl: Class member declaration for ""cpu_type"". Error: UNREACHABLE (CWE-561): /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_spu_support.cpp:108: unreachable: This code cannot be reached: "if (!nbfd){ (((cverb << v...". Error: USE_AFTER_FREE (CWE-416): /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:285: freed_arg: "parse_um" frees "um". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:169: freed_arg: "free_unit_mask" frees parameter "um". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:255: freed_arg: "free" frees parameter "um". /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:289: deref_after_free: Dereferencing freed pointer "um". Error: WRAPPER_ESCAPE (CWE-416): /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:388: escape: The internal representation of "std::string(proc->get_app_name())" escapes into "trans.app_filename", but is destroyed when it exits scope. |
From: Maynard J. <may...@us...> - 2012-07-23 15:41:57
|
On 07/20/2012 03:15 PM, William Cohen wrote: > On 07/19/2012 01:05 PM, Maynard Johnson wrote: >> Hello, OProfile community, >> I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. >> >> Thanks. >> -Maynard > > Hi Maynard, > > I ran the current oprofile through coverity to see if there were any problems with the code. Below is the list of errors that coverity reported. Some of the may be false positives. We should go through these and make sure there aren't any major ones. Will, Thanks for running coverity on the oprofile code base. A few random checks of some of the errors identified below seem to indicate mostly valid errors. I will definitely fix up the errors identified in new code (libperf_events and pe_profiling), with the exception of STREAM_FORMAT_STATE errors. We see these STREAM_FORMAT_STATE errors in both the new and old code. Eliminating these errors without affecting output the wrong way would have to be done very carefully with a lot of testing of various options. I suspect that in many cases, some code may be written with the assumption that the stream format state was previously set a certain way. So IMHO, I think such "errors" should be ignored. Can coverity be set up to ignore these? Once I post a patch with the libperf_events and pe_profiling fixes, I would like you to run coverity again. And assuming my patch completely addresses errors against new code, then your report should identify only issues in old, existing code. We can discuss what to do with those issues with old code, but since most of them have probably existed for years, I would probably lean towards opening a bug and chipping away at them after the release of 0.9.8. -Maynard > > -Will > > Error: CHECKED_RETURN (CWE-252): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:461: example_checked: "waitpid(operf_read_pid, &waitpid_status, option)" has its value checked in "(wait_rc = waitpid(operf_read_pid, &waitpid_status, option)) < 0". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:510: example_checked: "waitpid(operf_record_pid, &waitpid_status, 0)" has its value checked in "waitpid(operf_record_pid, &waitpid_status, 0) < 0". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:626: example_checked: "waitpid(the_pid, &waitpid_status, 1)" has its value checked in "(wait_rc = waitpid(the_pid, &waitpid_status, 1)) < 0". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:668: example_checked: "waitpid(operf_record_pid, &waitpid_status, 0)" has its value checked in "waitpid(operf_record_pid, &waitpid_status, 0) < 0". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/child_reader.cpp:226: check_return: Calling function "waitpid" without checking return value (as is done elsewhere 4 out of 5 times). > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/child_reader.cpp:226: unchecked_value: No check of the return value of "waitpid(this->pid, &ret, 0)". > > Error: DEADCODE (CWE-561): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:65: dead_error_condition: On this path, the switch value "error" cannot be "0". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: cannot_set: After this line (or expression), the value of "error" cannot be any of { 0 1 }. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: const: After this line, the value of "error" is equal to 1. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:31: equality_cond: Condition "error == 0" is evaluated as false. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:41: new_values: Noticing condition "error == 1". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/image_errors.cpp:65: dead_error_begin: Execution cannot reach this statement "case 0:". > > Error: DEADCODE (CWE-561): > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1277: dead_error_condition: On this path, the condition "found > 1" cannot be true. > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1268: const: After this line, the value of "found" is equal to 0. > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1268: assignment: Assigning: "found" = "0". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:1277: dead_error_line: Execution cannot reach this expression "had_unit_mask" inside statement "if (found > 1 && had_unit_m...". > > Error: DELETE_ARRAY (CWE-459): > /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:184: new_array: Using new in : "new char[4096UL]". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:184: var_assign: Assigning: "cwd" = storage from "new char[4096UL]". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/common_option.cpp:186: delete_var: Deleting array variable "cwd" with non-array delete in "delete cwd". > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:98: var_compare_op: Comparing "ki" to null implies that "ki" might be null. > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:106: var_deref_op: Dereferencing null variable "ki". > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:27: var_compare_op: Comparing "appname" to null implies that "appname" might be null. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:30: var_deref_model: Passing null variable "appname" to function "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)", which dereferences it. > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:852: var_compare_op: Comparing "fp" to null implies that "fp" might be null. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:867: var_deref_model: Passing null variable "fp" to function "fgets", which dereferences it. > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:673: assign_zero: Assigning: "current_binary" = 0. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:687: var_deref_model: Passing null variable "current_binary" to function "binary_info::add_module_symbol(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, __gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)", which dereferences it. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:627: deref_parm: Directly dereferencing parameter "this". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:691: var_deref_model: Passing null variable "current_binary" to function "binary_info::close_binary(__gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)", which dereferences it. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:604: deref_parm_in_call: Function "module_info::set_end(__gnu_cxx::__normal_iterator<symbol_entry const * const *, std::vector<symbol_entry const *, std::allocator<symbol_entry const *> > >)" dereferences parameter "this". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/xml_utils.cpp:557: deref_parm: Directly dereferencing parameter "this". > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:297: var_compare_op: Comparing "online_cpus" to null implies that "online_cpus" might be null. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:298: var_deref_model: Passing null variable "online_cpus" to function "fclose", which dereferences it. > > Error: FORWARD_NULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:513: dynamic_cast: Dynamic cast to pointer "dynamic_cast <cg_symbol const *>(*it)" can return null. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:513: alias_transfer: Assigning null: "sym" = "dynamic_cast <cg_symbol const *>(*it)". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:516: var_deref_model: Passing null variable "sym->callers" to function "std::vector<symbol_entry, std::allocator<symbol_entry> >::end() const", which dereferences it. > /usr/include/c++/4.7.1/bits/stl_vector.h:546: deref_parm: Directly dereferencing parameter "this". > > Error: INVALIDATE_ITERATOR (CWE-119): > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:829: past_the_end: Function "end" creates an iterator. > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:829: assign_var: Assigning: "end" = "iprofiles.end()". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:832: tested_end: "it" testing equal to "end". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opannotate.cpp:842: deref_iterator: Dereferencing iterator "it" though it is already past the end of its container. > > Error: NO_EFFECT (CWE-665): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:154: self_assign: Assignment operation "trans->is_anon = trans->is_anon" has no effect. > > Error: NULL_RETURNS (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1147: returned_null: Function "fopen" returns null. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1147: var_assigned: Assigning: "online" = null return value from "fopen". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1148: dereference: Dereferencing a pointer that might be null "online" when calling "fgetc". > > Error: NULL_RETURNS (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: returned_null: Function "fopen" returns null. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: var_assigned: Assigning: "fp" = null return value from "fopen". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:32: dereference: Dereferencing a pointer that might be null "fp" when calling "fprintf". > > Error: NULL_RETURNS (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:206: example_checked: "opendir("/proc")" has its value checked in "dir = opendir("/proc")". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_stats.c:68: example_checked: "opendir("/dev/oprofile/stats/")" has its value checked in "dir = opendir("/dev/oprofile/stats/")". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:902: example_assign: Assigning: "tids" = return value from "opendir(fname)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:903: example_checked: "tids" has its value checked in "tids == NULL". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:957: example_assign: Assigning: "pids" = return value from "opendir("/proc")". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:958: example_checked: "pids" has its value checked in "pids == NULL". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/profile_spec.cpp:467: example_checked: "opendir(stats_path.c_str())" has its value checked in "dir = opendir(stats_path.c_str())". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: returned_null: Function "opendir" returns null (checked 7 out of 8 times). > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: var_assigned: Assigning: "dir" = null return value from "opendir". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: dereference: Dereferencing a pointer that might be null "dir" when calling "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1138: deref_parm_in_call: Function "readdir" dereferences parameter "dir". (The dereference is assumed on the basis of the 'nonnull' parameter attribute.) > > Error: NULL_RETURNS (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:113: example_checked: "realpath(exe_name, image_name)" has its value checked in "realpath(exe_name, image_name)". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:290: example_checked: "realpath(name, elt->name)" has its value checked in "realpath(name, elt->name)". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:425: example_checked: "realpath(vmlinux, tmp)" has its value checked in "realpath(vmlinux, tmp)". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:453: example_checked: "realpath(xenimage, tmp)" has its value checked in "realpath(xenimage, tmp)". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/file_manip.cpp:101: example_checked: "realpath(name->c_str(), tmp)" has its value checked in "realpath(name->c_str(), tmp)". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:218: returned_null: Function "realpath" returns null (checked 5 out of 6 times). > /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:218: var_assigned: Assigning: "real_session_dir" = null return value from "realpath". > /builddir/build/BUILD/oprofile-0.9.7.9/pp/oparchive.cpp:219: dereference: Dereferencing a pointer that might be null "real_session_dir" when calling "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)". > > Error: PASS_BY_VALUE: > /usr/include/c++/4.7.1/bits/stl_heap.h:180: pass_by_value: Passing parameter __value of size 144 bytes by value. > > Error: PASS_BY_VALUE: > /usr/include/c++/4.7.1/bits/stl_heap.h:303: pass_by_value: Passing parameter __value of size 144 bytes by value. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:29: alloc_fn: Calling allocation function "operator new[](unsigned long)". > /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:29: var_assign: Assigning: "buffer" = storage returned from "new char[needed_size]". > /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:30: noescape: Variable "buffer" is not freed or pointed-to in function "regerror". > /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:32: noescape: Variable "buffer" is not freed or pointed-to in function "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const *, std::allocator<char> const &)". > /builddir/build/BUILD/oprofile-0.9.7.9/libregex/op_regex.cpp:32: leaked_storage: Variable "buffer" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:70: open_fn: Calling opening function "open". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:70: var_assign: Assigning: "fd" = handle returned from "open(image_path.c_str(), 0)". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:77: noescape: Variable "fd" is not closed or saved in function "fstat". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:178: leaked_handle: Handle variable "fd" going out of scope leaks the handle. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:130: open_fn: Calling opening function "open". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:130: var_assign: Assigning: "fd" = handle returned from "open(image_path.c_str(), 0)". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:137: noescape: Variable "fd" is not closed or saved in function "fstat". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:145: noescape: Variable "fd" is not closed or saved in function "fdopen_bfd(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const &, int)". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:180: leaked_handle: Handle variable "fd" going out of scope leaks the handle. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:325: open_fn: Calling opening function "open". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:325: var_assign: Assigning: "fd" = handle returned from "open(name, 0)". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:336: noescape: Variable "fd" is not closed or saved in function "read". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_sfile.c:352: leaked_handle: Handle variable "fd" going out of scope leaks the handle. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:223: alloc_fn: Calling allocation function "operator new(unsigned long)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:223: var_assign: Assigning: "mapping" = storage returned from "new operf_mmap". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:224: noescape: Variable "mapping" is not freed or pointed-to in function "memset". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:305: leaked_storage: Variable "mapping" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: alloc_fn: Calling allocation function "fopen". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:31: var_assign: Assigning: "fp" = storage returned from "fopen(operf_log.c_str(), "a")". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:32: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:33: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:34: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:35: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:36: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:37: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:38: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:40: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:41: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:43: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:45: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:47: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:49: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:51: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:53: noescape: Variable "fp" is not freed or pointed-to in function "fprintf". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:80: noescape: Variable "fp" is not freed or pointed-to in function "fflush". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_stats.cpp:81: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:276: alloc_fn: Calling allocation function "fopen". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:276: var_assign: Assigning: "fp" = storage returned from "fopen(fname, "r")". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:285: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: alloc_fn: Calling allocation function "opendir". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:314: var_assign: Assigning: "dir" = storage returned from "opendir("/sys/devices/system/cpu")". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: noescape: Variable "dir" is not freed or pointed-to in function "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1129:49: noescape: "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)" does not free or save its pointer parameter "dir". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:325: noescape: Variable "dir" is not freed or pointed-to in function "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1129:49: noescape: "OP_perf_utils::op_get_next_online_cpu(__dirstream *, dirent *)" does not free or save its pointer parameter "dir". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:384: leaked_storage: Variable "dir" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:991: alloc_fn: Calling allocation function "popen". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:991: var_assign: Assigning: "fp" = storage returned from "popen(command.c_str(), "r")". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:997: noescape: Variable "fp" is not freed or pointed-to in function "fgets". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1003: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:109: open_fn: Calling opening function "open". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/oprofiled.c:109: leaked_handle: Failing to save handle opened by "open(op_log_file, 1345, 420)" leaks it. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1018: alloc_fn: Calling allocation function "popen". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1018: var_assign: Assigning: "fp" = storage returned from "popen(full_cmd.c_str(), "r")". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1024: noescape: Variable "fp" is not freed or pointed-to in function "fgetc". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1069: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1521: alloc_fn: Calling allocation function "fopen". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1521: var_assign: Assigning: "fp" = storage returned from "fopen(filename, "r")". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1524: noescape: Variable "fp" is not freed or pointed-to in function "fgets". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1525: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1527: leaked_storage: Variable "fp" going out of scope leaks the storage it points to. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:156: alloc_fn: Calling allocation function "fdopen". > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:156: var_assign: Assigning: "dumpfile" = storage returned from "fdopen(fd, "w")". > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:162: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:173: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:178: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:180: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:182: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:185: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:188: noescape: Variable "dumpfile" is not freed or pointed-to in function "fwrite". > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:190: leaked_storage: Variable "dumpfile" going out of scope leaks the storage it points to. > > Error: REVERSE_INULL (CWE-476): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:113: deref_ptr_in_call: Dereferencing pointer "image_name". > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_parse_proc.c:158: check_after_deref: Dereferencing "image_name" before a null check. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:74: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:75: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:316: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:326: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:316: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:328: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:612: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:619: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:612: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_support.cpp:628: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_sfile.cpp:187: format_changed: "hex" changes the format state of "std::cout" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_sfile.cpp:189: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:409: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:417: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:192: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:195: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:550: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:659: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:568: format_changed: "hex" changes the format state of "std::cout" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:659: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:243: format_changed: "hex" changes the format state of "std::cout" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:305: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:704: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:705: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1081: format_changed: "hex" changes the format state of "std::cout" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:1085: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opreport.cpp:251: format_changed: "setf" changes the format state of "std::cout" for category adjustfield. > /builddir/build/BUILD/oprofile-0.9.7.9/pp/opreport.cpp:281: end_of_path: Changing format state of stream "std::cout" for category adjustfield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:508: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:515: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:508: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:519: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:587: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:612: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:50: format_changed: "hex" changes the format state of "cverb" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:58: end_of_path: Changing format state of stream "cverb" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:54: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_kernel.cpp:58: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:91: format_changed: "hex" changes the format state of "std::cerr" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libabi/opimport.cpp:104: end_of_path: Changing format state of stream "std::cerr" for category basefield without later restoring it. > > Error: STREAM_FORMAT_STATE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:217: format_changed: "hex" changes the format state of "std::cout" for category basefield. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:225: end_of_path: Changing format state of stream "std::cout" for category basefield without later restoring it. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:72: var_decl: Declaring variable "values" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:131: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/opd_mangling.c:131: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:55: var_decl: Declaring variable "values" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:99: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:99: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:71: var_decl: Declaring variable "values" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:97: uninit_use_in_call: Using uninitialized value "values.anon_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:49: read_parm_fld: Reading a parameter field. > /builddir/build/BUILD/oprofile-0.9.7.9/daemon/liblegacy/opd_sample_files.c:97: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_mangle.c:51: read_parm_fld: Reading a parameter field. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.cpp:46: var_decl: Declaring variable "result". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.cpp:56: uninit_use_in_call: Using uninitialized value "result.jit_dumpfile_exists" when calling "parsed_filename::parsed_filename(parsed_filename const &)". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/parse_filename.h:21:8: read_parm_fld: Reading a parameter field. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:945: var_decl: Declaring variable "ret" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:976: uninit_use: Using uninitialized value "ret". > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:163: var_decl: Declaring variable "act" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:172: uninit_use_in_call: Using uninitialized value "act.sa_flags" when calling "sigaction". > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:675: var_decl: Declaring variable "classes". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:680: uninit_use_in_call: Using uninitialized value "classes.axis" when calling "profile_classes::profile_classes(profile_classes const &)". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.h:133:8: read_parm_fld: Reading a parameter field. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.cpp:692: uninit_use_in_call: Using uninitialized value "classes.axis" when calling "profile_classes::profile_classes(profile_classes const &)". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/arrange_profiles.h:133:8: read_parm_fld: Reading a parameter field. > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:133: var_decl: Declaring variable "header" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/libopagent/opagent.c:178: uninit_use_in_call: Using uninitialized value "header": field "header".bfd_target is uninitialized when calling "fwrite". > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:82: member_decl: Class member declaration for ""symb_hidden"". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:84: member_decl: Class member declaration for ""symb_weak"". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:86: uninit_member: Non-static class member ""symb_hidden"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:86: uninit_member: Non-static class member ""symb_weak"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/cached_value.h:46: member_decl: Class member declaration for ""value"". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/cached_value.h:23: uninit_member: Non-static class member ""value"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:129: member_decl: Class member declaration for ""formatter"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:122: uninit_member: Non-static class member ""formatter"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:127: member_decl: Class member declaration for ""width"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:122: uninit_member: Non-static class member ""width"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""spu_offset"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""sym_index"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:65: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:75: member_decl: Class member declaration for ""sym_index"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:91: member_decl: Class member declaration for ""spu_offset"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/symbol.h:103: member_decl: Class member declaration for ""vma_adj"". > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:324: member_decl: Class member declaration for ""vma_adj"". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_spu_bfd.cpp:178: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.h:324: member_decl: Class member declaration for ""vma_adj"". > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/op_bfd.cpp:180: uninit_member: Non-static class member ""vma_adj"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.h:100: member_decl: Class member declaration for ""num_app_chars_matched"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_process_info.cpp:41: uninit_member: Non-static class member ""num_app_chars_matched"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/callgraph_container.cpp:219: member_decl: Class member declaration for ""callee_end"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/callgraph_container.cpp:132: uninit_member: Non-static class member ""callee_end"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:69: member_decl: Class member declaration for ""fd"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:70: member_decl: Class member declaration for ""id"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:80: uninit_member: Non-static class member ""fd"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:80: uninit_member: Non-static class member ""id"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:168: member_decl: Class member declaration for ""global_percent"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:115: uninit_member: Non-static class member ""global_percent"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:97: member_decl: Class member declaration for ""output_fd"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:100: member_decl: Class member declaration for ""num_cpus"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:162: uninit_member: Non-static class member ""num_cpus"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:162: uninit_member: Non-static class member ""output_fd"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.h:275: member_decl: Class member declaration for ""detail_count"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/format_output.cpp:617: uninit_member: Non-static class member ""detail_count"" is not initialized in this constructor nor in any functions that it calls. > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.cpp:32: uninit_member: Non-static class member ""count"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.cpp:32: uninit_member: Non-static class member ""unitmask"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.h:76: member_decl: Class member declaration for ""count"". > /builddir/build/BUILD/oprofile-0.9.7.9/libpp/filename_spec.h:77: member_decl: Class member declaration for ""unitmask"". > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:118: uninit_member: Non-static class member ""cpu_type"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:118: uninit_member: Non-static class member ""sample_data_fd"" is not initialized in this constructor nor in any functions that it calls. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:129: member_decl: Class member declaration for ""sample_data_fd"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:135: member_decl: Class member declaration for ""cpu_type"". > > Error: UNREACHABLE (CWE-561): > /builddir/build/BUILD/oprofile-0.9.7.9/libutil++/bfd_spu_support.cpp:108: unreachable: This code cannot be reached: "if (!nbfd){ > (((cverb << v...". > > Error: USE_AFTER_FREE (CWE-416): > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:285: freed_arg: "parse_um" frees "um". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:169: freed_arg: "free_unit_mask" frees parameter "um". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:255: freed_arg: "free" frees parameter "um". > /builddir/build/BUILD/oprofile-0.9.7.9/libop/op_events.c:289: deref_after_free: Dereferencing freed pointer "um". > > Error: WRAPPER_ESCAPE (CWE-416): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:388: escape: The internal representation of "std::string(proc->get_app_name())" escapes into "trans.app_filename", but is destroyed when it exits scope. > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > > |
From: William C. <wc...@re...> - 2012-07-23 17:49:22
|
On 07/23/2012 11:38 AM, Maynard Johnson wrote: > On 07/20/2012 03:15 PM, William Cohen wrote: >> On 07/19/2012 01:05 PM, Maynard Johnson wrote: >>> Hello, OProfile community, >>> I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. >>> >>> Thanks. >>> -Maynard >> >> Hi Maynard, >> >> I ran the current oprofile through coverity to see if there were any problems with the code. Below is the list of errors that coverity reported. Some of the may be false positives. We should go through these and make sure there aren't any major ones. > Will, > Thanks for running coverity on the oprofile code base. A few random checks of some of the errors identified below seem to indicate mostly valid errors. I will definitely fix up the errors identified in new code (libperf_events and pe_profiling), with the exception of STREAM_FORMAT_STATE errors. We see these STREAM_FORMAT_STATE errors in both the new and old code. Eliminating these errors without affecting output the wrong way would have to be done very carefully with a lot of testing of various options. I suspect that in many cases, some code may be written with the assumption that the stream format state was previously set a certain way. So IMHO, I think such "errors" should be ignored. Can coverity be set up to ignore these? > > Once I post a patch with the libperf_events and pe_profiling fixes, I would like you to run coverity again. And assuming my patch completely addresses errors against new code, then your report should identify only issues in old, existing code. We can discuss what to do with those issues with old code, but since most of them have probably existed for years, I would probably lean towards opening a bug and chipping away at them after the release of 0.9.8. > > -Maynard > >> >> -Will Hi Maynard, There can be false positives in the coverity report, for example unused variables. For some of the coverity tools there are ways of marking things to ignore, but I don't know if that can be done with the raw report that I sent. I will be happy to rerun coverity on the the patches to verify they eliminate the reported issues. I will try to take a closer look at the errors later this week. The following URL makes an attempt to prioritize the relative importances of the errors: https://wiki.edubuntu.org/CoverityCheckerDictionary Base on that the FORWARD_NULL, NULL_RETURNS, RESOURCE_LEAK, UNINT, USE_AFTER_FREE, and INVALIDATE_ITERATOR errors should be checked. -Will |
From: William C. <wc...@re...> - 2012-08-08 16:30:51
Attachments:
oprofile-0.9.7.9-8.fc17.err
|
On 07/23/2012 01:49 PM, William Cohen wrote: > On 07/23/2012 11:38 AM, Maynard Johnson wrote: >> On 07/20/2012 03:15 PM, William Cohen wrote: >>> On 07/19/2012 01:05 PM, Maynard Johnson wrote: >>>> Hello, OProfile community, >>>> I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. >>>> >>>> Thanks. >>>> -Maynard >>> >>> Hi Maynard, >>> >>> I ran the current oprofile through coverity to see if there were any problems with the code. Below is the list of errors that coverity reported. Some of the may be false positives. We should go through these and make sure there aren't any major ones. >> Will, >> Thanks for running coverity on the oprofile code base. A few random checks of some of the errors identified below seem to indicate mostly valid errors. I will definitely fix up the errors identified in new code (libperf_events and pe_profiling), with the exception of STREAM_FORMAT_STATE errors. We see these STREAM_FORMAT_STATE errors in both the new and old code. Eliminating these errors without affecting output the wrong way would have to be done very carefully with a lot of testing of various options. I suspect that in many cases, some code may be written with the assumption that the stream format state was previously set a certain way. So IMHO, I think such "errors" should be ignored. Can coverity be set up to ignore these? >> >> Once I post a patch with the libperf_events and pe_profiling fixes, I would like you to run coverity again. And assuming my patch completely addresses errors against new code, then your report should identify only issues in old, existing code. We can discuss what to do with those issues with old code, but since most of them have probably existed for years, I would probably lean towards opening a bug and chipping away at them after the release of 0.9.8. >> >> -Maynard >> >>> >>> -Will Hi Maynard, Here is a rerun of coverity for the code that is in the current git tree as of august 8. Some errors were fixed, but still around eight coverity errors reported. -Will |
From: Maynard J. <may...@us...> - 2012-08-08 20:08:53
|
On 08/08/2012 11:30 AM, William Cohen wrote: > On 07/23/2012 01:49 PM, William Cohen wrote: >> On 07/23/2012 11:38 AM, Maynard Johnson wrote: >>> On 07/20/2012 03:15 PM, William Cohen wrote: >>>> On 07/19/2012 01:05 PM, Maynard Johnson wrote: >>>>> Hello, OProfile community, >>>>> I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. >>>>> >>>>> Thanks. >>>>> -Maynard >>>> >>>> Hi Maynard, >>>> >>>> I ran the current oprofile through coverity to see if there were any problems with the code. Below is the list of errors that coverity reported. Some of the may be false positives. We should go through these and make sure there aren't any major ones. >>> Will, >>> Thanks for running coverity on the oprofile code base. A few random checks of some of the errors identified below seem to indicate mostly valid errors. I will definitely fix up the errors identified in new code (libperf_events and pe_profiling), with the exception of STREAM_FORMAT_STATE errors. We see these STREAM_FORMAT_STATE errors in both the new and old code. Eliminating these errors without affecting output the wrong way would have to be done very carefully with a lot of testing of various options. I suspect that in many cases, some code may be written with the assumption that the stream format state was previously set a certain way. So IMHO, I think such "errors" should be ignored. Can coverity be set up to ignore these? >>> >>> Once I post a patch with the libperf_events and pe_profiling fixes, I would like you to run coverity again. And assuming my patch completely addresses errors against new code, then your report should identify only issues in old, existing code. We can discuss what to do with those issues with old code, but since most of them have probably existed for years, I would probably lean towards opening a bug and chipping away at them after the release of 0.9.8. >>> >>> -Maynard >>> >>>> >>>> -Will > > Hi Maynard, > > Here is a rerun of coverity for the code that is in the current git tree as of august 8. Some errors were fixed, but still around eight coverity errors reported. > > -Will > > Will, Thanks for running coverity again. I'm glad you did because it caught a few problems I introduced in the last week or so with some of the large patches I've committed. It seems that at least one of the compilers I built on would have caught some of these problems. Oh, well. I only fixed the new issues, relating to operf. There were two issues that seem like false errors (see "MPJ response" below). The fixes have been committed and pushed upstream. When you have time, please re-run coverity, but see if you can somehow filter out the STREAM_FORMAT_STATE checks, since (as I said in an earlier response to this thread), I don't think we should change the code. Then please open a bug report, and we'll deal with the rest of the (old) issues after 0.9.8 is release. Thanks! -Maynard > > oprofile-0.9.7.9-8.fc17.err > > > Error: CHECKED_RETURN (CWE-252): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:742: check_return: Calling function "system" without checking return value (as is done elsewhere 4 out of 5 times). > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:742: unchecked_value: No check of the return value of "system(cmd.c_str())". > > > > Error: MISSING_RETURN: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:328: missing_return: Arriving at the end of a function without returning a value. > > Error: MISSING_RETURN: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:762: missing_return: Arriving at the end of a function without returning a value. > > > Error: PASS_BY_VALUE: > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:157: pass_by_value: Passing parameter evt of size 168 bytes by value. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:382: alloc_fn: Calling allocation function "operator new(unsigned long)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:382: var_assign: Assigning: "mapping" = storage returned from "new operf_mmap". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:383: noescape: Variable "mapping" is not freed or pointed-to in function "memset". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:483: leaked_storage: Variable "mapping" going out of scope leaks the storage it points to. MPJ response: This looks like a false error. The "mapping" object is inserted into the all_images_map collection, and when we're done profiling, all those mappings are deleted in OP_perf_utils::op_release_resources(). > > Error: UNCAUGHT_EXCEPT (CWE-248): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1664: root_function: In function "main" an exception of type "std::runtime_error" is thrown and never caught. > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1717: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:603: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:905: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:759: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:685: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:628: exception_thrown: An exception of type "std::runtime_error" is thrown. > > Error: UNCAUGHT_EXCEPT (CWE-248): > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1664: root_function: In function "main" an exception of type "std::runtime_error" is thrown and never caught. > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:1743: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/pe_profiling/operf.cpp:905: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:759: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:685: fun_call_w_exception: Called function throws an exception of type "std::runtime_error". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.cpp:628: exception_thrown: An exception of type "std::runtime_error" is thrown. > > > Error: UNINIT (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:55: var_decl: Declaring variable "values" without initializer. > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_mangling.cpp:100: uninit_use_in_call: Using uninitialized value "values.cg_image_name" when calling "op_mangle_filename". > > > Error: UNINIT_CTOR (CWE-457): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:139: member_decl: Class member declaration for ""syswide"". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_counter.h:121: uninit_member: Non-static class member ""syswide"" is not initialized in this constructor nor in any functions that it calls. > > Error: WRAPPER_ESCAPE (CWE-416): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:566: escape: The internal representation of "std::string(proc->get_app_name())" escapes into "trans.app_filename", but is destroyed when it exits scope. MPJ response: This seems like a false error since "proc" is not destroyed until after all samples have been processed and we're no longer using "trans". > |
From: William C. <wc...@re...> - 2012-08-09 19:02:37
Attachments:
oprofile-0.9.7.9-9.fc17.err
|
On 08/08/2012 04:07 PM, Maynard Johnson wrote: > On 08/08/2012 11:30 AM, William Cohen wrote: >> Hi Maynard, >> >> Here is a rerun of coverity for the code that is in the current git tree as of august 8. Some errors were fixed, but still around eight coverity errors reported. >> >> -Will >> >> > > Will, > Thanks for running coverity again. I'm glad you did because it caught a few problems I introduced in the last week or so with some of the large patches I've committed. It seems that at least one of the compilers I built on would have caught some of these problems. Oh, well. I only fixed the new issues, relating to operf. There were two issues that seem like false errors (see "MPJ response" below). The fixes have been committed and pushed upstream. When you have time, please re-run coverity, but see if you can somehow filter out the STREAM_FORMAT_STATE checks, since (as I said in an earlier response to this thread), I don't think we should change the code. Then please open a bug report, and we'll deal with the rest of the (old) issues after 0.9.8 is release. > > Thanks! > -Maynard Hi Maynard, I attached the current coverity results. It is quite possible for coverity to have false positives in the reports. I don't know how smart coverity is tracking memory allocation/frees between functions. > > Error: RESOURCE_LEAK (CWE-404): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:382: alloc_fn: Calling allocation function "operator new(unsigned long)". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:382: var_assign: Assigning: "mapping" = storage returned from "new operf_mmap". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:383: noescape: Variable "mapping" is not freed or pointed-to in function "memset". > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:483: leaked_storage: Variable "mapping" going out of scope leaks the storage it points to. MPJ response: This looks like a false error. The "mapping" object is inserted into the all_images_map collection, and when we're done profiling, all those mappings are deleted in OP_perf_utils::op_release_resources(). > > Error: WRAPPER_ESCAPE (CWE-416): > /builddir/build/BUILD/oprofile-0.9.7.9/libperf_events/operf_utils.cpp:566: escape: The internal representation of "std::string(proc->get_app_name())" escapes into "trans.app_filename", but is destroyed when it exits scope. MPJ response: This seems like a false error since "proc" is not destroyed until after all samples have been processed and we're no longer using "trans". -Will |
From: William C. <wc...@re...> - 2013-07-17 19:57:00
|
On 07/19/2012 01:05 PM, Maynard Johnson wrote: > Hello, OProfile community, > I plan on rolling out the next release of OProfile next week (release candidate #1). If anyone has any new features (for example, new processor support) or urgent bug fixes they want included, please post patches to the list as soon as you can -- or at least let us know you have something you're working on that will be ready soon. For those of you who may have opened bug reports that have not yet been fixed, let me know how important it is to include a fix in the next release. I may lean on you for help to speed the process. > > Thanks. > -Maynard > > Hi Maynard, It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? -Will |
From: Andi K. <an...@fi...> - 2013-07-17 20:01:54
|
[please ignore previous message if you saw it] > > It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? Yes a new release would be a good idea. -Andi -- ak...@li... -- Speaking for myself only. |
From: Maynard J. <may...@us...> - 2013-07-17 21:08:00
|
On 07/17/2013 03:01 PM, Andi Kleen wrote: > [please ignore previous message if you saw it] > >> >> It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? > > Yes a new release would be a good idea. > > -Andi > Yes, I have been thinking about this as well, so let's try to tie up loose ends soon and put out 0.9.9. -Maynard |
From: Maynard J. <may...@us...> - 2013-07-19 16:11:28
|
On 07/17/2013 04:07 PM, Maynard Johnson wrote: > On 07/17/2013 03:01 PM, Andi Kleen wrote: >> [please ignore previous message if you saw it] >> >>> >>> It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? >> >> Yes a new release would be a good idea. >> >> -Andi >> > Yes, I have been thinking about this as well, so let's try to tie up loose ends soon and put out 0.9.9. I would like to roll out a 0.9.9 release candidate early next week, so if anyone has any must-have bug-fixes or simple new processor support patches they want included, post them to the list ASAP. Thanks. -Maynard > > -Maynard > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > |
From: Langley, S. E <sla...@sc...> - 2013-07-19 20:50:18
|
Hi Mayarnd, Do you think you it would be possible to fix the issue discussed below in time for the release? Thanks. Scott Langley Systems Analyst/Programmer Statistical Center for HIV/AIDS Research and Prevention (SCHARP) Fred Hutchinson Cancer Research Center Seattle, Washington sla...@sc... (206) 667-5117 Fax (206) 667-4812 -----Original Message----- From: Maynard Johnson [mailto:may...@us...] Sent: Tuesday, April 30, 2013 6:30 AM To: Langley, Scott E; Andi Kleen Cc: opr...@li...; Suravee Suthikulanit Subject: Re: 'precise_ip' compile error from OProfile Git tree On 04/29/2013 08:13 PM, Langley, Scott E wrote: > Hi Folks, > > I've trying to build OProfile from the latest source on a machine running SUSE Enterprise Desktop Linux 11 SP2 with a recent Intel core7 CPU and I'm encountering the following error: > > Making all in libperf_events > make[2]: Entering directory `/local_static/git/oprofile/libperf_events' > g++ -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I ../libutil -I ../libutil++ -I ../libop -I ../libdb -I ../libperf_events -g -O2 -MT operf_utils.o -MD -MP -MF .deps/operf_utils.Tpo -c -o operf_utils.o operf_utils.cpp > mv -f .deps/operf_utils.Tpo .deps/operf_utils.Po > g++ -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I ../libutil -I ../libutil++ -I ../libop -I ../libdb -I ../libperf_events -g -O2 -MT operf_counter.o -MD -MP -MF .deps/operf_counter.Tpo -c -o operf_counter.o operf_counter.cpp > operf_counter.cpp: In constructor 'operf_counter::operf_counter(operf_event_t&, bool, bool, bool, bool, int)': > operf_counter.cpp:211: error: 'struct perf_event_attr' has no member named 'precise_ip' > make[2]: *** [operf_counter.o] Error 1 *Andi*, the code that's failing to compile above was added in a patch you contributed (and which I accepted) on Oct 31, 2012. We did not take into consideration that the precise_ip field did not exist in earlier versions of perf_event.h. Below is a partial patch to fix this problem. It defines a new macro, HAVE_PERF_PRECISE_IP, which will be set to '1' if the field exists or '0' otherwise. What's missing in the patch is what to do -- if anything -- if HAVE_PERF_PRECISE_IP is '0'. Can you help with that part of the patch, please. Thanks! -Maynard Index: op-master/configure.ac =================================================================== --- op-master.orig/configure.ac +++ op-master/configure.ac @@ -156,6 +156,25 @@ if test "$kernel_has_perf_events_support fi AC_DEFINE_UNQUOTED(HAVE_PERF_GUEST_MACROS, $HAVE_PERF_GUEST_MACROS, [PERF_RECORD_MISC_GUEST_KERNEL is defined in perf_event.h]) rm -f test-for-PERF_GUEST* + + AC_MSG_CHECKING([whether precise_ip is defined in perf_event.h]) + rm -f test-for-precise-ip + AC_LANG_CONFTEST( + [AC_LANG_PROGRAM([[#include <linux/perf_event.h>]], + [[struct perf_event_attr attr; + attr.precise_ip = 2;]]) + ]) + $CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o test-for-precise-ip > /dev/null 2>&1 + if test -f test-for-precise-ip; then + echo "yes" + HAVE_PERF_PRECISE_IP='1' + else + echo "no" + HAVE_PERF_PRECISE_IP='0' + fi + AC_DEFINE_UNQUOTED(HAVE_PERF_PRECISE_IP, $HAVE_PERF_PRECISE_IP, [precise_ip is defined in perf_event.h]) + rm -f test-for-precise-ip* + else HAVE_PERF_EVENTS='0' AC_MSG_RESULT([No perf_events support available; falling back to legacy oprofile]) Index: op-master/libperf_events/operf_counter.cpp =================================================================== --- op-master.orig/libperf_events/operf_counter.cpp +++ op-master/libperf_events/operf_counter.cpp @@ -206,7 +206,7 @@ operf_counter::operf_counter(operf_event if (separate_cpu) attr.sample_type |= PERF_SAMPLE_CPU; attr.type = PERF_TYPE_RAW; -#if defined(__i386__) || defined(__x86_64__) +#if ((defined(__i386__) || defined(__x86_64__)) && +(HAVE_PERF_PRECISE_IP)) if (evt.evt_code & EXTRA_PEBS) { attr.precise_ip = 2; evt.evt_code ^= EXTRA_PEBS; -------------------------------------------- > > > Here are my machine specs: > > uname -a > Linux hyena 3.0.38-0.5-default #1 SMP Fri Aug 3 09:02:17 UTC 2012 > (358029e) x86_64 x86_64 x86_64 GNU/Linux > > cat /etc/SuSE-release > SUSE Linux Enterprise Desktop 11 (x86_64) VERSION = 11 PATCHLEVEL = 2 > > cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 58 > model name : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz > stepping : 9 > cpu MHz : 1600.000 > cache size : 8192 KB > physical id : 0 > siblings : 8 > core id : 0 > cpu cores : 4 > apicid : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 13 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms > bogomips : 6785.06 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > ... > > Any help or suggestions would be appreciated. > > Thanks. > -----Original Message----- From: Maynard Johnson [mailto:may...@us...] Sent: Friday, July 19, 2013 9:11 AM To: Andi Kleen Cc: William Cohen; oprofile-list; Suthikulpanit, Suravee; John Levon Subject: Re: OProfile 0.9.9 release On 07/17/2013 04:07 PM, Maynard Johnson wrote: > On 07/17/2013 03:01 PM, Andi Kleen wrote: >> [please ignore previous message if you saw it] >> >>> >>> It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? >> >> Yes a new release would be a good idea. >> >> -Andi >> > Yes, I have been thinking about this as well, so let's try to tie up loose ends soon and put out 0.9.9. I would like to roll out a 0.9.9 release candidate early next week, so if anyone has any must-have bug-fixes or simple new processor support patches they want included, post them to the list ASAP. Thanks. -Maynard > > -Maynard > > > ---------------------------------------------------------------------- > -------- See everything from the browser to the database with > AppDynamics Get end-to-end visibility with application monitoring from > AppDynamics Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.c > lktrk _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ oprofile-list mailing list opr...@li... https://lists.sourceforge.net/lists/listinfo/oprofile-list |
From: Andi K. <an...@fi...> - 2013-07-19 22:09:08
|
On Fri, Jul 19, 2013 at 08:33:23PM +0000, Langley, Scott E wrote: > Hi Mayarnd, > > Do you think you it would be possible to fix the issue discussed below in time for the release? Thanks for the reminder. Maynard's patch is fine, PEBS will just be ignored in this case. -Andi > Sorry missed the patch > > Thanks. > > Scott Langley > Systems Analyst/Programmer > Statistical Center for HIV/AIDS Research and Prevention (SCHARP) Fred Hutchinson Cancer Research Center Seattle, Washington > > sla...@sc... > (206) 667-5117 > Fax (206) 667-4812 > > -----Original Message----- > From: Maynard Johnson [mailto:may...@us...] > Sent: Tuesday, April 30, 2013 6:30 AM > To: Langley, Scott E; Andi Kleen > Cc: opr...@li...; Suravee Suthikulanit > Subject: Re: 'precise_ip' compile error from OProfile Git tree > > On 04/29/2013 08:13 PM, Langley, Scott E wrote: > > Hi Folks, > > > > I've trying to build OProfile from the latest source on a machine running SUSE Enterprise Desktop Linux 11 SP2 with a recent Intel core7 CPU and I'm encountering the following error: > > > > Making all in libperf_events > > make[2]: Entering directory `/local_static/git/oprofile/libperf_events' > > g++ -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I ../libutil -I ../libutil++ -I ../libop -I ../libdb -I ../libperf_events -g -O2 -MT operf_utils.o -MD -MP -MF .deps/operf_utils.Tpo -c -o operf_utils.o operf_utils.cpp > > mv -f .deps/operf_utils.Tpo .deps/operf_utils.Po > > g++ -DHAVE_CONFIG_H -I. -I.. -I ../libabi -I ../libutil -I ../libutil++ -I ../libop -I ../libdb -I ../libperf_events -g -O2 -MT operf_counter.o -MD -MP -MF .deps/operf_counter.Tpo -c -o operf_counter.o operf_counter.cpp > > operf_counter.cpp: In constructor 'operf_counter::operf_counter(operf_event_t&, bool, bool, bool, bool, int)': > > operf_counter.cpp:211: error: 'struct perf_event_attr' has no member named 'precise_ip' > > make[2]: *** [operf_counter.o] Error 1 > > *Andi*, the code that's failing to compile above was added in a patch you contributed (and which I accepted) on Oct 31, 2012. We did not take into consideration that the precise_ip field did not exist in earlier versions of perf_event.h. Below is a partial patch to fix this problem. It defines a new macro, HAVE_PERF_PRECISE_IP, which will be set to '1' if the field exists or '0' otherwise. What's missing in the patch is what to do -- if anything -- if HAVE_PERF_PRECISE_IP is '0'. Can you help with that part of the patch, please. > > Thanks! > > -Maynard > > Index: op-master/configure.ac > =================================================================== > --- op-master.orig/configure.ac > +++ op-master/configure.ac > @@ -156,6 +156,25 @@ if test "$kernel_has_perf_events_support > fi > AC_DEFINE_UNQUOTED(HAVE_PERF_GUEST_MACROS, $HAVE_PERF_GUEST_MACROS, [PERF_RECORD_MISC_GUEST_KERNEL is defined in perf_event.h]) > rm -f test-for-PERF_GUEST* > + > + AC_MSG_CHECKING([whether precise_ip is defined in perf_event.h]) > + rm -f test-for-precise-ip > + AC_LANG_CONFTEST( > + [AC_LANG_PROGRAM([[#include <linux/perf_event.h>]], > + [[struct perf_event_attr attr; > + attr.precise_ip = 2;]]) > + ]) > + $CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o test-for-precise-ip > /dev/null 2>&1 > + if test -f test-for-precise-ip; then > + echo "yes" > + HAVE_PERF_PRECISE_IP='1' > + else > + echo "no" > + HAVE_PERF_PRECISE_IP='0' > + fi > + AC_DEFINE_UNQUOTED(HAVE_PERF_PRECISE_IP, $HAVE_PERF_PRECISE_IP, [precise_ip is defined in perf_event.h]) > + rm -f test-for-precise-ip* > + > else > HAVE_PERF_EVENTS='0' > AC_MSG_RESULT([No perf_events support available; falling back to legacy oprofile]) > Index: op-master/libperf_events/operf_counter.cpp > =================================================================== > --- op-master.orig/libperf_events/operf_counter.cpp > +++ op-master/libperf_events/operf_counter.cpp > @@ -206,7 +206,7 @@ operf_counter::operf_counter(operf_event > if (separate_cpu) > attr.sample_type |= PERF_SAMPLE_CPU; > attr.type = PERF_TYPE_RAW; > -#if defined(__i386__) || defined(__x86_64__) > +#if ((defined(__i386__) || defined(__x86_64__)) && > +(HAVE_PERF_PRECISE_IP)) > if (evt.evt_code & EXTRA_PEBS) { > attr.precise_ip = 2; > evt.evt_code ^= EXTRA_PEBS; > > -------------------------------------------- > > > > > > Here are my machine specs: > > > > uname -a > > Linux hyena 3.0.38-0.5-default #1 SMP Fri Aug 3 09:02:17 UTC 2012 > > (358029e) x86_64 x86_64 x86_64 GNU/Linux > > > > cat /etc/SuSE-release > > SUSE Linux Enterprise Desktop 11 (x86_64) VERSION = 11 PATCHLEVEL = 2 > > > > cat /proc/cpuinfo > > processor : 0 > > vendor_id : GenuineIntel > > cpu family : 6 > > model : 58 > > model name : Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz > > stepping : 9 > > cpu MHz : 1600.000 > > cache size : 8192 KB > > physical id : 0 > > siblings : 8 > > core id : 0 > > cpu cores : 4 > > apicid : 0 > > initial apicid : 0 > > fpu : yes > > fpu_exception : yes > > cpuid level : 13 > > wp : yes > > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms > > bogomips : 6785.06 > > clflush size : 64 > > cache_alignment : 64 > > address sizes : 36 bits physical, 48 bits virtual > > power management: > > ... > > > > Any help or suggestions would be appreciated. > > > > Thanks. > > > > > -----Original Message----- > From: Maynard Johnson [mailto:may...@us...] > Sent: Friday, July 19, 2013 9:11 AM > To: Andi Kleen > Cc: William Cohen; oprofile-list; Suthikulpanit, Suravee; John Levon > Subject: Re: OProfile 0.9.9 release > > On 07/17/2013 04:07 PM, Maynard Johnson wrote: > > On 07/17/2013 03:01 PM, Andi Kleen wrote: > >> [please ignore previous message if you saw it] > >> > >>> > >>> It has been about a year since we have done a release of OProfile. Since then there have been added processor support (AMD generic, Intel Haswell, and IBM Power8) and and fixes to OProfile during that time. Would it make sense to do OProfile 0.9.9 release? > >> > >> Yes a new release would be a good idea. > >> > >> -Andi > >> > > Yes, I have been thinking about this as well, so let's try to tie up loose ends soon and put out 0.9.9. > > I would like to roll out a 0.9.9 release candidate early next week, so if anyone has any must-have bug-fixes or simple new processor support patches they want included, post them to the list ASAP. > > Thanks. > > -Maynard > > > > > -Maynard > > > > > > ---------------------------------------------------------------------- > > -------- See everything from the browser to the database with > > AppDynamics Get end-to-end visibility with application monitoring from > > AppDynamics Isolate bottlenecks and diagnose root cause in seconds. > > Start your free trial of AppDynamics Pro today! > > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.c > > lktrk _______________________________________________ > > oprofile-list mailing list > > opr...@li... > > https://lists.sourceforge.net/lists/listinfo/oprofile-list > > > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > oprofile-list mailing list > opr...@li... > https://lists.sourceforge.net/lists/listinfo/oprofile-list > -- ak...@li... -- Speaking for myself only. |