Lines Matching refs:xe
234 static void init_XError ( XError* xe ) { in init_XError() argument
235 VG_(memset)(xe, 0, sizeof(*xe) ); in init_XError()
236 xe->tag = XE_Race-1; /* bogus */ in init_XError()
258 XError* xe = (XError*)VG_(get_error_extra)(err); in HG_() local
259 tl_assert(xe); in HG_()
264 if (xe->tag == XE_Race) { in HG_()
276 tl_assert(!xe->XE.Race.hctxt); in HG_()
277 tl_assert(!xe->XE.Race.descr1); in HG_()
278 tl_assert(!xe->XE.Race.descr2); in HG_()
287 &xe->XE.Race.hctxt, &xe->XE.Race.haddr, &xe->XE.Race.hszB, in HG_()
288 xe->XE.Race.data_addr in HG_()
290 tl_assert(is_heapblock == (xe->XE.Race.hctxt != NULL)); in HG_()
292 if (!xe->XE.Race.hctxt) { in HG_()
296 xe->XE.Race.descr1 in HG_()
299 xe->XE.Race.descr2 in HG_()
303 (void) VG_(get_data_description)( xe->XE.Race.descr1, in HG_()
304 xe->XE.Race.descr2, in HG_()
305 xe->XE.Race.data_addr ); in HG_()
313 if (0 == VG_(strlen)( VG_(indexXA)( xe->XE.Race.descr1, 0 ))) { in HG_()
314 VG_(deleteXA)( xe->XE.Race.descr1 ); in HG_()
315 xe->XE.Race.descr1 = NULL; in HG_()
317 if (0 == VG_(strlen)( VG_(indexXA)( xe->XE.Race.descr2, 0 ))) { in HG_()
318 VG_(deleteXA)( xe->XE.Race.descr2 ); in HG_()
319 xe->XE.Race.descr2 = NULL; in HG_()
329 Addr acc_addr = xe->XE.Race.data_addr; in HG_()
330 Int acc_szB = xe->XE.Race.szB; in HG_()
331 Thr* acc_thr = xe->XE.Race.thr->hbthr; in HG_()
332 Bool acc_isW = xe->XE.Race.isWrite; in HG_()
335 tl_assert(!xe->XE.Race.h2_ct_accEC); in HG_()
336 tl_assert(!xe->XE.Race.h2_ct); in HG_()
345 xe->XE.Race.h2_ct_accEC = wherep; in HG_()
346 xe->XE.Race.h2_ct = threadp; in HG_()
347 xe->XE.Race.h2_ct_accSzB = (Int)conf_szB; in HG_()
348 xe->XE.Race.h2_ct_accIsW = conf_isW; in HG_()
353 tl_assert( (!!xe->XE.Race.h2_ct) == (!!xe->XE.Race.h2_ct_accEC) ); in HG_()
365 XError xe; in HG_() local
385 init_XError(&xe); in HG_()
386 xe.tag = XE_Race; in HG_()
387 xe.XE.Race.data_addr = data_addr; in HG_()
388 xe.XE.Race.szB = szB; in HG_()
389 xe.XE.Race.isWrite = isWrite; in HG_()
390 xe.XE.Race.thr = thr; in HG_()
396 tl_assert(xe.XE.Race.descr1 == NULL); in HG_()
397 tl_assert(xe.XE.Race.descr2 == NULL); in HG_()
404 xe.XE.Race.h2_ct_accSzB = 0; in HG_()
405 xe.XE.Race.h2_ct_accIsW = False; in HG_()
406 xe.XE.Race.h2_ct_accEC = NULL; in HG_()
407 xe.XE.Race.h2_ct = NULL; in HG_()
411 xe.XE.Race.h1_ct = h1_ct; in HG_()
412 xe.XE.Race.h1_ct_mbsegstartEC = h1_ct_segstart; in HG_()
413 xe.XE.Race.h1_ct_mbsegendEC = h1_ct_mbsegendEC; in HG_()
416 XE_Race, data_addr, NULL, &xe ); in HG_()
421 XError xe; in HG_() local
424 init_XError(&xe); in HG_()
425 xe.tag = XE_UnlockUnlocked; in HG_()
426 xe.XE.UnlockUnlocked.thr = thr; in HG_()
427 xe.XE.UnlockUnlocked.lock = mk_LockP_from_LockN(lk); in HG_()
432 XE_UnlockUnlocked, 0, NULL, &xe ); in HG_()
438 XError xe; in HG_() local
442 init_XError(&xe); in HG_()
443 xe.tag = XE_UnlockForeign; in HG_()
444 xe.XE.UnlockForeign.thr = thr; in HG_()
445 xe.XE.UnlockForeign.owner = owner; in HG_()
446 xe.XE.UnlockForeign.lock = mk_LockP_from_LockN(lk); in HG_()
451 XE_UnlockForeign, 0, NULL, &xe ); in HG_()
456 XError xe; in HG_() local
458 init_XError(&xe); in HG_()
459 xe.tag = XE_UnlockBogus; in HG_()
460 xe.XE.UnlockBogus.thr = thr; in HG_()
461 xe.XE.UnlockBogus.lock_ga = lock_ga; in HG_()
466 XE_UnlockBogus, 0, NULL, &xe ); in HG_()
474 XError xe; in HG_() local
478 init_XError(&xe); in HG_()
479 xe.tag = XE_LockOrder; in HG_()
480 xe.XE.LockOrder.thr = thr; in HG_()
481 xe.XE.LockOrder.before_ga = before_ga; in HG_()
482 xe.XE.LockOrder.before_ec = before_ec; in HG_()
483 xe.XE.LockOrder.after_ga = after_ga; in HG_()
484 xe.XE.LockOrder.after_ec = after_ec; in HG_()
489 XE_LockOrder, 0, NULL, &xe ); in HG_()
495 XError xe; in HG_() local
499 init_XError(&xe); in HG_()
500 xe.tag = XE_PthAPIerror; in HG_()
501 xe.XE.PthAPIerror.thr = thr; in HG_()
502 xe.XE.PthAPIerror.fnname = string_table_strdup(fnname); in HG_()
503 xe.XE.PthAPIerror.err = err; in HG_()
504 xe.XE.PthAPIerror.errstr = string_table_strdup(errstr); in HG_()
509 XE_PthAPIerror, 0, NULL, &xe ); in HG_()
515 XError xe; in HG_() local
518 init_XError(&xe); in HG_()
519 xe.tag = XE_Misc; in HG_()
520 xe.XE.Misc.thr = thr; in HG_()
521 xe.XE.Misc.errstr = string_table_strdup(errstr); in HG_()
522 xe.XE.Misc.auxstr = auxstr ? string_table_strdup(auxstr) : NULL; in HG_()
523 xe.XE.Misc.auxctx = auxctx; in HG_()
528 XE_Misc, 0, NULL, &xe ); in HG_()
669 XError* xe; in HG_() local
671 xe = (XError*)VG_(get_error_extra)(err); in HG_()
672 tl_assert(xe); in HG_()
676 announce_one_thread( xe->XE.Misc.thr ); in HG_()
679 announce_one_thread( xe->XE.LockOrder.thr ); in HG_()
682 announce_one_thread( xe->XE.PthAPIerror.thr ); in HG_()
685 announce_one_thread( xe->XE.UnlockBogus.thr ); in HG_()
688 announce_one_thread( xe->XE.UnlockForeign.thr ); in HG_()
689 announce_one_thread( xe->XE.UnlockForeign.owner ); in HG_()
692 announce_one_thread( xe->XE.UnlockUnlocked.thr ); in HG_()
695 announce_one_thread( xe->XE.Race.thr ); in HG_()
696 if (xe->XE.Race.h2_ct) in HG_()
697 announce_one_thread( xe->XE.Race.h2_ct ); in HG_()
698 if (xe->XE.Race.h1_ct) in HG_()
699 announce_one_thread( xe->XE.Race.h1_ct ); in HG_()
710 XError *xe = (XError*)VG_(get_error_extra)(err); in HG_() local
711 tl_assert(xe); in HG_()
716 tl_assert( HG_(is_sane_Thread)( xe->XE.Misc.thr ) ); in HG_()
723 (Int)xe->XE.Misc.thr->errmsg_index, in HG_()
724 xe->XE.Misc.errstr ); in HG_()
726 (Int)xe->XE.Misc.thr->errmsg_index ); in HG_()
729 if (xe->XE.Misc.auxstr) { in HG_()
730 emit(" <auxwhat>%s</auxwhat>\n", xe->XE.Misc.auxstr); in HG_()
731 if (xe->XE.Misc.auxctx) in HG_()
732 VG_(pp_ExeContext)( xe->XE.Misc.auxctx ); in HG_()
738 (Int)xe->XE.Misc.thr->errmsg_index, in HG_()
739 xe->XE.Misc.errstr ); in HG_()
741 if (xe->XE.Misc.auxstr) { in HG_()
742 emit(" %s\n", xe->XE.Misc.auxstr); in HG_()
743 if (xe->XE.Misc.auxctx) in HG_()
744 VG_(pp_ExeContext)( xe->XE.Misc.auxctx ); in HG_()
752 tl_assert( HG_(is_sane_Thread)( xe->XE.LockOrder.thr ) ); in HG_()
760 (Int)xe->XE.LockOrder.thr->errmsg_index, in HG_()
761 (void*)xe->XE.LockOrder.before_ga, in HG_()
762 (void*)xe->XE.LockOrder.after_ga ); in HG_()
764 (Int)xe->XE.LockOrder.thr->errmsg_index ); in HG_()
767 if (xe->XE.LockOrder.before_ec && xe->XE.LockOrder.after_ec) { in HG_()
770 (void*)xe->XE.LockOrder.before_ga ); in HG_()
771 VG_(pp_ExeContext)( xe->XE.LockOrder.before_ec ); in HG_()
774 (void*)xe->XE.LockOrder.after_ga ); in HG_()
775 VG_(pp_ExeContext)( xe->XE.LockOrder.after_ec ); in HG_()
781 (Int)xe->XE.LockOrder.thr->errmsg_index, in HG_()
782 (void*)xe->XE.LockOrder.before_ga, in HG_()
783 (void*)xe->XE.LockOrder.after_ga ); in HG_()
785 if (xe->XE.LockOrder.before_ec && xe->XE.LockOrder.after_ec) { in HG_()
788 (void*)xe->XE.LockOrder.before_ga ); in HG_()
789 VG_(pp_ExeContext)( xe->XE.LockOrder.before_ec ); in HG_()
791 (void*)xe->XE.LockOrder.after_ga ); in HG_()
792 VG_(pp_ExeContext)( xe->XE.LockOrder.after_ec ); in HG_()
801 tl_assert( HG_(is_sane_Thread)( xe->XE.PthAPIerror.thr ) ); in HG_()
809 (Int)xe->XE.PthAPIerror.thr->errmsg_index, in HG_()
810 xe->XE.PthAPIerror.fnname ); in HG_()
812 (Int)xe->XE.PthAPIerror.thr->errmsg_index ); in HG_()
815 xe->XE.PthAPIerror.err, xe->XE.PthAPIerror.errstr ); in HG_()
821 (Int)xe->XE.PthAPIerror.thr->errmsg_index, in HG_()
822 xe->XE.PthAPIerror.fnname ); in HG_()
824 xe->XE.PthAPIerror.err, xe->XE.PthAPIerror.errstr ); in HG_()
833 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockBogus.thr ) ); in HG_()
841 (Int)xe->XE.UnlockBogus.thr->errmsg_index, in HG_()
842 (void*)xe->XE.UnlockBogus.lock_ga ); in HG_()
844 (Int)xe->XE.UnlockBogus.thr->errmsg_index ); in HG_()
851 (Int)xe->XE.UnlockBogus.thr->errmsg_index, in HG_()
852 (void*)xe->XE.UnlockBogus.lock_ga ); in HG_()
861 tl_assert( HG_(is_sane_LockP)( xe->XE.UnlockForeign.lock ) ); in HG_()
862 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockForeign.owner ) ); in HG_()
863 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockForeign.thr ) ); in HG_()
871 (Int)xe->XE.UnlockForeign.thr->errmsg_index, in HG_()
872 (void*)xe->XE.UnlockForeign.lock->guestaddr, in HG_()
873 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
875 (Int)xe->XE.UnlockForeign.thr->errmsg_index ); in HG_()
877 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
881 if (xe->XE.UnlockForeign.lock->appeared_at) { in HG_()
883 (void*)xe->XE.UnlockForeign.lock->guestaddr ); in HG_()
884 VG_(pp_ExeContext)( xe->XE.UnlockForeign.lock->appeared_at ); in HG_()
891 (Int)xe->XE.UnlockForeign.thr->errmsg_index, in HG_()
892 (void*)xe->XE.UnlockForeign.lock->guestaddr, in HG_()
893 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
895 if (xe->XE.UnlockForeign.lock->appeared_at) { in HG_()
897 (void*)xe->XE.UnlockForeign.lock->guestaddr ); in HG_()
898 VG_(pp_ExeContext)( xe->XE.UnlockForeign.lock->appeared_at ); in HG_()
907 tl_assert( HG_(is_sane_LockP)( xe->XE.UnlockUnlocked.lock ) ); in HG_()
908 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockUnlocked.thr ) ); in HG_()
916 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index, in HG_()
917 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
919 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index ); in HG_()
922 if (xe->XE.UnlockUnlocked.lock->appeared_at) { in HG_()
924 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
925 VG_(pp_ExeContext)( xe->XE.UnlockUnlocked.lock->appeared_at ); in HG_()
931 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index, in HG_()
932 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
934 if (xe->XE.UnlockUnlocked.lock->appeared_at) { in HG_()
936 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
937 VG_(pp_ExeContext)( xe->XE.UnlockUnlocked.lock->appeared_at ); in HG_()
949 what = xe->XE.Race.isWrite ? "write" : "read"; in HG_()
950 szB = xe->XE.Race.szB; in HG_()
953 tl_assert( HG_(is_sane_Thread)( xe->XE.Race.thr )); in HG_()
954 if (xe->XE.Race.h2_ct) in HG_()
955 tl_assert( HG_(is_sane_Thread)( xe->XE.Race.h2_ct )); in HG_()
964 what, szB, err_ga, (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
966 (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
970 if (xe->XE.Race.h2_ct) { in HG_()
971 tl_assert(xe->XE.Race.h2_ct_accEC); // assured by update_extra in HG_()
975 xe->XE.Race.h2_ct_accIsW ? "write" : "read", in HG_()
976 xe->XE.Race.h2_ct_accSzB, in HG_()
977 xe->XE.Race.h2_ct->errmsg_index ); in HG_()
979 xe->XE.Race.h2_ct->errmsg_index); in HG_()
981 VG_(pp_ExeContext)( xe->XE.Race.h2_ct_accEC ); in HG_()
984 if (xe->XE.Race.h1_ct) { in HG_()
988 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
990 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
992 if (xe->XE.Race.h1_ct_mbsegstartEC) { in HG_()
993 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegstartEC ); in HG_()
998 if (xe->XE.Race.h1_ct_mbsegendEC) { in HG_()
999 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegendEC ); in HG_()
1010 what, szB, err_ga, (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
1013 if (xe->XE.Race.h2_ct) { in HG_()
1014 tl_assert(xe->XE.Race.h2_ct_accEC); // assured by update_extra in HG_()
1017 xe->XE.Race.h2_ct_accIsW ? "write" : "read", in HG_()
1018 xe->XE.Race.h2_ct_accSzB, in HG_()
1019 xe->XE.Race.h2_ct->errmsg_index ); in HG_()
1020 VG_(pp_ExeContext)( xe->XE.Race.h2_ct_accEC ); in HG_()
1023 if (xe->XE.Race.h1_ct) { in HG_()
1026 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
1027 if (xe->XE.Race.h1_ct_mbsegstartEC) { in HG_()
1028 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegstartEC ); in HG_()
1033 if (xe->XE.Race.h1_ct_mbsegendEC) { in HG_()
1034 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegendEC ); in HG_()
1044 if (xe->XE.Race.hctxt) { in HG_()
1045 SizeT delta = err_ga - xe->XE.Race.haddr; in HG_()
1049 xe->XE.Race.hszB); in HG_()
1050 VG_(pp_ExeContext)( xe->XE.Race.hctxt ); in HG_()
1054 xe->XE.Race.hszB); in HG_()
1055 VG_(pp_ExeContext)( xe->XE.Race.hctxt ); in HG_()
1063 if (xe->XE.Race.descr1) in HG_()
1065 (HChar*)VG_(indexXA)( xe->XE.Race.descr1, 0 ) ); in HG_()
1066 if (xe->XE.Race.descr2) in HG_()
1068 (HChar*)VG_(indexXA)( xe->XE.Race.descr2, 0 ) ); in HG_()