On 01/23/2013 12:20 PM, Stephane Eranian wrote:
> Hi Will,
>
> Thanks for posting the report. It is always hard to decipher because
> the error messages
> are not so clear. This time, it is aggravated by the fact that you ran
> this against a release
> version of the library and the code has changed since then. Would you
> mind running the
> test against the current git tree?
>
> Thanks.
>
Hi Stephane,
Here is a run using the current libpfm git tree. The line numbers should match
up with what is currently in git. The dictionary can also help explain what the
problem is:
https://wiki.ubuntu.com/CoverityCheckerDictionary
-Will
>
> On Tue, Jan 15, 2013 at 8:03 PM, William Cohen <wco...@redhat.com> wrote:
>> Hi All,
>>
>> Red Hat has access to the Coverity static analyzer, a checking system that
>> looks for coding errors. Attached is the coverity scan for the current
>> libfpm source code in Fedora 19. There are some errors in the generated
>> SWIG code (libpfm-4.3.0/python/src/*.c) that not much can be done for.
>> There is a dictionary of coverity errors available from:
>>
>> https://wiki.ubuntu.com/CoverityCheckerDictionary
>>
>>
>> -Will
>>
>> ------------------------------------------------------------------------------
>> Master SQL Server Development, Administration, T-SQL, SSAS, SSIS, SSRS
>> and more. Get SQL Server skills now (including 2012) with LearnDevNow -
>> 200+ hours of step-by-step video tutorials by Microsoft MVPs and experts.
>> SALE $99.99 this month only - learn more at:
>> http://p.sf.net/sfu/learnmore_122512
>> _______________________________________________
>> perfmon2-devel mailing list
>> perfmon2-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/perfmon2-devel
>>
Error: CONSTANT_EXPRESSION_RESULT (CWE-569):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:3228:
result_independent_of_operands: "value < -9223372036854775808LL /*
-9223372036854775807L - 1L */" is always false regardless of the values of its
operands. This occurs as the logical first operand of '||'.
Error: DEADCODE (CWE-561):
libpfm-4.3.0/lib/pfmlib_common.c:866: dead_error_condition: The switch value
"type" cannot be "PFM_ATTR_RAW_UMASK".
libpfm-4.3.0/lib/pfmlib_common.c:866: dead_error_begin: Execution cannot reach
this statement "case PFM_ATTR_RAW_UMASK:".
Error: DEADCODE (CWE-561):
libpfm-4.3.0/lib/pfmlib_common.c:865: dead_error_condition: The switch value
"type" cannot be "PFM_ATTR_UMASK".
libpfm-4.3.0/lib/pfmlib_common.c:865: dead_error_line: Execution cannot reach
this statement "case PFM_ATTR_UMASK:".
Error: DEADCODE (CWE-561):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2395: cond_notnull: Condition "ty",
taking true branch. Now the value of "ty" is not NULL.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2398: notnull: At condition "ty",
the value of "ty" cannot be NULL.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2398: dead_error_condition: The
condition "ty" must be true.
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2408: dead_error_line: Execution
cannot reach this statement "*ptr = vptr;".
Error: MISSING_BREAK (CWE-484):
libpfm-4.3.0/lib/pfmlib_perf_event.c:285: unterminated_case: This case (value
4) is not terminated by a 'break' statement.
libpfm-4.3.0/lib/pfmlib_perf_event.c:290: fallthrough: The above case falls
through to this one.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10148: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10148: var_assign: Assigning: "arg4"
= storage returned from "malloc(64UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10149: noescape: Resource "arg4" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10151: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OOO:pfm_get_event_attr_info", &obj0, &obj1,
&obj2)", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10151: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10189: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10190: leaked_storage: Variable
"arg4" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10029: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10029: var_assign: Assigning: "arg3"
= storage returned from "malloc(64UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10030: noescape: Resource "arg3" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10032: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OO:pfm_get_event_info", &obj0, &obj1)",
taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10032: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10065: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10066: leaked_storage: Variable
"arg3" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10338: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10338: var_assign: Assigning: "arg3"
= storage returned from "malloc(80UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10339: noescape: Resource "arg3" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10341: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"OOOO:pfm_get_perf_event_encoding", &obj0,
&obj1, &obj2, &obj3)", taking true branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10341: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10385: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10386: cond_false: Condition "alloc1
== (512 /* 0 | ((1 << 8) << 1) */)", taking false branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10386: if_end: End of if statement
libpfm-4.3.0/python/src/perfmon_int_wrap.c:10387: leaked_storage: Variable
"arg3" going out of scope leaks the storage it points to.
Error: RESOURCE_LEAK (CWE-404):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9932: alloc_fn: Storage is returned
from allocation function "malloc(size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9932: var_assign: Assigning: "arg2"
= storage returned from "malloc(56UL)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9933: noescape: Resource "arg2" is
not freed or pointed-to in function "memset(void *, int, size_t)".
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9935: cond_true: Condition
"!PyArg_ParseTuple(args, (char *)"O:pfm_get_pmu_info", &obj0)", taking true
branch
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9935: goto: Jumping to label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9963: label: Reached label "fail"
libpfm-4.3.0/python/src/perfmon_int_wrap.c:9964: leaked_storage: Variable
"arg2" going out of scope leaks the storage it points to.
Error: SIZEOF_MISMATCH (CWE-569):
libpfm-4.3.0/perf_examples/syst.c:100: suspicious_sizeof: Passing argument
"184UL /* sizeof (perf_event_desc_t) */" to function "calloc(size_t, size_t)"
and then casting the return value to "perf_event_desc_t **" is suspicious.
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/notify_self.c:115: var_decl: Declaring variable
"new" without initializer.
libpfm-4.3.0/perf_examples/notify_self.c:123: cond_false: Condition "ret != 0",
taking false branch
libpfm-4.3.0/perf_examples/notify_self.c:124: if_end: End of if statement
libpfm-4.3.0/perf_examples/notify_self.c:139: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/notify_self.c:140: if_end: End of if statement
libpfm-4.3.0/perf_examples/notify_self.c:142: cond_true: Condition
"sigismember(&old, 29)", taking true branch
libpfm-4.3.0/perf_examples/notify_self.c:144: uninit_use_in_call: Using
uninitialized value "new": field "new"."__val" is uninitialized when calling
"sigprocmask(int, sigset_t const * restrict, sigset_t * restrict)".
Error: UNINIT (CWE-457):
libpfm-4.3.0/perf_examples/self_smpl_multi.c:384: var_decl: Declaring variable
"new" without initializer.
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: cond_true: Condition "(i =
getopt(argc, argv, "t:p:s:fhn:")) != -1", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:388: switch: Switch case value
"116"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:392: switch_case: Reached case
"116"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:394: break: Breaking from switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:411: switch_end: Reached end of
switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:412: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: cond_true: Condition "(i =
getopt(argc, argv, "t:p:s:fhn:")) != -1", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:388: switch: Switch case value
"116"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:392: switch_case: Reached case
"116"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:394: break: Breaking from switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:411: switch_end: Reached end of
switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:412: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: cond_true: Condition "(i =
getopt(argc, argv, "t:p:s:fhn:")) != -1", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:388: switch: Switch case value
"110"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:404: switch_case: Reached case
"110"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:406: cond_false: Condition
"max_thr >= 128", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:407: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:408: break: Breaking from switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:411: switch_end: Reached end of
switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:412: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: cond_true: Condition "(i =
getopt(argc, argv, "t:p:s:fhn:")) != -1", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:388: switch: Switch case value
"110"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:404: switch_case: Reached case
"110"
libpfm-4.3.0/perf_examples/self_smpl_multi.c:406: cond_false: Condition
"max_thr >= 128", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:407: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:408: break: Breaking from switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:411: switch_end: Reached end of
switch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:412: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:387: cond_false: Condition "(i =
getopt(argc, argv, "t:p:s:fhn:")) != -1", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:412: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:413: cond_true: Condition "fown",
taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:418: cond_true: Condition "i <
128", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:422: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:418: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:418: cond_true: Condition "i <
128", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:422: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:418: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:418: cond_false: Condition "i <
128", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:422: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:431: cond_false: Condition
"sigaction(10, &sa, NULL) != 0", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:432: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:441: cond_false: Condition
"sigaction(signum, &sa, NULL) != 0", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:442: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:444: cond_false: Condition
"pfm_initialize() != 0", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:445: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:452: cond_true: Condition "i <
max_thr", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:454: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:455: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:456: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:452: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:452: cond_true: Condition "i <
max_thr", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:454: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:455: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:456: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:452: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:452: cond_false: Condition "i <
max_thr", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:456: loop_end: Reached end of loop
libpfm-4.3.0/perf_examples/self_smpl_multi.c:460: cond_false: Condition
"pthread_sigmask(0, &set, NULL)", taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:461: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:464: cond_false: Condition "ret",
taking false branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:465: if_end: End of if statement
libpfm-4.3.0/perf_examples/self_smpl_multi.c:467: cond_true: Condition
"sigismember(&old, 29)", taking true branch
libpfm-4.3.0/perf_examples/self_smpl_multi.c:469: uninit_use_in_call: Using
uninitialized value "new": field "new"."__val" is uninitialized when calling
"sigprocmask(int, sigset_t const * restrict, sigset_t * restrict)".
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2782: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:2784: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:11140: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(str)" is never used.
Error: UNUSED_VALUE (CWE-563):
libpfm-4.3.0/python/src/perfmon_int_wrap.c:1009: returned_pointer: Pointer
"tmp" returned by "SWIG_Python_str_AsChar(old_str)" is never used.
Error: USE_AFTER_FREE (CWE-416):
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:328: cond_false: Condition "err ==
-1", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:329: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:335: cond_false: Condition "!dir1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:336: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:341: cond_true: Condition "d1 =
readdir(dir1)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:341: cond_true: Condition "err >= 0",
taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:343: cond_false: Condition
"!strcmp(d1->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:344: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:346: cond_false: Condition
"!strcmp(d1->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:347: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:353: cond_false: Condition "!dir2",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:354: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:363: cond_true: Condition
"!reuse_event", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:366: cond_false: Condition "!p",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:367: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:369: cond_true: Condition "p", taking
true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:372: cond_true: Condition "p", taking
true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:372: cond_true: Condition "p->name",
taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:376: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:389: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:390: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:392: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:393: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:402: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:403: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:409: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:410: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:414: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:415: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:420: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:422: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:425: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:434: cond_false: Condition
"!um->uname", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:438: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:389: cond_true: Condition
"!strcmp(d2->d_name, ".")", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:390: continue: Continuing loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: loop: Looping back
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:389: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:390: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:392: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:393: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:402: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:403: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:409: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:410: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:414: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:415: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:420: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:422: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:425: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:434: cond_false: Condition
"!um->uname", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:438: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:444: loop: Jumping back to the
beginning of the loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: loop_begin: Jumped back to
beginning of loop
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:388: cond_true: Condition "d2 =
readdir(dir2)", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:389: cond_false: Condition
"!strcmp(d2->d_name, ".")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:390: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:392: cond_false: Condition
"!strcmp(d2->d_name, "..")", taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:393: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:402: cond_false: Condition "fd == -1",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:403: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:407: closed_arg: "close(int)" closes
"fd".
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:409: cond_false: Condition "err < 0",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:410: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:414: cond_true: Condition "numasks <
8", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:415: if_fallthrough: Falling through
to end of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:420: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:422: cond_false: Condition "!um",
taking false branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:425: if_end: End of if statement
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:434: cond_true: Condition
"!um->uname", taking true branch
libpfm-4.3.0/lib/pfmlib_perf_event_pmu.c:435: double_close: Calling
"close(int)" closes handle "fd" which has already been closed.
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel