Lines Matching defs:report
67 int __tsan_get_report_data(void *report, const char **description, int *count,
72 int __tsan_get_report_stack(void *report, unsigned long idx, void **trace,
74 int __tsan_get_report_mop(void *report, unsigned long idx, int *tid, void **addr,
77 int __tsan_get_report_loc(void *report, unsigned long idx, const char **type,
81 int __tsan_get_report_mutex(void *report, unsigned long idx, unsigned long *mutex_id, void **addr,
83 int __tsan_get_report_thread(void *report, unsigned long idx, int *tid, unsigned long *os_id,
86 int __tsan_get_report_unique_tid(void *report, unsigned long idx, int *tid);
90 int (*ptr__tsan_get_report_loc_object_type)(void *report, unsigned long idx, const char **object_type);
100 void *report;
166 t.report = __tsan_get_current_report();
167 __tsan_get_report_data(t.report, &t.description, &t.report_count, &t.stack_count, &t.mop_count, &t.loc_count, &t.mutex_count, &t.thread_count, &t.unique_tid_count, t.sleep_trace, REPORT_TRACE_SIZE);
172 __tsan_get_report_stack(t.report, i, t.stacks[i].trace, REPORT_TRACE_SIZE);
178 __tsan_get_report_mop(t.report, i, &t.mops[i].tid, &t.mops[i].addr, &t.mops[i].size, &t.mops[i].write, &t.mops[i].atomic, t.mops[i].trace, REPORT_TRACE_SIZE);
184 __tsan_get_report_loc(t.report, i, &t.locs[i].type, &t.locs[i].addr, &t.locs[i].start, &t.locs[i].size, &t.locs[i].tid, &t.locs[i].fd, &t.locs[i].suppressable, t.locs[i].trace, REPORT_TRACE_SIZE);
186 ptr__tsan_get_report_loc_object_type(t.report, i, &t.locs[i].object_type);
192 __tsan_get_report_mutex(t.report, i, &t.mutexes[i].mutex_id, &t.mutexes[i].addr, &t.mutexes[i].destroyed, t.mutexes[i].trace, REPORT_TRACE_SIZE);
198 __tsan_get_report_thread(t.report, i, &t.threads[i].tid, &t.threads[i].os_id, &t.threads[i].running, &t.threads[i].name, &t.threads[i].parent_tid, t.threads[i].trace, REPORT_TRACE_SIZE);
204 __tsan_get_report_unique_tid(t.report, i, &t.unique_tids[i].tid);
494 InstrumentationRuntimeTSan::FormatDescription(StructuredData::ObjectSP report) {
495 std::string description = std::string(report->GetAsDictionary()
534 // for unknown report codes just show the code
617 InstrumentationRuntimeTSan::GenerateSummary(StructuredData::ObjectSP report) {
620 std::string summary = std::string(report->GetAsDictionary()
625 report->GetObjectForDotSeparatedPath("issue_type")->GetStringValue() ==
629 if (report->GetAsDictionary()
633 pc = GetFirstNonInternalFramePc(report->GetAsDictionary()
641 if (report->GetAsDictionary()
645 pc = GetFirstNonInternalFramePc(report->GetAsDictionary()
657 if (report->GetAsDictionary()
661 StructuredData::ObjectSP loc = report->GetAsDictionary()
701 StructuredData::ObjectSP report) {
704 report->GetObjectForDotSeparatedPath("mops")->GetAsArray()->ForEach(
717 StructuredData::ObjectSP report, addr_t &global_addr,
723 if (report->GetAsDictionary()
727 StructuredData::ObjectSP loc = report->GetAsDictionary()
811 StructuredData::ObjectSP report =
815 "report)";
816 if (report) {
817 std::string issue_description = instance->FormatDescription(report);
818 report->GetAsDictionary()->AddStringItem("description", issue_description);
820 report->GetAsDictionary()->AddStringItem("stop_description",
822 std::string summary = instance->GenerateSummary(report);
823 report->GetAsDictionary()->AddStringItem("summary", summary);
824 addr_t main_address = instance->GetMainRacyAddress(report);
825 report->GetAsDictionary()->AddIntegerItem("memory_address", main_address);
832 report, global_addr, global_name, location_filename, location_line);
833 report->GetAsDictionary()->AddStringItem("location_description",
836 report->GetAsDictionary()->AddIntegerItem("global_address", global_addr);
839 report->GetAsDictionary()->AddStringItem("global_name", global_name);
842 report->GetAsDictionary()->AddStringItem("location_filename",
844 report->GetAsDictionary()->AddIntegerItem("location_line", location_line);
848 report->GetObjectForDotSeparatedPath("mops")->GetAsArray()->ForEach(
857 report->GetAsDictionary()->AddBooleanItem("all_addresses_are_same",
868 *thread_sp, stop_reason_description, report));
871 s.Printf("ThreadSanitizer report breakpoint hit. Use 'thread "
873 "report.\n");
927 breakpoint->SetBreakpointKind("thread-sanitizer-report");