[racerd] switch to external issue logs

Reviewed By: jeremydubreil

Differential Revision: D7889303

fbshipit-source-id: a6d0b19
master
Nikos Gorogiannis 7 years ago committed by Facebook Github Bot
parent 7cf0a5e2cc
commit c104ea11dc

@ -967,7 +967,9 @@ let pp_summary_and_issues formats_by_report_kind issue_formats =
issue_formats ) issue_formats )
(Issue.sort_filter_issues !all_issues) ; (Issue.sort_filter_issues !all_issues) ;
if Config.precondition_stats then PreconditionStats.pp_stats () ; if Config.precondition_stats then PreconditionStats.pp_stats () ;
List.iter [Config.lint_issues_dir_name; Config.starvation_issues_dir_name] ~f:(fun dir_name -> List.iter
[Config.lint_issues_dir_name; Config.starvation_issues_dir_name; Config.racerd_issues_dir_name]
~f:(fun dir_name ->
IssueLog.load dir_name ; IssueLog.load dir_name ;
IssueLog.iter (pp_lint_issues filters formats_by_report_kind linereader) ) ; IssueLog.iter (pp_lint_issues filters formats_by_report_kind linereader) ) ;
finalize_and_close_files formats_by_report_kind stats finalize_and_close_files formats_by_report_kind stats

@ -93,3 +93,10 @@ let log_warning_deprecated ?(store_summary= false) =
let log_info_deprecated ?(store_summary= false) = let log_info_deprecated ?(store_summary= false) =
log_issue_deprecated ~store_summary Exceptions.Kinfo log_issue_deprecated ~store_summary Exceptions.Kinfo
let log_issue_external procname ?clang_method_kind err_kind ?loc ?node_id ?session ?ltr
?linters_def_file ?doc_url ?access exn =
let errlog = IssueLog.get_errlog procname in
log_issue_from_errlog procname ?clang_method_kind err_kind errlog ?loc ?node_id ?session ?ltr
?linters_def_file ?doc_url ?access exn

@ -42,3 +42,8 @@ val log_error : Specs.summary -> log_t
val log_warning : Specs.summary -> log_t val log_warning : Specs.summary -> log_t
(** Add an warning to the given summary. *) (** Add an warning to the given summary. *)
val log_issue_external :
Typ.Procname.t -> ?clang_method_kind:ProcAttributes.clang_method_kind -> Exceptions.err_kind
-> log_t
(** Log an issue to the error log in [IssueLog] associated with the given procname. *)

@ -259,6 +259,8 @@ let proc_stats_filename = "proc_stats.json"
let property_attributes = "property_attributes" let property_attributes = "property_attributes"
let racerd_issues_dir_name = "racerd"
let report_condition_always_true_in_clang = false let report_condition_always_true_in_clang = false
let report_json = "report.json" let report_json = "report.json"

@ -189,6 +189,8 @@ val procedures_source_file : bool
val property_attributes : string val property_attributes : string
val racerd_issues_dir_name : string
val report : bool val report : bool
val report_condition_always_true_in_clang : bool val report_condition_always_true_in_clang : bool

@ -985,6 +985,10 @@ let get_contaminated_race_message access wobbly_paths =
AccessPath.pp wobbly_path AccessPath.pp access_path ) AccessPath.pp wobbly_path AccessPath.pp access_path )
let log_issue current_pname ~loc ~ltr ~access exn =
Reporting.log_issue_external current_pname Exceptions.Kerror ~loc ~ltr ~access exn
let report_thread_safety_violation tenv pdesc ~make_description ~report_kind access thread let report_thread_safety_violation tenv pdesc ~make_description ~report_kind access thread
wobbly_paths = wobbly_paths =
let open RacerDDomain in let open RacerDDomain in
@ -1029,7 +1033,7 @@ let report_thread_safety_violation tenv pdesc ~make_description ~report_kind acc
in in
let end_locs = Option.to_list original_end @ Option.to_list conflict_end in let end_locs = Option.to_list original_end @ Option.to_list conflict_end in
let access = IssueAuxData.encode (pname, access, end_locs) in let access = IssueAuxData.encode (pname, access, end_locs) in
Reporting.log_error_deprecated ~store_summary:true pname ~loc ~ltr ~access exn log_issue pname ~loc ~ltr ~access exn
in in
let trace_of_pname = trace_of_pname access pdesc in let trace_of_pname = trace_of_pname access pdesc in
Option.iter ~f:report_one_path (PathDomain.get_reportable_sink_path access ~trace_of_pname) Option.iter ~f:report_one_path (PathDomain.get_reportable_sink_path access ~trace_of_pname)
@ -1530,7 +1534,7 @@ let aggregate_by_class file_env =
(* Gathers results by analyzing all the methods in a file, then (* Gathers results by analyzing all the methods in a file, then
post-processes the results to check an (approximation of) thread post-processes the results to check an (approximation of) thread
safety *) safety *)
let file_analysis {Callbacks.procedures} = let file_analysis {Callbacks.procedures; exe_env} =
String.Map.iter String.Map.iter
~f:(fun class_env -> ~f:(fun class_env ->
let tenv = fst (List.hd_exn class_env) in let tenv = fst (List.hd_exn class_env) in
@ -1539,4 +1543,6 @@ let file_analysis {Callbacks.procedures} =
( if Tenv.language_is tenv Clang then (module SyntacticQuotientedAccessListMap) ( if Tenv.language_is tenv Clang then (module SyntacticQuotientedAccessListMap)
else (module MayAliasQuotientedAccessListMap) ) else (module MayAliasQuotientedAccessListMap) )
class_env) ) class_env) )
(aggregate_by_class procedures) (aggregate_by_class procedures) ;
let sourcefile = exe_env.Exe_env.source_file in
IssueLog.store Config.racerd_issues_dir_name sourcefile

@ -157,8 +157,7 @@ let get_summaries_of_methods_in_class get_proc_desc tenv current_pdesc clazz =
let log_issue current_pname current_loc ltr exn = let log_issue current_pname current_loc ltr exn =
let errlog = IssueLog.get_errlog current_pname in Reporting.log_issue_external current_pname Exceptions.Kerror ~loc:current_loc ~ltr exn
Reporting.log_issue_from_errlog current_pname Exceptions.Kerror errlog ~loc:current_loc ~ltr exn
(* Note about how many times we report a deadlock: normally twice, at each trace starting point. (* Note about how many times we report a deadlock: normally twice, at each trace starting point.

@ -49,43 +49,45 @@ codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLe
codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException]
codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException]
codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure printStreamNotClosedAfterWrite()] codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure printStreamNotClosedAfterWrite()]
codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.g`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.g`]
codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure byRefTrickyBad()] codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure byRefTrickyBad()]
codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 288, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.g`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.g`]
codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad1()] codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad1()]
codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad2()] codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad2()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.xForSub`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.xForSub`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badSub()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badSub()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 495, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.xForSub`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.xForSub`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByNormalLock()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByNormalLock()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 532, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByReentrantLock()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByReentrantLock()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 536, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 579, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 580, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFAfterBlockBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFAfterBlockBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 105, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 73, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadButSuppressed(), 78, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadButSuppressedOther(), 83, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongAnnotation()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongAnnotation()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 116, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongLock()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongLock()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkMethodAnnotated(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 92, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkSynchronized(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkMethodAnnotated(), 121, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readGFromCopyOk(), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkSynchronized(), 134, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readGFromCopyOk(), 274, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBadSynchronizedMethodShouldntHelp()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBadSynchronizedMethodShouldntHelp()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.reassignCopyOk(), 4, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.reassignCopyOk(), 156, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodReadBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodReadBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 145, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write trace>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodWriteBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodWriteBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`,<Write trace>,access to `infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedOnThisBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedOnThisBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 212, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`,<Write trace>,access to `infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFAfterBlockBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFAfterBlockBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 111, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBad()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBad()]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 87, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`,<Write on background thread>,access to `this.codetoanalyze.java.infer.GuardedByExample.f`]
codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBadWrongLock()] codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBadWrongLock()]
codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, ERROR, [start of procedure getOneIntegerWithoutCheck()] codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, ERROR, [start of procedure getOneIntegerWithoutCheck()]
codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterClearBad()] codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterClearBad()]

@ -1,27 +1,27 @@
codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`] codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get2, 38, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`]
codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`] codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get4, 45, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`]
codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get5, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to basics::Basic_get_private_suspiciously_read,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`] codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get5, 47, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to basics::Basic_get_private_suspiciously_read,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`]
codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_test_double_lock_bad, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.single_lock_suspiciously_read`,<Write trace>,access to `this.single_lock_suspiciously_read`] codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_test_double_lock_bad, 83, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.single_lock_suspiciously_read`,<Write trace>,access to `this.single_lock_suspiciously_read`]
codetoanalyze/cpp/racerd/constructor_ownership.cpp, constructors::TSL_not_locked_race, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `this.type_`,<Write trace>,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `this.type_`] codetoanalyze/cpp/racerd/constructor_ownership.cpp, constructors::TSL_not_locked_race, 82, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `this.type_`,<Write trace>,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `this.type_`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 53, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 53, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 53, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 61, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x2.a.b.c`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 61, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.w`]
codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`] codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 61, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`,<Write trace>,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `xparam.x1.u`]
codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test2_bad, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `x.f`,<Write trace>,access to `x.f`] codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test2_bad, 51, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `x.f`,<Write trace>,access to `x.f`]
codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test3_bad, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `x.f`,<Write trace>,access to `x.f`] codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test3_bad, 67, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `x.f`,<Write trace>,access to `x.f`]
codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`] codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get2, 36, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`]
codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`] codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get4, 42, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`]
codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_test1, 2, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`] codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_test1, 46, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`]
codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`] codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get2, 39, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written`,<Write trace>,access to `this.suspiciously_written`]
codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`] codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get4, 45, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read`,<Write trace>,access to `this.suspiciously_read`]
codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_call1, 1, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to reporting::Basic_test,access to `xparam.x1.w`,<Write trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`] codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_call1, 26, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to reporting::Basic_test,access to `xparam.x1.w`,<Write trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`]
codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`,<Write trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`] codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_test_unlock, 34, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`,<Write trace>,call to reporting::Basic_call1,call to reporting::Basic_test,access to `xparam.x1.w`]
codetoanalyze/cpp/racerd/std_lock.cpp, basics::StdLock_get_bad, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.not_guarded`,<Write trace>,access to `this.not_guarded`] codetoanalyze/cpp/racerd/std_lock.cpp, basics::StdLock_get_bad, 33, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.not_guarded`,<Write trace>,access to `this.not_guarded`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written1`,<Write trace>,access to `this.suspiciously_written1`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 47, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written1`,<Write trace>,access to `this.suspiciously_written1`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 4, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written2`,<Write trace>,access to `this.suspiciously_written2`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 48, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_written2`,<Write trace>,access to `this.suspiciously_written2`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 1, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 57, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 2, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read2`,<Write trace>,access to `this.suspiciously_read2`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 58, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read2`,<Write trace>,access to `this.suspiciously_read2`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get5, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get5, 66, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`]
codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get6, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`] codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get6, 75, LOCK_CONSISTENCY_VIOLATION, ERROR, [<Read trace>,access to `this.suspiciously_read1`,<Write trace>,access to `this.suspiciously_read1`]

@ -1,130 +1,130 @@
codetoanalyze/java/racerd/AndroidModels.java, void AndroidModels.someResourceMethodsNotFunctionalBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.AndroidModels.mField`] codetoanalyze/java/racerd/AndroidModels.java, void AndroidModels.someResourceMethodsNotFunctionalBad(), 65, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.AndroidModels.mField`]
codetoanalyze/java/racerd/Annotations.java, boolean Annotations.FP_functionalAcrossUnboxingOk(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mBool2`] codetoanalyze/java/racerd/Annotations.java, boolean Annotations.FP_functionalAcrossUnboxingOk(), 310, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mBool2`]
codetoanalyze/java/racerd/Annotations.java, double Annotations.functionalDoubleBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mDouble`] codetoanalyze/java/racerd/Annotations.java, double Annotations.functionalDoubleBad(), 278, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mDouble`]
codetoanalyze/java/racerd/Annotations.java, int Annotations.FP_functionalAcrossBoxingLongOk(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mBoxedLong2`] codetoanalyze/java/racerd/Annotations.java, int Annotations.FP_functionalAcrossBoxingLongOk(), 339, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mBoxedLong2`]
codetoanalyze/java/racerd/Annotations.java, int Annotations.functionalAcrossUnboxingLongBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mLong2`] codetoanalyze/java/racerd/Annotations.java, int Annotations.functionalAcrossUnboxingLongBad(), 330, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mLong2`]
codetoanalyze/java/racerd/Annotations.java, long Annotations.functionaLongBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mLong`] codetoanalyze/java/racerd/Annotations.java, long Annotations.functionaLongBad(), 286, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mLong`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.conditional2_bad(boolean), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.ii`] codetoanalyze/java/racerd/Annotations.java, void Annotations.conditional2_bad(boolean), 190, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.ii`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.functionalAndNonfunctionalBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mInt`] codetoanalyze/java/racerd/Annotations.java, void Annotations.functionalAndNonfunctionalBad(), 373, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.mInt`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateOffUiThreadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.f`] codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateOffUiThreadBad(), 116, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.f`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateSubfieldOfConfinedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.encapsulatedField.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateSubfieldOfConfinedBad(), 155, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Annotations.encapsulatedField.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.read_from_non_confined_method_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Annotations.zz`,<Write trace>,access to `this.codetoanalyze.java.checkers.Annotations.zz`] codetoanalyze/java/racerd/Annotations.java, void Annotations.read_from_non_confined_method_Bad(), 168, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Annotations.zz`,<Write trace>,access to `this.codetoanalyze.java.checkers.Annotations.zz`]
codetoanalyze/java/racerd/Annotations.java, void Annotations.read_off_UI_thread_Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Annotations.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.Annotations.f`] codetoanalyze/java/racerd/Annotations.java, void Annotations.read_off_UI_thread_Bad(), 201, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Annotations.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.Annotations.f`]
codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad1(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad1(), 92, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeAlias.field`]
codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad2(), 97, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeAlias.field`]
codetoanalyze/java/racerd/Arrays.java, String Arrays.readWriteRaceBad(String), 4, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.Arrays.strArr1.[_]`,<Write trace>,access to `this.Arrays.strArr1.[_]`] codetoanalyze/java/racerd/Arrays.java, String Arrays.readWriteRaceBad(String), 49, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.Arrays.strArr1.[_]`,<Write trace>,access to `this.Arrays.strArr1.[_]`]
codetoanalyze/java/racerd/Arrays.java, void Arrays.arrayParameterWriteBad(int[]), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `name1.[_]`] codetoanalyze/java/racerd/Arrays.java, void Arrays.arrayParameterWriteBad(int[]), 28, THREAD_SAFETY_VIOLATION, ERROR, [access to `name1.[_]`]
codetoanalyze/java/racerd/Arrays.java, void Arrays.writeWriteRaceBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.Arrays.strArr1.[_]`] codetoanalyze/java/racerd/Arrays.java, void Arrays.writeWriteRaceBad(String), 41, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.Arrays.strArr1.[_]`]
codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to Builders$Obj$Builder Builders$Obj$Builder.setFromObj(Builders$Obj),access to `input.codetoanalyze.java.checkers.Builders$Obj.g`,<Write trace>,access to `input.codetoanalyze.java.checkers.Builders$Obj.g`] codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 91, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to Builders$Obj$Builder Builders$Obj$Builder.setFromObj(Builders$Obj),access to `input.codetoanalyze.java.checkers.Builders$Obj.g`,<Write trace>,access to `input.codetoanalyze.java.checkers.Builders$Obj.g`]
codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `input.codetoanalyze.java.checkers.Builders$Obj.g`] codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 92, THREAD_SAFETY_VIOLATION, ERROR, [access to `input.codetoanalyze.java.checkers.Builders$Obj.g`]
codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.mutateBad(Builders$Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `o.codetoanalyze.java.checkers.Builders$Obj.g`] codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.mutateBad(Builders$Obj), 84, THREAD_SAFETY_VIOLATION, ERROR, [access to `o.codetoanalyze.java.checkers.Builders$Obj.g`]
codetoanalyze/java/racerd/Builders.java, void TopLevelBuilder.setG(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.TopLevelBuilder.g`] codetoanalyze/java/racerd/Builders.java, void TopLevelBuilder.setG(String), 103, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.TopLevelBuilder.g`]
codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.FP_singleton2Ok(), 6, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton1`,<Write trace>,access to `Constructors.Constructors.sSingleton1`] codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.FP_singleton2Ok(), 54, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton1`,<Write trace>,access to `Constructors.Constructors.sSingleton1`]
codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton1Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to Constructors.<init>(Object),access to `Constructors.Constructors.staticField`] codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton1Bad(), 59, THREAD_SAFETY_VIOLATION, ERROR, [call to Constructors.<init>(Object),access to `Constructors.Constructors.staticField`]
codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton2`,<Write trace>,access to `Constructors.Constructors.sSingleton2`] codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 65, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton2`,<Write trace>,access to `Constructors.Constructors.sSingleton2`]
codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `Constructors.Constructors.sSingleton2`] codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 66, THREAD_SAFETY_VIOLATION, ERROR, [access to `Constructors.Constructors.sSingleton2`]
codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 4, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton2`,<Write trace>,access to `Constructors.Constructors.sSingleton2`] codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 68, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `Constructors.Constructors.sSingleton2`,<Write trace>,access to `Constructors.Constructors.sSingleton2`]
codetoanalyze/java/racerd/Constructors.java, Constructors.<init>(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `Constructors.Constructors.staticField`] codetoanalyze/java/racerd/Constructors.java, Constructors.<init>(), 22, THREAD_SAFETY_VIOLATION, ERROR, [access to `Constructors.Constructors.staticField`]
codetoanalyze/java/racerd/Constructors.java, Constructors.<init>(Constructors), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `o.Constructors.field`] codetoanalyze/java/racerd/Constructors.java, Constructors.<init>(Constructors), 30, THREAD_SAFETY_VIOLATION, ERROR, [access to `o.Constructors.field`]
codetoanalyze/java/racerd/Containers.java, boolean Containers.listReadBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,Read of container `this.codetoanalyze.java.checkers.Containers.mList` via call to `contains`,<Write trace>,Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] codetoanalyze/java/racerd/Containers.java, boolean Containers.listReadBad(String), 98, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,Read of container `this.codetoanalyze.java.checkers.Containers.mList` via call to `contains`,<Write trace>,Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `set`]
codetoanalyze/java/racerd/Containers.java, int Containers.readSimpleArrayMap(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,Read of container `this.codetoanalyze.java.checkers.Containers.si_map` via call to `get`,<Write trace>,Write to container `this.codetoanalyze.java.checkers.Containers.si_map` via call to `put`] codetoanalyze/java/racerd/Containers.java, int Containers.readSimpleArrayMap(), 284, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,Read of container `this.codetoanalyze.java.checkers.Containers.si_map` via call to `get`,<Write trace>,Write to container `this.codetoanalyze.java.checkers.Containers.si_map` via call to `put`]
codetoanalyze/java/racerd/Containers.java, void Containers.addToSimpleArrayMapBad(SimpleArrayMap), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `map` via call to `put`] codetoanalyze/java/racerd/Containers.java, void Containers.addToSimpleArrayMapBad(SimpleArrayMap), 279, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `map` via call to `put`]
codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayBad(SparseArray), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `sparseArray` via call to `put`] codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayBad(SparseArray), 269, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `sparseArray` via call to `put`]
codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayCompatBad(SparseArrayCompat), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `sparseArray` via call to `put`] codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayCompatBad(SparseArrayCompat), 260, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `sparseArray` via call to `put`]
codetoanalyze/java/racerd/Containers.java, void Containers.containerWrapperUnownedWriteBad(Object), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to Object ContainerWrapper.write(Object),call to Object ContainerWrapper._write(Object),Write to container `this.codetoanalyze.java.checkers.ContainerWrapper.children` via call to `add`] codetoanalyze/java/racerd/Containers.java, void Containers.containerWrapperUnownedWriteBad(Object), 167, THREAD_SAFETY_VIOLATION, ERROR, [call to Object ContainerWrapper.write(Object),call to Object ContainerWrapper._write(Object),Write to container `this.codetoanalyze.java.checkers.ContainerWrapper.children` via call to `add`]
codetoanalyze/java/racerd/Containers.java, void Containers.listAddAllBad(Collection), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `addAll`] codetoanalyze/java/racerd/Containers.java, void Containers.listAddAllBad(Collection), 61, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `addAll`]
codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad1(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad1(String), 53, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `add`]
codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad2(int,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad2(int,String), 57, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `add`]
codetoanalyze/java/racerd/Containers.java, void Containers.listClearBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `clear`] codetoanalyze/java/racerd/Containers.java, void Containers.listClearBad(), 65, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `clear`]
codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad1(int), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad1(int), 69, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`]
codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad2(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad2(String), 73, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`]
codetoanalyze/java/racerd/Containers.java, void Containers.listSetBad(int,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] codetoanalyze/java/racerd/Containers.java, void Containers.listSetBad(int,String), 81, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mList` via call to `set`]
codetoanalyze/java/racerd/Containers.java, void Containers.listSubclassWriteBad(ArrayList,int), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `list` via call to `remove`] codetoanalyze/java/racerd/Containers.java, void Containers.listSubclassWriteBad(ArrayList,int), 85, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `list` via call to `remove`]
codetoanalyze/java/racerd/Containers.java, void Containers.mapClearBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `clear`] codetoanalyze/java/racerd/Containers.java, void Containers.mapClearBad(), 115, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `clear`]
codetoanalyze/java/racerd/Containers.java, void Containers.mapPutAllBad(Map), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `putAll`] codetoanalyze/java/racerd/Containers.java, void Containers.mapPutAllBad(Map), 119, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `putAll`]
codetoanalyze/java/racerd/Containers.java, void Containers.mapPutBad(String,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `put`] codetoanalyze/java/racerd/Containers.java, void Containers.mapPutBad(String,String), 107, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `put`]
codetoanalyze/java/racerd/Containers.java, void Containers.mapRemoveBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `remove`] codetoanalyze/java/racerd/Containers.java, void Containers.mapRemoveBad(String), 111, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.mMap` via call to `remove`]
codetoanalyze/java/racerd/Containers.java, void Containers.mapSubclassWriteBad(HashMap,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `m` via call to `remove`] codetoanalyze/java/racerd/Containers.java, void Containers.mapSubclassWriteBad(HashMap,String), 137, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `m` via call to `remove`]
codetoanalyze/java/racerd/Containers.java, void Containers.poolBad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.simplePool` via call to `release`] codetoanalyze/java/racerd/Containers.java, void Containers.poolBad(), 297, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `this.codetoanalyze.java.checkers.Containers.simplePool` via call to `release`]
codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.globalNotOwnedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `DeepOwnership.DeepOwnership.global.DeepOwnership.next`] codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.globalNotOwnedBad(), 19, THREAD_SAFETY_VIOLATION, ERROR, [access to `DeepOwnership.DeepOwnership.global.DeepOwnership.next`]
codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.reassignBaseToGlobalBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `x.DeepOwnership.next`] codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.reassignBaseToGlobalBad(), 25, THREAD_SAFETY_VIOLATION, ERROR, [access to `x.DeepOwnership.next`]
codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceBad(UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, ERROR, [Call to un-annotated interface method void UnannotatedInterface.foo()] codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceBad(UnannotatedInterface), 51, INTERFACE_NOT_THREAD_SAFE, ERROR, [Call to un-annotated interface method void UnannotatedInterface.foo()]
codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceIndirectBad(NotThreadSafe,UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, ERROR, [call to void NotThreadSafe.notThreadSafeOk(UnannotatedInterface),Call to un-annotated interface method void UnannotatedInterface.foo()] codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceIndirectBad(NotThreadSafe,UnannotatedInterface), 55, INTERFACE_NOT_THREAD_SAFE, ERROR, [call to void NotThreadSafe.notThreadSafeOk(UnannotatedInterface),Call to un-annotated interface method void UnannotatedInterface.foo()]
codetoanalyze/java/racerd/Dispatch.java, void ThreadConfinedField.interfaceCallOnNormalFieldBad(), 1, INTERFACE_NOT_THREAD_SAFE, ERROR, [Call to un-annotated interface method void UnannotatedInterface.foo()] codetoanalyze/java/racerd/Dispatch.java, void ThreadConfinedField.interfaceCallOnNormalFieldBad(), 103, INTERFACE_NOT_THREAD_SAFE, ERROR, [Call to un-annotated interface method void UnannotatedInterface.foo()]
codetoanalyze/java/racerd/Inference.java, int Inference.read4OutsideSyncBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField4`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField4`] codetoanalyze/java/racerd/Inference.java, int Inference.read4OutsideSyncBad(), 67, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField4`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField4`]
codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField1`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField1`] codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead1Bad(), 23, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField1`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField1`]
codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField2`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField2`] codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead2Bad(), 36, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Inference.mField2`,<Write trace>,access to `this.codetoanalyze.java.checkers.Inference.mField2`]
codetoanalyze/java/racerd/Locks.java, Object Locks.unownedReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField3`,<Write trace>,call to void Locks.lockedWriteInCallee2(),access to `this.codetoanalyze.java.checkers.Locks.mField3`] codetoanalyze/java/racerd/Locks.java, Object Locks.unownedReadBad(), 366, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField3`,<Write trace>,call to void Locks.lockedWriteInCallee2(),access to `this.codetoanalyze.java.checkers.Locks.mField3`]
codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock1Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`,<Write trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`] codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock1Bad(), 311, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`,<Write trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`]
codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`,<Write trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`] codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock2Bad(), 315, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`,<Write trace>,access to `this.codetoanalyze.java.checkers.Locks.mField`]
codetoanalyze/java/racerd/Locks.java, void Locks.afterReentrantLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.afterReentrantLockUnlockBad(), 48, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.afterUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.afterUnlockBad(), 42, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.afterWriteLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.afterWriteLockUnlockBad(), 54, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.lockInLoopLexicalBad(int), 6, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.lockInLoopLexicalBad(int), 251, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.negatedReentrantLockTryLockBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.negatedReentrantLockTryLockBad(), 115, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.nested1Bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.nested1Bad(), 198, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.nested2Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.nested2Bad(), 204, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.nested3Bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.nested3Bad(), 214, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.tryLockNoCheckBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.tryLockNoCheckBad(), 95, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.tryLockWrongBranchBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.tryLockWrongBranchBad(), 101, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Locks.java, void Locks.useLockInCalleeBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`] codetoanalyze/java/racerd/Locks.java, void Locks.useLockInCalleeBad(), 225, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.Locks.f`]
codetoanalyze/java/racerd/Ownership.java, Ownership.<init>(Obj,Object), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `obj.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, Ownership.<init>(Obj,Object), 67, THREAD_SAFETY_VIOLATION, ERROR, [access to `obj.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, int Ownership.readGlobalBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`,<Write trace>,access to `checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`] codetoanalyze/java/racerd/Ownership.java, int Ownership.readGlobalBad(), 403, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`,<Write trace>,access to `checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.cantOwnThisBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.setField(Obj),access to `this.codetoanalyze.java.checkers.Ownership.field`] codetoanalyze/java/racerd/Ownership.java, void Ownership.cantOwnThisBad(), 172, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.setField(Obj),access to `this.codetoanalyze.java.checkers.Ownership.field`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenCallBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.castThenCall(Obj),call to void Subclass.doWrite(),access to `this.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenCallBad(), 345, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.castThenCall(Obj),call to void Subclass.doWrite(),access to `this.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenReturnBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `n$5.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenReturnBad(), 360, THREAD_SAFETY_VIOLATION, ERROR, [access to `n$5.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.conditionalAliasBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.conditionalAlias(Obj,Obj),access to `alias.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.conditionalAliasBad(Obj), 506, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.conditionalAlias(Obj,Obj),access to `alias.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.notOwnedInCalleeBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.mutateIfNotNull(Obj),access to `o.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.notOwnedInCalleeBad(Obj), 234, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.mutateIfNotNull(Obj),access to `o.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToAccessPathRootedAtFormalBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `m.codetoanalyze.java.checkers.Obj.g`] codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToAccessPathRootedAtFormalBad(Obj), 421, THREAD_SAFETY_VIOLATION, ERROR, [access to `m.codetoanalyze.java.checkers.Obj.g`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`,<Write trace>,call to void Ownership.setField(Obj),access to `this.codetoanalyze.java.checkers.Ownership.field`] codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 427, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`,<Write trace>,call to void Ownership.setField(Obj),access to `this.codetoanalyze.java.checkers.Ownership.field`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `m.codetoanalyze.java.checkers.Obj.g`] codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 428, THREAD_SAFETY_VIOLATION, ERROR, [access to `m.codetoanalyze.java.checkers.Obj.g`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.ownInOneBranchBad(Obj,boolean), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.ownInOneBranchBad(Obj,boolean), 83, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignParamToUnownedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.reassignParamToUnowned(Obj),access to `o.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignParamToUnownedBad(), 456, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.reassignParamToUnowned(Obj),access to `o.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.g`] codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 88, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.g`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.g.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 89, THREAD_SAFETY_VIOLATION, ERROR, [access to `formal.codetoanalyze.java.checkers.Obj.g.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 3, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `formal.codetoanalyze.java.checkers.Obj.g`,<Write trace>,access to `formal.codetoanalyze.java.checkers.Obj.g`] codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 89, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `formal.codetoanalyze.java.checkers.Obj.g`,<Write trace>,access to `formal.codetoanalyze.java.checkers.Obj.g`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad1(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad1(Obj), 158, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad2(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad2(), 163, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad3(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.callWriteToFormal(Obj),call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`] codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad3(Obj), 167, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.callWriteToFormal(Obj),call to void Ownership.writeToFormal(Obj),access to `formal.codetoanalyze.java.checkers.Obj.f`]
codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToOwnedInCalleeOk2(), 4, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`,<Write trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`] codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToOwnedInCalleeOk2(), 184, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`,<Write trace>,access to `this.codetoanalyze.java.checkers.Ownership.field`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional2_bad(boolean), 6, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional2_bad(boolean), 130, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditionalMainThreadWriteBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void RaceWithMainThread.conditionalMainThreadWrite2(boolean),access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mOnlyWrittenOnMain`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditionalMainThreadWriteBad(), 227, THREAD_SAFETY_VIOLATION, ERROR, [call to void RaceWithMainThread.conditionalMainThreadWrite2(boolean),access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mOnlyWrittenOnMain`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_ElseBranch_Bad(), 156, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_Negation_Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_Negation_Bad(), 175, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isUiThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isUiThread_ElseBranch_Bad(), 167, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.ff`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.confusedAssertBad(boolean), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mFld`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.confusedAssertBad(boolean), 199, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mFld`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.readProtectedUnthreadedBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.readProtectedUnthreadedBad(), 97, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded1_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f1`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f1`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded1_Bad(), 63, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f1`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f1`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded_Bad(), 58, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`,<Write trace>,access to `this.codetoanalyze.java.checkers.RaceWithMainThread.f`]
codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.writeAfterConditionalMainThreadInCalleeBad(), 4, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mSharedField`] codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.writeAfterConditionalMainThreadInCalleeBad(), 236, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.RaceWithMainThread.mSharedField`]
codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.callUnprotecteReadInCallee(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to Object ReadWriteRaces.unprotectedReadInCallee(),access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.callUnprotecteReadInCallee(), 76, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to Object ReadWriteRaces.unprotectedReadInCallee(),access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`]
codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead1(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead1(), 68, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field1`]
codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field2`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field2`] codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead2(), 86, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field2`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field2`]
codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead3(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field3`,<Write trace>,call to void ReadWriteRaces.syncWrite3(),access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field3`] codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead3(), 98, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field3`,<Write trace>,call to void ReadWriteRaces.syncWrite3(),access to `this.codetoanalyze.java.checkers.ReadWriteRaces.field3`]
codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m1(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m1(), 46, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`,<Write trace>,access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`]
codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m2(), 50, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`]
codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m3(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m3(), 54, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ReadWriteRaces.racy`]
codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.readInCalleeOutsideSyncBad(int), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to int C.get(),access to `this.codetoanalyze.java.checkers.C.x`,<Write trace>,call to void C.set(int),access to `this.codetoanalyze.java.checkers.C.x`] codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.readInCalleeOutsideSyncBad(int), 105, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to int C.get(),access to `this.codetoanalyze.java.checkers.C.x`,<Write trace>,call to void C.set(int),access to `this.codetoanalyze.java.checkers.C.x`]
codetoanalyze/java/racerd/SubFld.java, int SubFld.getG(), 6, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to int SuperFld.getG(),access to `this.SuperFld.g`,<Write trace>,access to `this.SuperFld.g`] codetoanalyze/java/racerd/SubFld.java, int SubFld.getG(), 29, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,call to int SuperFld.getG(),access to `this.SuperFld.g`,<Write trace>,access to `this.SuperFld.g`]
codetoanalyze/java/racerd/ThreadSafeExample.java, Object ThreadSafeExample.FP_lazyInitOk(), 6, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`] codetoanalyze/java/racerd/ThreadSafeExample.java, Object ThreadSafeExample.FP_lazyInitOk(), 134, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.newmethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.newmethodBad(), 146, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.tsOK(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.tsOK(), 151, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callPublicMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callPublicMethodBad(), 61, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callVisibleForTestingBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.visibleForTestingNotPublicOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callVisibleForTestingBad(), 113, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.visibleForTestingNotPublicOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.deeperTraceBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.callAssignInPrivateMethod(),call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.deeperTraceBad(), 70, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.callAssignInPrivateMethod(),call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.oddBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.evenOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.oddBad(), 51, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.evenOk(),access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.recursiveBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.recursiveBad(), 41, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.tsBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`] codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.tsBad(), 37, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeExample.f`]
codetoanalyze/java/racerd/ThreadSafeExample.java, void YesThreadSafeExtendsNotThreadSafeExample.subsubmethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.YesThreadSafeExtendsNotThreadSafeExample.subsubfield`] codetoanalyze/java/racerd/ThreadSafeExample.java, void YesThreadSafeExtendsNotThreadSafeExample.subsubmethodBad(), 175, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.YesThreadSafeExtendsNotThreadSafeExample.subsubfield`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod1Bad(), 58, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod2Bad(), 82, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethodWhileSynchronized1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethodWhileSynchronized1Bad(), 67, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.threadSafeMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.threadSafeMethodReadBad(), 31, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethodsSubclass.readThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethodsSubclass.readThreadSafeFieldOfOverrideBad(), 128, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,<Write trace>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeMethodWriteBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeMethodWriteBad(), 26, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafePrivateMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafePrivateMethodBad(), 36, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeVisibleForTestingMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field3`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeVisibleForTestingMethodBad(), 42, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field3`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod1Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod1Bad(), 53, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod2Bad(), 77, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.safeMethodOverride(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.safeMethodOverride(), 112, THREAD_SAFETY_VIOLATION, ERROR, [access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`]
codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.writeThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.writeThreadSafeFieldOfOverrideBad(), 124, THREAD_SAFETY_VIOLATION, ERROR, [<Write on unknown thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,<Write on background thread>,access to `this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`]

@ -1,5 +1,5 @@
codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Field.stable_bad(), 47, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`]
codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param.stable_bad(Interprocedural$A), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param.stable_bad(Interprocedural$A), 74, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`]
codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param2.stable_bad(Interprocedural$A), 6, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param2.stable_bad(Interprocedural$A), 92, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`]
codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,<Write trace>,access to `this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Field.stable_bad(), 43, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,<Write trace>,access to `this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`]
codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Param.stable_bad(Intraprocedural$A), 5, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Param.stable_bad(Intraprocedural$A), 63, THREAD_SAFETY_VIOLATION, ERROR, [<Read trace>,access to `a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,<Write trace>,access to `a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`]

Loading…
Cancel
Save