Patch adding (or showing the proper/not confusing) helgrind thread nr for block
and stack address description.

* A race condition on an allocated block shows the stacktrace, but
  does not show the thread # that allocated the block.
  This patch adds the output of the thread # that allocated the block.

*  The patch also fixes the confusion that might appear between
  the core threadid and the helgrind thread nr in Stack address description:
  A printed stack addrinfo was containing a thread id, while all other helgrind
  messages are using (supposed to use) an 'helgrind thread #' which
  is used in the thread announcement.

    Basically, the idea is to let a tool set a "tool specific thread nr'
    in an addrinfo.
    The pretty printing of the addrinfo is then by preference showing this
    thread nr (if it was set, i.e. different of 0).
    Currently, only helgrind uses this addrinfo tnr.

    Note: in xml mode, the output is matching the protocol description.
    I.e., GUI should not be impacted by this change, if they properly implement
    the xml protocol.


* Also, make the output produced by m_addrinfo consistent:
  The  message 'block was alloc'd at'  is changed to be like all other
  output : one character indent, and starting with an uppercase



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14175 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index fefa8f5..0046988 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,8 @@
 * Helgrind:
   - Helgrind GDB server monitor command 'info locks' giving
     the list of locks, their location, and their status.
+  - Race condition error message with allocated blocks also show
+    the thread nr that allocated the racy block.
   - Helgrind now understands the Ada task termination rules
     and creates a 'H-B relationship' between a terminated task and
     its master. This avoids some false positive and avoids big
diff --git a/coregrind/m_addrinfo.c b/coregrind/m_addrinfo.c
index 6339331..20d56c6 100644
--- a/coregrind/m_addrinfo.c
+++ b/coregrind/m_addrinfo.c
@@ -105,7 +105,8 @@
             UInt f;
 
             ai->tag            = Addr_Stack;
-            ai->Addr.Stack.tid = tid;
+            VG_(initThreadInfo)(&ai->Addr.Stack.tinfo);
+            ai->Addr.Stack.tinfo.tid = tid;
             ai->Addr.Stack.IP = 0;
             ai->Addr.Stack.frameNo = -1;
             /* It is on thread tid stack. Build a stacktrace, and
@@ -153,6 +154,7 @@
          ai->Addr.Block.block_szB = aai.block_szB;
          ai->Addr.Block.rwoffset = aai.rwoffset;
          ai->Addr.Block.allocated_at = VG_(null_ExeContext)();
+         VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
          ai->Addr.Block.freed_at = VG_(null_ExeContext)();
          return;
       }
@@ -177,6 +179,12 @@
    return;
 }
 
+void VG_(initThreadInfo) (ThreadInfo *tinfo)
+{
+   tinfo->tid = 0;
+   tinfo->tnr = 0;
+}
+
 void VG_(clear_addrinfo) ( AddrInfo* ai)
 {
    switch (ai->tag) {
@@ -230,6 +238,22 @@
    }
 }
 
+static const HChar* opt_tnr_prefix (ThreadInfo tinfo)
+{
+   if (tinfo.tnr != 0)
+      return "#";
+   else
+      return "";
+}
+
+static UInt tnr_else_tid (ThreadInfo tinfo)
+{
+   if (tinfo.tnr != 0)
+      return tinfo.tnr;
+   else
+      return tinfo.tid;
+}
+
 static void pp_addrinfo_WRK ( Addr a, AddrInfo* ai, Bool mc, Bool maybe_gcc )
 {
    const HChar* xpre  = VG_(clo_xml) ? "  <auxwhat>" : " ";
@@ -254,8 +278,11 @@
          break;
 
       case Addr_Stack: 
-         VG_(emit)( "%sAddress 0x%llx is on thread %d's stack%s\n", 
-                    xpre, (ULong)a, ai->Addr.Stack.tid, xpost );
+         VG_(emit)( "%sAddress 0x%llx is on thread %s%d's stack%s\n", 
+                    xpre, (ULong)a, 
+                    opt_tnr_prefix (ai->Addr.Stack.tinfo), 
+                    tnr_else_tid (ai->Addr.Stack.tinfo), 
+                    xpost );
          if (ai->Addr.Stack.frameNo != -1 && ai->Addr.Stack.IP != 0) {
 #define     FLEN                256
             HChar fn[FLEN];
@@ -344,7 +371,7 @@
             VG_(pp_ExeContext)(ai->Addr.Block.freed_at);
             if (ai->Addr.Block.allocated_at != VG_(null_ExeContext)()) {
                VG_(emit)(
-                  "%s block was alloc'd at%s\n",
+                  "%sBlock was alloc'd at%s\n",
                   xpre,
                   xpost
                );
@@ -364,7 +391,14 @@
             tl_assert (ai->Addr.Block.allocated_at == VG_(null_ExeContext)());
             tl_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)());
          }
-         
+         if (ai->Addr.Block.alloc_tinfo.tnr || ai->Addr.Block.alloc_tinfo.tid)
+            VG_(emit)(
+               "%sBlock was alloc'd by thread %s%d%s\n",
+               xpre,
+               opt_tnr_prefix (ai->Addr.Block.alloc_tinfo),
+               tnr_else_tid (ai->Addr.Block.alloc_tinfo),
+               xpost
+            );  
          break;
       }
 
diff --git a/gdbserver_tests/hginfo.stderrB.exp b/gdbserver_tests/hginfo.stderrB.exp
index 9e43940..df47f11 100644
--- a/gdbserver_tests/hginfo.stderrB.exp
+++ b/gdbserver_tests/hginfo.stderrB.exp
@@ -10,6 +10,7 @@
    by 0x........: th (hg01_all_ok.c:22)
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
+ Block was alloc'd by thread #x
 Lock ga 0x........ {
  Address 0x........ is 0 bytes inside data symbol "mx"
    kind   mbRec
diff --git a/helgrind/hg_addrdescr.c b/helgrind/hg_addrdescr.c
index cf7de81..c6a25b1 100644
--- a/helgrind/hg_addrdescr.c
+++ b/helgrind/hg_addrdescr.c
@@ -32,6 +32,7 @@
 #include "pub_tool_libcbase.h"
 #include "pub_tool_libcprint.h"
 #include "pub_tool_libcassert.h"
+#include "pub_tool_wordfm.h"
 #include "pub_tool_xarray.h"
 #include "pub_tool_execontext.h"
 #include "pub_tool_debuginfo.h"
@@ -39,14 +40,17 @@
 #include "pub_tool_addrinfo.h"
 
 #include "hg_basics.h"
+#include "hg_wordset.h"
+#include "hg_lock_n_thread.h"
 #include "hg_addrdescr.h"            /* self */
 
 void HG_(describe_addr) ( Addr a, /*OUT*/AddrInfo* ai )
 {
    tl_assert(ai->tag == Addr_Undescribed);
 
-   /* hctxt/haddr/hszB describe the addr if it is a heap block. */
+   /* hctxt/tnr/haddr/hszB describe the addr if it is a heap block. */
    ExeContext* hctxt;
+   UInt        tnr;
    Addr        haddr;
    SizeT       hszB;
 
@@ -58,6 +62,7 @@
    Bool is_heapblock
       = HG_(mm_find_containing_block)( 
            &hctxt,
+           &tnr,
            &haddr,
            &hszB,
            a
@@ -70,10 +75,27 @@
       ai->Addr.Block.block_szB  = hszB;
       ai->Addr.Block.rwoffset   = (Word)(a) - (Word)(haddr);
       ai->Addr.Block.allocated_at = hctxt;
+      VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
+      ai->Addr.Block.alloc_tinfo.tnr = tnr;
       ai->Addr.Block.freed_at = VG_(null_ExeContext)();;
    } else {
       /* No block found. Search a non-heap block description. */
       VG_(describe_addr) (a, ai);
+
+      /* In case ai contains a tid, set tnr to the corresponding helgrind
+         thread number. */
+      if (ai->tag == Addr_Stack) {
+         Thread* thr = get_admin_threads();
+
+         tl_assert(ai->Addr.Stack.tinfo.tid);
+         while (thr) {
+            if (thr->coretid == ai->Addr.Stack.tinfo.tid) {
+               ai->Addr.Stack.tinfo.tnr = thr->errmsg_index;
+               break;
+            }
+            thr = thr->admin;
+         }
+      }
    }
 }
 
diff --git a/helgrind/hg_addrdescr.h b/helgrind/hg_addrdescr.h
index b90f747..67b2bb5 100644
--- a/helgrind/hg_addrdescr.h
+++ b/helgrind/hg_addrdescr.h
@@ -59,6 +59,7 @@
    considered to contain the searched-for address if they equal that
    address. */
 Bool HG_(mm_find_containing_block)( /*OUT*/ExeContext** where,
+                                    /*OUT*/UInt*        tnr,
                                     /*OUT*/Addr*        payload,
                                     /*OUT*/SizeT*       szB,
                                     Addr                data_addr );
diff --git a/helgrind/hg_errors.c b/helgrind/hg_errors.c
index 959699f..c017a91 100644
--- a/helgrind/hg_errors.c
+++ b/helgrind/hg_errors.c
@@ -865,6 +865,17 @@
             announce_one_thread( xe->XE.Race.h2_ct );
          if (xe->XE.Race.h1_ct)
             announce_one_thread( xe->XE.Race.h1_ct );
+         if (xe->XE.Race.data_addrinfo.Addr.Block.alloc_tinfo.tnr) {
+            Thread* thr = get_admin_threads();
+            while (thr) {
+               if (thr->errmsg_index 
+                   == xe->XE.Race.data_addrinfo.Addr.Block.alloc_tinfo.tnr) {
+                  announce_one_thread (thr);
+                  break;
+               }
+               thr = thr->admin;
+            }
+         }
          break;
       default:
          tl_assert(0);
diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
index f5d02b2..65b045b 100644
--- a/helgrind/hg_main.c
+++ b/helgrind/hg_main.c
@@ -4213,6 +4213,7 @@
 }
 
 Bool HG_(mm_find_containing_block)( /*OUT*/ExeContext** where,
+                                    /*OUT*/UInt*        tnr,
                                     /*OUT*/Addr*        payload,
                                     /*OUT*/SizeT*       szB,
                                     Addr                data_addr )
@@ -4249,6 +4250,7 @@
    tl_assert(mm);
    tl_assert(addr_is_in_MM_Chunk(mm, data_addr));
    if (where)   *where   = mm->where;
+   if (tnr)     *tnr     = mm->thr->errmsg_index;
    if (payload) *payload = mm->payload;
    if (szB)     *szB     = mm->szB;
    return True;
@@ -4868,7 +4870,8 @@
          SizeT pszB = 0;
          if (0) VG_(printf)("VG_USERREQ__HG_CLEAN_MEMORY_HEAPBLOCK(%#lx)\n",
                             args[1]);
-         if (HG_(mm_find_containing_block)(NULL, &payload, &pszB, args[1])) {
+         if (HG_(mm_find_containing_block)(NULL, NULL, 
+                                           &payload, &pszB, args[1])) {
             if (pszB > 0) {
                evh__die_mem(payload, pszB);
                evh__new_mem(payload, pszB);
diff --git a/helgrind/tests/pth_barrier1.stderr.exp b/helgrind/tests/pth_barrier1.stderr.exp
index 4a42c20..4dd04b3 100644
--- a/helgrind/tests/pth_barrier1.stderr.exp
+++ b/helgrind/tests/pth_barrier1.stderr.exp
@@ -14,6 +14,10 @@
    by 0x........: barriers_and_races (pth_barrier.c:92)
    by 0x........: main (pth_barrier.c:122)
 
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
 ----------------------------------------------------------------
 
 Possible data race during write of size 1 at 0x........ by thread #x
@@ -31,4 +35,5 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
diff --git a/helgrind/tests/pth_barrier2.stderr.exp b/helgrind/tests/pth_barrier2.stderr.exp
index a8ef695..c8e4784 100644
--- a/helgrind/tests/pth_barrier2.stderr.exp
+++ b/helgrind/tests/pth_barrier2.stderr.exp
@@ -14,6 +14,10 @@
    by 0x........: barriers_and_races (pth_barrier.c:92)
    by 0x........: main (pth_barrier.c:122)
 
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
 ----------------------------------------------------------------
 
 Possible data race during write of size 1 at 0x........ by thread #x
@@ -31,6 +35,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -49,6 +54,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -67,6 +73,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -85,6 +92,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -103,6 +111,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -121,6 +130,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -139,6 +149,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -157,6 +168,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -175,6 +187,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -193,6 +206,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -211,6 +225,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -229,6 +244,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -247,6 +263,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -265,6 +282,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -283,6 +301,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -301,6 +320,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -319,6 +339,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -337,6 +358,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -355,6 +377,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -373,6 +396,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -391,6 +415,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -409,6 +434,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -427,6 +453,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -445,6 +472,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -463,6 +491,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -481,6 +510,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -499,6 +529,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -517,6 +548,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -535,6 +567,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -553,6 +586,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -571,6 +605,7 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -589,4 +624,5 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
diff --git a/helgrind/tests/pth_barrier3.stderr.exp b/helgrind/tests/pth_barrier3.stderr.exp
index 4a42c20..4dd04b3 100644
--- a/helgrind/tests/pth_barrier3.stderr.exp
+++ b/helgrind/tests/pth_barrier3.stderr.exp
@@ -14,6 +14,10 @@
    by 0x........: barriers_and_races (pth_barrier.c:92)
    by 0x........: main (pth_barrier.c:122)
 
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
 ----------------------------------------------------------------
 
 Possible data race during write of size 1 at 0x........ by thread #x
@@ -31,4 +35,5 @@
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: barriers_and_races (pth_barrier.c:76)
    by 0x........: main (pth_barrier.c:122)
+ Block was alloc'd by thread #x
 
diff --git a/helgrind/tests/tc19_shadowmem.stderr.exp b/helgrind/tests/tc19_shadowmem.stderr.exp
index 0f224dc..c113ed6 100644
--- a/helgrind/tests/tc19_shadowmem.stderr.exp
+++ b/helgrind/tests/tc19_shadowmem.stderr.exp
@@ -19,6 +19,10 @@
    by 0x........: pthread_create@* (hg_intercepts.c:...)
    by 0x........: main (tc19_shadowmem.c:172)
 
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
 ----------------------------------------------------------------
 
 Possible data race during write of size 1 at 0x........ by thread #x
@@ -37,6 +41,7 @@
  Address 0x........ is 0 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 1 ----------
 ---Thread-Announcement------------------------------------------
@@ -71,6 +76,7 @@
  Address 0x........ is 1 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 2 ----------
 ---Thread-Announcement------------------------------------------
@@ -105,6 +111,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 3 ----------
 ---Thread-Announcement------------------------------------------
@@ -139,6 +146,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 4 ----------
 ---Thread-Announcement------------------------------------------
@@ -173,6 +181,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 5 ----------
 ---Thread-Announcement------------------------------------------
@@ -207,6 +216,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 6 ----------
 ---Thread-Announcement------------------------------------------
@@ -241,6 +251,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 7 ----------
 ---Thread-Announcement------------------------------------------
@@ -275,6 +286,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 8 ----------
 ---Thread-Announcement------------------------------------------
@@ -309,6 +321,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 9 ----------
 ---Thread-Announcement------------------------------------------
@@ -343,6 +356,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 10 ----------
 ---Thread-Announcement------------------------------------------
@@ -377,6 +391,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 11 ----------
 ---Thread-Announcement------------------------------------------
@@ -411,6 +426,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 12 ----------
 ---Thread-Announcement------------------------------------------
@@ -445,6 +461,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 13 ----------
 ---Thread-Announcement------------------------------------------
@@ -479,6 +496,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 14 ----------
 ---Thread-Announcement------------------------------------------
@@ -513,6 +531,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 15 ----------
 ---Thread-Announcement------------------------------------------
@@ -547,6 +566,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 16 ----------
 ---Thread-Announcement------------------------------------------
@@ -581,6 +601,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 17 ----------
 ---Thread-Announcement------------------------------------------
@@ -615,6 +636,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 18 ----------
 ---Thread-Announcement------------------------------------------
@@ -649,6 +671,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 19 ----------
 ---Thread-Announcement------------------------------------------
@@ -683,6 +706,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 20 ----------
 ---Thread-Announcement------------------------------------------
@@ -717,6 +741,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 21 ----------
 ---Thread-Announcement------------------------------------------
@@ -751,6 +776,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 22 ----------
 ---Thread-Announcement------------------------------------------
@@ -785,6 +811,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 23 ----------
 ---Thread-Announcement------------------------------------------
@@ -819,6 +846,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 24 ----------
 ---Thread-Announcement------------------------------------------
@@ -853,6 +881,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 25 ----------
 ---Thread-Announcement------------------------------------------
@@ -887,6 +916,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 26 ----------
 ---Thread-Announcement------------------------------------------
@@ -921,6 +951,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 27 ----------
 ---Thread-Announcement------------------------------------------
@@ -955,6 +986,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 28 ----------
 ---Thread-Announcement------------------------------------------
@@ -989,6 +1021,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 29 ----------
 ---Thread-Announcement------------------------------------------
@@ -1023,6 +1056,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 30 ----------
 ---Thread-Announcement------------------------------------------
@@ -1057,6 +1091,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 31 ----------
 ---Thread-Announcement------------------------------------------
@@ -1091,6 +1126,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 32 ----------
 ---Thread-Announcement------------------------------------------
@@ -1125,6 +1161,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 33 ----------
 ---Thread-Announcement------------------------------------------
@@ -1159,6 +1196,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 34 ----------
 ---Thread-Announcement------------------------------------------
@@ -1193,6 +1231,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 35 ----------
 ---Thread-Announcement------------------------------------------
@@ -1227,6 +1266,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 36 ----------
 ---Thread-Announcement------------------------------------------
@@ -1261,6 +1301,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 37 ----------
 ---Thread-Announcement------------------------------------------
@@ -1295,6 +1336,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 38 ----------
 ---Thread-Announcement------------------------------------------
@@ -1329,6 +1371,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 39 ----------
 ---Thread-Announcement------------------------------------------
@@ -1363,6 +1406,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 40 ----------
 ---Thread-Announcement------------------------------------------
@@ -1397,6 +1441,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 41 ----------
 ---Thread-Announcement------------------------------------------
@@ -1431,6 +1476,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 42 ----------
 ---Thread-Announcement------------------------------------------
@@ -1465,6 +1511,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 43 ----------
 ---Thread-Announcement------------------------------------------
@@ -1499,6 +1546,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 44 ----------
 ---Thread-Announcement------------------------------------------
@@ -1533,6 +1581,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 45 ----------
 ---Thread-Announcement------------------------------------------
@@ -1567,6 +1616,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 46 ----------
 ---Thread-Announcement------------------------------------------
@@ -1601,6 +1651,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 47 ----------
 ---Thread-Announcement------------------------------------------
@@ -1635,6 +1686,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 48 ----------
 ---Thread-Announcement------------------------------------------
@@ -1669,6 +1721,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 49 ----------
 ---Thread-Announcement------------------------------------------
@@ -1703,6 +1756,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 50 ----------
 ---Thread-Announcement------------------------------------------
@@ -1737,6 +1791,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 51 ----------
 ---Thread-Announcement------------------------------------------
@@ -1771,6 +1826,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 52 ----------
 ---Thread-Announcement------------------------------------------
@@ -1805,6 +1861,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 53 ----------
 ---Thread-Announcement------------------------------------------
@@ -1839,6 +1896,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 54 ----------
 ---Thread-Announcement------------------------------------------
@@ -1873,6 +1931,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 55 ----------
 ---Thread-Announcement------------------------------------------
@@ -1907,6 +1966,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 56 ----------
 ---Thread-Announcement------------------------------------------
@@ -1941,6 +2001,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 57 ----------
 ---Thread-Announcement------------------------------------------
@@ -1975,6 +2036,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 58 ----------
 ---Thread-Announcement------------------------------------------
@@ -2009,6 +2071,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 59 ----------
 ---Thread-Announcement------------------------------------------
@@ -2043,6 +2106,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 60 ----------
 ---Thread-Announcement------------------------------------------
@@ -2077,6 +2141,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 61 ----------
 ---Thread-Announcement------------------------------------------
@@ -2111,6 +2176,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 62 ----------
 ---Thread-Announcement------------------------------------------
@@ -2145,6 +2211,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 63 ----------
 ---Thread-Announcement------------------------------------------
@@ -2179,6 +2246,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 64 ----------
 ---Thread-Announcement------------------------------------------
@@ -2213,6 +2281,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 65 ----------
 ---Thread-Announcement------------------------------------------
@@ -2247,6 +2316,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 66 ----------
 ---Thread-Announcement------------------------------------------
@@ -2281,6 +2351,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 67 ----------
 ---Thread-Announcement------------------------------------------
@@ -2315,6 +2386,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 68 ----------
 ---Thread-Announcement------------------------------------------
@@ -2349,6 +2421,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 69 ----------
 ---Thread-Announcement------------------------------------------
@@ -2383,6 +2456,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 70 ----------
 ---Thread-Announcement------------------------------------------
@@ -2417,6 +2491,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 71 ----------
 ---Thread-Announcement------------------------------------------
@@ -2451,6 +2526,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 72 ----------
 ---Thread-Announcement------------------------------------------
@@ -2485,6 +2561,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 73 ----------
 ---Thread-Announcement------------------------------------------
@@ -2519,6 +2596,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 74 ----------
 ---Thread-Announcement------------------------------------------
@@ -2553,6 +2631,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 75 ----------
 ---Thread-Announcement------------------------------------------
@@ -2587,6 +2666,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 76 ----------
 ---Thread-Announcement------------------------------------------
@@ -2621,6 +2701,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 77 ----------
 ---Thread-Announcement------------------------------------------
@@ -2655,6 +2736,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 78 ----------
 ---Thread-Announcement------------------------------------------
@@ -2689,6 +2771,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 79 ----------
 ---Thread-Announcement------------------------------------------
@@ -2723,6 +2806,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 80 ----------
 ---Thread-Announcement------------------------------------------
@@ -2757,6 +2841,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 81 ----------
 ---Thread-Announcement------------------------------------------
@@ -2791,6 +2876,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 82 ----------
 ---Thread-Announcement------------------------------------------
@@ -2825,6 +2911,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 83 ----------
 ---Thread-Announcement------------------------------------------
@@ -2859,6 +2946,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 84 ----------
 ---Thread-Announcement------------------------------------------
@@ -2893,6 +2981,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 85 ----------
 ---Thread-Announcement------------------------------------------
@@ -2927,6 +3016,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 86 ----------
 ---Thread-Announcement------------------------------------------
@@ -2961,6 +3051,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 87 ----------
 ---Thread-Announcement------------------------------------------
@@ -2995,6 +3086,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 88 ----------
 ---Thread-Announcement------------------------------------------
@@ -3029,6 +3121,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 89 ----------
 ---Thread-Announcement------------------------------------------
@@ -3063,6 +3156,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 90 ----------
 ---Thread-Announcement------------------------------------------
@@ -3097,6 +3191,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 91 ----------
 ---Thread-Announcement------------------------------------------
@@ -3131,6 +3226,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 92 ----------
 ---Thread-Announcement------------------------------------------
@@ -3165,6 +3261,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 93 ----------
 ---Thread-Announcement------------------------------------------
@@ -3199,6 +3296,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 94 ----------
 ---Thread-Announcement------------------------------------------
@@ -3233,6 +3331,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 95 ----------
 ---Thread-Announcement------------------------------------------
@@ -3267,6 +3366,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 96 ----------
 ---Thread-Announcement------------------------------------------
@@ -3301,6 +3401,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 97 ----------
 ---Thread-Announcement------------------------------------------
@@ -3335,6 +3436,7 @@
  Address 0x........ is 97 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- char gran, 0 .. 99, skip 98 ----------
 ---Thread-Announcement------------------------------------------
@@ -3369,6 +3471,7 @@
  Address 0x........ is 98 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 
 ==========================================================
@@ -3408,6 +3511,7 @@
  Address 0x........ is 0 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 
 More than 100 errors detected.  Subsequent errors
@@ -3445,6 +3549,7 @@
  Address 0x........ is 1 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3464,6 +3569,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 2 ----------
 ---Thread-Announcement------------------------------------------
@@ -3498,6 +3604,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 3 ----------
 ---Thread-Announcement------------------------------------------
@@ -3532,6 +3639,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3551,6 +3659,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 4 ----------
 ---Thread-Announcement------------------------------------------
@@ -3585,6 +3694,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 5 ----------
 ---Thread-Announcement------------------------------------------
@@ -3619,6 +3729,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3638,6 +3749,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 6 ----------
 ---Thread-Announcement------------------------------------------
@@ -3672,6 +3784,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 7 ----------
 ---Thread-Announcement------------------------------------------
@@ -3706,6 +3819,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3725,6 +3839,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 8 ----------
 ---Thread-Announcement------------------------------------------
@@ -3759,6 +3874,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 9 ----------
 ---Thread-Announcement------------------------------------------
@@ -3793,6 +3909,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3812,6 +3929,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 10 ----------
 ---Thread-Announcement------------------------------------------
@@ -3846,6 +3964,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 11 ----------
 ---Thread-Announcement------------------------------------------
@@ -3880,6 +3999,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3899,6 +4019,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 12 ----------
 ---Thread-Announcement------------------------------------------
@@ -3933,6 +4054,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 13 ----------
 ---Thread-Announcement------------------------------------------
@@ -3967,6 +4089,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -3986,6 +4109,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 14 ----------
 ---Thread-Announcement------------------------------------------
@@ -4020,6 +4144,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 15 ----------
 ---Thread-Announcement------------------------------------------
@@ -4054,6 +4179,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4073,6 +4199,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 16 ----------
 ---Thread-Announcement------------------------------------------
@@ -4107,6 +4234,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 17 ----------
 ---Thread-Announcement------------------------------------------
@@ -4141,6 +4269,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4160,6 +4289,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 18 ----------
 ---Thread-Announcement------------------------------------------
@@ -4194,6 +4324,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 19 ----------
 ---Thread-Announcement------------------------------------------
@@ -4228,6 +4359,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4247,6 +4379,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 20 ----------
 ---Thread-Announcement------------------------------------------
@@ -4281,6 +4414,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 21 ----------
 ---Thread-Announcement------------------------------------------
@@ -4315,6 +4449,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4334,6 +4469,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 22 ----------
 ---Thread-Announcement------------------------------------------
@@ -4368,6 +4504,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 23 ----------
 ---Thread-Announcement------------------------------------------
@@ -4402,6 +4539,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4421,6 +4559,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 24 ----------
 ---Thread-Announcement------------------------------------------
@@ -4455,6 +4594,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 25 ----------
 ---Thread-Announcement------------------------------------------
@@ -4489,6 +4629,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4508,6 +4649,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 26 ----------
 ---Thread-Announcement------------------------------------------
@@ -4542,6 +4684,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 27 ----------
 ---Thread-Announcement------------------------------------------
@@ -4576,6 +4719,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4595,6 +4739,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 28 ----------
 ---Thread-Announcement------------------------------------------
@@ -4629,6 +4774,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 29 ----------
 ---Thread-Announcement------------------------------------------
@@ -4663,6 +4809,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4682,6 +4829,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 30 ----------
 ---Thread-Announcement------------------------------------------
@@ -4716,6 +4864,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 31 ----------
 ---Thread-Announcement------------------------------------------
@@ -4750,6 +4899,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4769,6 +4919,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 32 ----------
 ---Thread-Announcement------------------------------------------
@@ -4803,6 +4954,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 33 ----------
 ---Thread-Announcement------------------------------------------
@@ -4837,6 +4989,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4856,6 +5009,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 34 ----------
 ---Thread-Announcement------------------------------------------
@@ -4890,6 +5044,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 35 ----------
 ---Thread-Announcement------------------------------------------
@@ -4924,6 +5079,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -4943,6 +5099,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 36 ----------
 ---Thread-Announcement------------------------------------------
@@ -4977,6 +5134,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 37 ----------
 ---Thread-Announcement------------------------------------------
@@ -5011,6 +5169,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5030,6 +5189,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 38 ----------
 ---Thread-Announcement------------------------------------------
@@ -5064,6 +5224,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 39 ----------
 ---Thread-Announcement------------------------------------------
@@ -5098,6 +5259,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5117,6 +5279,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 40 ----------
 ---Thread-Announcement------------------------------------------
@@ -5151,6 +5314,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 41 ----------
 ---Thread-Announcement------------------------------------------
@@ -5185,6 +5349,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5204,6 +5369,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 42 ----------
 ---Thread-Announcement------------------------------------------
@@ -5238,6 +5404,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 43 ----------
 ---Thread-Announcement------------------------------------------
@@ -5272,6 +5439,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5291,6 +5459,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 44 ----------
 ---Thread-Announcement------------------------------------------
@@ -5325,6 +5494,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 45 ----------
 ---Thread-Announcement------------------------------------------
@@ -5359,6 +5529,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5378,6 +5549,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 46 ----------
 ---Thread-Announcement------------------------------------------
@@ -5412,6 +5584,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 47 ----------
 ---Thread-Announcement------------------------------------------
@@ -5446,6 +5619,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5465,6 +5639,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 48 ----------
 ---Thread-Announcement------------------------------------------
@@ -5499,6 +5674,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 49 ----------
 ---Thread-Announcement------------------------------------------
@@ -5533,6 +5709,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5552,6 +5729,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 50 ----------
 ---Thread-Announcement------------------------------------------
@@ -5586,6 +5764,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 51 ----------
 ---Thread-Announcement------------------------------------------
@@ -5620,6 +5799,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5639,6 +5819,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 52 ----------
 ---Thread-Announcement------------------------------------------
@@ -5673,6 +5854,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 53 ----------
 ---Thread-Announcement------------------------------------------
@@ -5707,6 +5889,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5726,6 +5909,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 54 ----------
 ---Thread-Announcement------------------------------------------
@@ -5760,6 +5944,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 55 ----------
 ---Thread-Announcement------------------------------------------
@@ -5794,6 +5979,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5813,6 +5999,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 56 ----------
 ---Thread-Announcement------------------------------------------
@@ -5847,6 +6034,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 57 ----------
 ---Thread-Announcement------------------------------------------
@@ -5881,6 +6069,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5900,6 +6089,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 58 ----------
 ---Thread-Announcement------------------------------------------
@@ -5934,6 +6124,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 59 ----------
 ---Thread-Announcement------------------------------------------
@@ -5968,6 +6159,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -5987,6 +6179,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 60 ----------
 ---Thread-Announcement------------------------------------------
@@ -6021,6 +6214,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 61 ----------
 ---Thread-Announcement------------------------------------------
@@ -6055,6 +6249,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6074,6 +6269,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 62 ----------
 ---Thread-Announcement------------------------------------------
@@ -6108,6 +6304,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 63 ----------
 ---Thread-Announcement------------------------------------------
@@ -6142,6 +6339,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6161,6 +6359,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 64 ----------
 ---Thread-Announcement------------------------------------------
@@ -6195,6 +6394,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 65 ----------
 ---Thread-Announcement------------------------------------------
@@ -6229,6 +6429,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6248,6 +6449,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 66 ----------
 ---Thread-Announcement------------------------------------------
@@ -6282,6 +6484,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 67 ----------
 ---Thread-Announcement------------------------------------------
@@ -6316,6 +6519,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6335,6 +6539,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 68 ----------
 ---Thread-Announcement------------------------------------------
@@ -6369,6 +6574,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 69 ----------
 ---Thread-Announcement------------------------------------------
@@ -6403,6 +6609,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6422,6 +6629,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 70 ----------
 ---Thread-Announcement------------------------------------------
@@ -6456,6 +6664,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 71 ----------
 ---Thread-Announcement------------------------------------------
@@ -6490,6 +6699,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6509,6 +6719,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 72 ----------
 ---Thread-Announcement------------------------------------------
@@ -6543,6 +6754,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 73 ----------
 ---Thread-Announcement------------------------------------------
@@ -6577,6 +6789,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6596,6 +6809,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 74 ----------
 ---Thread-Announcement------------------------------------------
@@ -6630,6 +6844,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 75 ----------
 ---Thread-Announcement------------------------------------------
@@ -6664,6 +6879,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6683,6 +6899,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 76 ----------
 ---Thread-Announcement------------------------------------------
@@ -6717,6 +6934,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 77 ----------
 ---Thread-Announcement------------------------------------------
@@ -6751,6 +6969,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6770,6 +6989,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 78 ----------
 ---Thread-Announcement------------------------------------------
@@ -6804,6 +7024,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 79 ----------
 ---Thread-Announcement------------------------------------------
@@ -6838,6 +7059,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6857,6 +7079,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 80 ----------
 ---Thread-Announcement------------------------------------------
@@ -6891,6 +7114,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 81 ----------
 ---Thread-Announcement------------------------------------------
@@ -6925,6 +7149,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -6944,6 +7169,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 82 ----------
 ---Thread-Announcement------------------------------------------
@@ -6978,6 +7204,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 83 ----------
 ---Thread-Announcement------------------------------------------
@@ -7012,6 +7239,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7031,6 +7259,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 84 ----------
 ---Thread-Announcement------------------------------------------
@@ -7065,6 +7294,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 85 ----------
 ---Thread-Announcement------------------------------------------
@@ -7099,6 +7329,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7118,6 +7349,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 86 ----------
 ---Thread-Announcement------------------------------------------
@@ -7152,6 +7384,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 87 ----------
 ---Thread-Announcement------------------------------------------
@@ -7186,6 +7419,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7205,6 +7439,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 88 ----------
 ---Thread-Announcement------------------------------------------
@@ -7239,6 +7474,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 89 ----------
 ---Thread-Announcement------------------------------------------
@@ -7273,6 +7509,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7292,6 +7529,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 90 ----------
 ---Thread-Announcement------------------------------------------
@@ -7326,6 +7564,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 91 ----------
 ---Thread-Announcement------------------------------------------
@@ -7360,6 +7599,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7379,6 +7619,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 92 ----------
 ---Thread-Announcement------------------------------------------
@@ -7413,6 +7654,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 93 ----------
 ---Thread-Announcement------------------------------------------
@@ -7447,6 +7689,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7466,6 +7709,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 94 ----------
 ---Thread-Announcement------------------------------------------
@@ -7500,6 +7744,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 95 ----------
 ---Thread-Announcement------------------------------------------
@@ -7534,6 +7779,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7553,6 +7799,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 0 .. 98, skip 96 ----------
 ---Thread-Announcement------------------------------------------
@@ -7587,6 +7834,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- short gran, 1 .. 98, skip 97 ----------
 ---Thread-Announcement------------------------------------------
@@ -7621,6 +7869,7 @@
  Address 0x........ is 97 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7640,6 +7889,7 @@
  Address 0x........ is 98 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 
 ==========================================================
@@ -7679,6 +7929,7 @@
  Address 0x........ is 0 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 1 ----------
 ---Thread-Announcement------------------------------------------
@@ -7713,6 +7964,7 @@
  Address 0x........ is 1 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7732,6 +7984,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7751,6 +8004,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7770,6 +8024,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 2 ----------
 ---Thread-Announcement------------------------------------------
@@ -7804,6 +8059,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7823,6 +8079,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 3 ----------
 ---Thread-Announcement------------------------------------------
@@ -7857,6 +8114,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7876,6 +8134,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7895,6 +8154,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -7914,6 +8174,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 4 ----------
 ---Thread-Announcement------------------------------------------
@@ -7948,6 +8209,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 5 ----------
 ---Thread-Announcement------------------------------------------
@@ -7982,6 +8244,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8001,6 +8264,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8020,6 +8284,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8039,6 +8304,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 6 ----------
 ---Thread-Announcement------------------------------------------
@@ -8073,6 +8339,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8092,6 +8359,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 7 ----------
 ---Thread-Announcement------------------------------------------
@@ -8126,6 +8394,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8145,6 +8414,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8164,6 +8434,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8183,6 +8454,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 8 ----------
 ---Thread-Announcement------------------------------------------
@@ -8217,6 +8489,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 9 ----------
 ---Thread-Announcement------------------------------------------
@@ -8251,6 +8524,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8270,6 +8544,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8289,6 +8564,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8308,6 +8584,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 10 ----------
 ---Thread-Announcement------------------------------------------
@@ -8342,6 +8619,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8361,6 +8639,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 11 ----------
 ---Thread-Announcement------------------------------------------
@@ -8395,6 +8674,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8414,6 +8694,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8433,6 +8714,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8452,6 +8734,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 12 ----------
 ---Thread-Announcement------------------------------------------
@@ -8486,6 +8769,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 13 ----------
 ---Thread-Announcement------------------------------------------
@@ -8520,6 +8804,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8539,6 +8824,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8558,6 +8844,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8577,6 +8864,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 14 ----------
 ---Thread-Announcement------------------------------------------
@@ -8611,6 +8899,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8630,6 +8919,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 15 ----------
 ---Thread-Announcement------------------------------------------
@@ -8664,6 +8954,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8683,6 +8974,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8702,6 +8994,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8721,6 +9014,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 16 ----------
 ---Thread-Announcement------------------------------------------
@@ -8755,6 +9049,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 17 ----------
 ---Thread-Announcement------------------------------------------
@@ -8789,6 +9084,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8808,6 +9104,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8827,6 +9124,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8846,6 +9144,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 18 ----------
 ---Thread-Announcement------------------------------------------
@@ -8880,6 +9179,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8899,6 +9199,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 19 ----------
 ---Thread-Announcement------------------------------------------
@@ -8933,6 +9234,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8952,6 +9254,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8971,6 +9274,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -8990,6 +9294,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 20 ----------
 ---Thread-Announcement------------------------------------------
@@ -9024,6 +9329,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 21 ----------
 ---Thread-Announcement------------------------------------------
@@ -9058,6 +9364,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9077,6 +9384,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9096,6 +9404,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9115,6 +9424,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 22 ----------
 ---Thread-Announcement------------------------------------------
@@ -9149,6 +9459,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9168,6 +9479,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 23 ----------
 ---Thread-Announcement------------------------------------------
@@ -9202,6 +9514,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9221,6 +9534,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9240,6 +9554,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9259,6 +9574,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 24 ----------
 ---Thread-Announcement------------------------------------------
@@ -9293,6 +9609,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 25 ----------
 ---Thread-Announcement------------------------------------------
@@ -9327,6 +9644,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9346,6 +9664,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9365,6 +9684,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9384,6 +9704,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 26 ----------
 ---Thread-Announcement------------------------------------------
@@ -9418,6 +9739,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9437,6 +9759,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 27 ----------
 ---Thread-Announcement------------------------------------------
@@ -9471,6 +9794,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9490,6 +9814,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9509,6 +9834,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9528,6 +9854,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 28 ----------
 ---Thread-Announcement------------------------------------------
@@ -9562,6 +9889,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 29 ----------
 ---Thread-Announcement------------------------------------------
@@ -9596,6 +9924,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9615,6 +9944,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9634,6 +9964,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9653,6 +9984,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 30 ----------
 ---Thread-Announcement------------------------------------------
@@ -9687,6 +10019,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9706,6 +10039,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 31 ----------
 ---Thread-Announcement------------------------------------------
@@ -9740,6 +10074,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9759,6 +10094,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9778,6 +10114,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9797,6 +10134,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 32 ----------
 ---Thread-Announcement------------------------------------------
@@ -9831,6 +10169,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 33 ----------
 ---Thread-Announcement------------------------------------------
@@ -9865,6 +10204,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9884,6 +10224,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9903,6 +10244,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9922,6 +10264,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 34 ----------
 ---Thread-Announcement------------------------------------------
@@ -9956,6 +10299,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -9975,6 +10319,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 35 ----------
 ---Thread-Announcement------------------------------------------
@@ -10009,6 +10354,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10028,6 +10374,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10047,6 +10394,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10066,6 +10414,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 36 ----------
 ---Thread-Announcement------------------------------------------
@@ -10100,6 +10449,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 37 ----------
 ---Thread-Announcement------------------------------------------
@@ -10134,6 +10484,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10153,6 +10504,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10172,6 +10524,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10191,6 +10544,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 38 ----------
 ---Thread-Announcement------------------------------------------
@@ -10225,6 +10579,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10244,6 +10599,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 39 ----------
 ---Thread-Announcement------------------------------------------
@@ -10278,6 +10634,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10297,6 +10654,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10316,6 +10674,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10335,6 +10694,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 40 ----------
 ---Thread-Announcement------------------------------------------
@@ -10369,6 +10729,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 41 ----------
 ---Thread-Announcement------------------------------------------
@@ -10403,6 +10764,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10422,6 +10784,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10441,6 +10804,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10460,6 +10824,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 42 ----------
 ---Thread-Announcement------------------------------------------
@@ -10494,6 +10859,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10513,6 +10879,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 43 ----------
 ---Thread-Announcement------------------------------------------
@@ -10547,6 +10914,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10566,6 +10934,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10585,6 +10954,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10604,6 +10974,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 44 ----------
 ---Thread-Announcement------------------------------------------
@@ -10638,6 +11009,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 45 ----------
 ---Thread-Announcement------------------------------------------
@@ -10672,6 +11044,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10691,6 +11064,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10710,6 +11084,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10729,6 +11104,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 46 ----------
 ---Thread-Announcement------------------------------------------
@@ -10763,6 +11139,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10782,6 +11159,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 47 ----------
 ---Thread-Announcement------------------------------------------
@@ -10816,6 +11194,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10835,6 +11214,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10854,6 +11234,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10873,6 +11254,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 48 ----------
 ---Thread-Announcement------------------------------------------
@@ -10907,6 +11289,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 49 ----------
 ---Thread-Announcement------------------------------------------
@@ -10941,6 +11324,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10960,6 +11344,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10979,6 +11364,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -10998,6 +11384,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 50 ----------
 ---Thread-Announcement------------------------------------------
@@ -11032,6 +11419,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11051,6 +11439,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 51 ----------
 ---Thread-Announcement------------------------------------------
@@ -11085,6 +11474,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11104,6 +11494,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11123,6 +11514,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11142,6 +11534,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 52 ----------
 ---Thread-Announcement------------------------------------------
@@ -11176,6 +11569,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 53 ----------
 ---Thread-Announcement------------------------------------------
@@ -11210,6 +11604,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11229,6 +11624,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11248,6 +11644,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11267,6 +11664,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 54 ----------
 ---Thread-Announcement------------------------------------------
@@ -11301,6 +11699,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11320,6 +11719,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 55 ----------
 ---Thread-Announcement------------------------------------------
@@ -11354,6 +11754,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11373,6 +11774,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11392,6 +11794,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11411,6 +11814,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 56 ----------
 ---Thread-Announcement------------------------------------------
@@ -11445,6 +11849,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 57 ----------
 ---Thread-Announcement------------------------------------------
@@ -11479,6 +11884,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11498,6 +11904,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11517,6 +11924,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11536,6 +11944,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 58 ----------
 ---Thread-Announcement------------------------------------------
@@ -11570,6 +11979,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11589,6 +11999,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 59 ----------
 ---Thread-Announcement------------------------------------------
@@ -11623,6 +12034,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11642,6 +12054,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11661,6 +12074,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11680,6 +12094,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 60 ----------
 ---Thread-Announcement------------------------------------------
@@ -11714,6 +12129,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 61 ----------
 ---Thread-Announcement------------------------------------------
@@ -11748,6 +12164,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11767,6 +12184,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11786,6 +12204,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11805,6 +12224,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 62 ----------
 ---Thread-Announcement------------------------------------------
@@ -11839,6 +12259,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11858,6 +12279,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 63 ----------
 ---Thread-Announcement------------------------------------------
@@ -11892,6 +12314,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11911,6 +12334,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11930,6 +12354,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -11949,6 +12374,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 64 ----------
 ---Thread-Announcement------------------------------------------
@@ -11983,6 +12409,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 65 ----------
 ---Thread-Announcement------------------------------------------
@@ -12017,6 +12444,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12036,6 +12464,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12055,6 +12484,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12074,6 +12504,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 66 ----------
 ---Thread-Announcement------------------------------------------
@@ -12108,6 +12539,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12127,6 +12559,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 67 ----------
 ---Thread-Announcement------------------------------------------
@@ -12161,6 +12594,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12180,6 +12614,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12199,6 +12634,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12218,6 +12654,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 68 ----------
 ---Thread-Announcement------------------------------------------
@@ -12252,6 +12689,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 69 ----------
 ---Thread-Announcement------------------------------------------
@@ -12286,6 +12724,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12305,6 +12744,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12324,6 +12764,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12343,6 +12784,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 70 ----------
 ---Thread-Announcement------------------------------------------
@@ -12377,6 +12819,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12396,6 +12839,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 71 ----------
 ---Thread-Announcement------------------------------------------
@@ -12430,6 +12874,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12449,6 +12894,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12468,6 +12914,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12487,6 +12934,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 72 ----------
 ---Thread-Announcement------------------------------------------
@@ -12521,6 +12969,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 73 ----------
 ---Thread-Announcement------------------------------------------
@@ -12555,6 +13004,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12574,6 +13024,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12593,6 +13044,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12612,6 +13064,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 74 ----------
 ---Thread-Announcement------------------------------------------
@@ -12646,6 +13099,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12665,6 +13119,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 75 ----------
 ---Thread-Announcement------------------------------------------
@@ -12699,6 +13154,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12718,6 +13174,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12737,6 +13194,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12756,6 +13214,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 76 ----------
 ---Thread-Announcement------------------------------------------
@@ -12790,6 +13249,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 77 ----------
 ---Thread-Announcement------------------------------------------
@@ -12824,6 +13284,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12843,6 +13304,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12862,6 +13324,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12881,6 +13344,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 78 ----------
 ---Thread-Announcement------------------------------------------
@@ -12915,6 +13379,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12934,6 +13399,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 79 ----------
 ---Thread-Announcement------------------------------------------
@@ -12968,6 +13434,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -12987,6 +13454,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13006,6 +13474,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13025,6 +13494,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 80 ----------
 ---Thread-Announcement------------------------------------------
@@ -13059,6 +13529,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 81 ----------
 ---Thread-Announcement------------------------------------------
@@ -13093,6 +13564,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13112,6 +13584,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13131,6 +13604,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13150,6 +13624,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 82 ----------
 ---Thread-Announcement------------------------------------------
@@ -13184,6 +13659,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13203,6 +13679,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 83 ----------
 ---Thread-Announcement------------------------------------------
@@ -13237,6 +13714,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13256,6 +13734,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13275,6 +13754,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13294,6 +13774,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 84 ----------
 ---Thread-Announcement------------------------------------------
@@ -13328,6 +13809,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 85 ----------
 ---Thread-Announcement------------------------------------------
@@ -13362,6 +13844,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13381,6 +13864,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13400,6 +13884,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13419,6 +13904,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 86 ----------
 ---Thread-Announcement------------------------------------------
@@ -13453,6 +13939,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13472,6 +13959,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 87 ----------
 ---Thread-Announcement------------------------------------------
@@ -13506,6 +13994,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13525,6 +14014,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13544,6 +14034,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13563,6 +14054,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 88 ----------
 ---Thread-Announcement------------------------------------------
@@ -13597,6 +14089,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 89 ----------
 ---Thread-Announcement------------------------------------------
@@ -13631,6 +14124,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13650,6 +14144,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13669,6 +14164,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13688,6 +14184,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 90 ----------
 ---Thread-Announcement------------------------------------------
@@ -13722,6 +14219,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13741,6 +14239,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 91 ----------
 ---Thread-Announcement------------------------------------------
@@ -13775,6 +14274,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13794,6 +14294,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13813,6 +14314,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13832,6 +14334,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 0 .. 96, skip 92 ----------
 ---Thread-Announcement------------------------------------------
@@ -13866,6 +14369,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 1 .. 96, skip 93 ----------
 ---Thread-Announcement------------------------------------------
@@ -13900,6 +14404,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13919,6 +14424,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13938,6 +14444,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -13957,6 +14464,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 2 .. 96, skip 94 ----------
 ---Thread-Announcement------------------------------------------
@@ -13991,6 +14499,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14010,6 +14519,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- int gran, 3 .. 96, skip 95 ----------
 ---Thread-Announcement------------------------------------------
@@ -14044,6 +14554,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14063,6 +14574,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14082,6 +14594,7 @@
  Address 0x........ is 97 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14101,6 +14614,7 @@
  Address 0x........ is 98 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 
 ==========================================================
@@ -14140,6 +14654,7 @@
  Address 0x........ is 0 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 1 ----------
 ---Thread-Announcement------------------------------------------
@@ -14174,6 +14689,7 @@
  Address 0x........ is 1 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14193,6 +14709,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14212,6 +14729,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14231,6 +14749,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14250,6 +14769,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14269,6 +14789,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14288,6 +14809,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14307,6 +14829,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 2 ----------
 ---Thread-Announcement------------------------------------------
@@ -14341,6 +14864,7 @@
  Address 0x........ is 2 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14360,6 +14884,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14379,6 +14904,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14398,6 +14924,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 3 ----------
 ---Thread-Announcement------------------------------------------
@@ -14432,6 +14959,7 @@
  Address 0x........ is 3 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14451,6 +14979,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14470,6 +14999,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14489,6 +15019,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14508,6 +15039,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14527,6 +15059,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14546,6 +15079,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14565,6 +15099,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 4 ----------
 ---Thread-Announcement------------------------------------------
@@ -14599,6 +15134,7 @@
  Address 0x........ is 4 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14618,6 +15154,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 5 ----------
 ---Thread-Announcement------------------------------------------
@@ -14652,6 +15189,7 @@
  Address 0x........ is 5 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14671,6 +15209,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14690,6 +15229,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14709,6 +15249,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14728,6 +15269,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14747,6 +15289,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14766,6 +15309,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14785,6 +15329,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 6 ----------
 ---Thread-Announcement------------------------------------------
@@ -14819,6 +15364,7 @@
  Address 0x........ is 6 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14838,6 +15384,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14857,6 +15404,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14876,6 +15424,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 7 ----------
 ---Thread-Announcement------------------------------------------
@@ -14910,6 +15459,7 @@
  Address 0x........ is 7 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14929,6 +15479,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14948,6 +15499,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14967,6 +15519,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -14986,6 +15539,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15005,6 +15559,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15024,6 +15579,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15043,6 +15599,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 8 ----------
 ---Thread-Announcement------------------------------------------
@@ -15077,6 +15634,7 @@
  Address 0x........ is 8 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 9 ----------
 ---Thread-Announcement------------------------------------------
@@ -15111,6 +15669,7 @@
  Address 0x........ is 9 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15130,6 +15689,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15149,6 +15709,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15168,6 +15729,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15187,6 +15749,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15206,6 +15769,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15225,6 +15789,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15244,6 +15809,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 10 ----------
 ---Thread-Announcement------------------------------------------
@@ -15278,6 +15844,7 @@
  Address 0x........ is 10 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15297,6 +15864,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15316,6 +15884,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15335,6 +15904,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 11 ----------
 ---Thread-Announcement------------------------------------------
@@ -15369,6 +15939,7 @@
  Address 0x........ is 11 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15388,6 +15959,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15407,6 +15979,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15426,6 +15999,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15445,6 +16019,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15464,6 +16039,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15483,6 +16059,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15502,6 +16079,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 12 ----------
 ---Thread-Announcement------------------------------------------
@@ -15536,6 +16114,7 @@
  Address 0x........ is 12 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15555,6 +16134,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 13 ----------
 ---Thread-Announcement------------------------------------------
@@ -15589,6 +16169,7 @@
  Address 0x........ is 13 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15608,6 +16189,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15627,6 +16209,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15646,6 +16229,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15665,6 +16249,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15684,6 +16269,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15703,6 +16289,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15722,6 +16309,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 14 ----------
 ---Thread-Announcement------------------------------------------
@@ -15756,6 +16344,7 @@
  Address 0x........ is 14 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15775,6 +16364,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15794,6 +16384,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15813,6 +16404,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 15 ----------
 ---Thread-Announcement------------------------------------------
@@ -15847,6 +16439,7 @@
  Address 0x........ is 15 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15866,6 +16459,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15885,6 +16479,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15904,6 +16499,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15923,6 +16519,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15942,6 +16539,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15961,6 +16559,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -15980,6 +16579,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 16 ----------
 ---Thread-Announcement------------------------------------------
@@ -16014,6 +16614,7 @@
  Address 0x........ is 16 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 17 ----------
 ---Thread-Announcement------------------------------------------
@@ -16048,6 +16649,7 @@
  Address 0x........ is 17 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16067,6 +16669,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16086,6 +16689,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16105,6 +16709,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16124,6 +16729,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16143,6 +16749,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16162,6 +16769,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16181,6 +16789,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 18 ----------
 ---Thread-Announcement------------------------------------------
@@ -16215,6 +16824,7 @@
  Address 0x........ is 18 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16234,6 +16844,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16253,6 +16864,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16272,6 +16884,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 19 ----------
 ---Thread-Announcement------------------------------------------
@@ -16306,6 +16919,7 @@
  Address 0x........ is 19 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16325,6 +16939,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16344,6 +16959,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16363,6 +16979,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16382,6 +16999,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16401,6 +17019,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16420,6 +17039,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16439,6 +17059,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 20 ----------
 ---Thread-Announcement------------------------------------------
@@ -16473,6 +17094,7 @@
  Address 0x........ is 20 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16492,6 +17114,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 21 ----------
 ---Thread-Announcement------------------------------------------
@@ -16526,6 +17149,7 @@
  Address 0x........ is 21 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16545,6 +17169,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16564,6 +17189,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16583,6 +17209,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16602,6 +17229,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16621,6 +17249,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16640,6 +17269,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16659,6 +17289,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 22 ----------
 ---Thread-Announcement------------------------------------------
@@ -16693,6 +17324,7 @@
  Address 0x........ is 22 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16712,6 +17344,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16731,6 +17364,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16750,6 +17384,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 23 ----------
 ---Thread-Announcement------------------------------------------
@@ -16784,6 +17419,7 @@
  Address 0x........ is 23 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16803,6 +17439,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16822,6 +17459,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16841,6 +17479,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16860,6 +17499,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16879,6 +17519,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16898,6 +17539,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -16917,6 +17559,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 24 ----------
 ---Thread-Announcement------------------------------------------
@@ -16951,6 +17594,7 @@
  Address 0x........ is 24 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 25 ----------
 ---Thread-Announcement------------------------------------------
@@ -16985,6 +17629,7 @@
  Address 0x........ is 25 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17004,6 +17649,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17023,6 +17669,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17042,6 +17689,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17061,6 +17709,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17080,6 +17729,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17099,6 +17749,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17118,6 +17769,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 26 ----------
 ---Thread-Announcement------------------------------------------
@@ -17152,6 +17804,7 @@
  Address 0x........ is 26 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17171,6 +17824,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17190,6 +17844,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17209,6 +17864,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 27 ----------
 ---Thread-Announcement------------------------------------------
@@ -17243,6 +17899,7 @@
  Address 0x........ is 27 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17262,6 +17919,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17281,6 +17939,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17300,6 +17959,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17319,6 +17979,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17338,6 +17999,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17357,6 +18019,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17376,6 +18039,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 28 ----------
 ---Thread-Announcement------------------------------------------
@@ -17410,6 +18074,7 @@
  Address 0x........ is 28 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17429,6 +18094,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 29 ----------
 ---Thread-Announcement------------------------------------------
@@ -17463,6 +18129,7 @@
  Address 0x........ is 29 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17482,6 +18149,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17501,6 +18169,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17520,6 +18189,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17539,6 +18209,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17558,6 +18229,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17577,6 +18249,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17596,6 +18269,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 30 ----------
 ---Thread-Announcement------------------------------------------
@@ -17630,6 +18304,7 @@
  Address 0x........ is 30 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17649,6 +18324,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17668,6 +18344,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17687,6 +18364,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 31 ----------
 ---Thread-Announcement------------------------------------------
@@ -17721,6 +18399,7 @@
  Address 0x........ is 31 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17740,6 +18419,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17759,6 +18439,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17778,6 +18459,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17797,6 +18479,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17816,6 +18499,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17835,6 +18519,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17854,6 +18539,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 32 ----------
 ---Thread-Announcement------------------------------------------
@@ -17888,6 +18574,7 @@
  Address 0x........ is 32 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 33 ----------
 ---Thread-Announcement------------------------------------------
@@ -17922,6 +18609,7 @@
  Address 0x........ is 33 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17941,6 +18629,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17960,6 +18649,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17979,6 +18669,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -17998,6 +18689,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18017,6 +18709,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18036,6 +18729,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18055,6 +18749,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 34 ----------
 ---Thread-Announcement------------------------------------------
@@ -18089,6 +18784,7 @@
  Address 0x........ is 34 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18108,6 +18804,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18127,6 +18824,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18146,6 +18844,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 35 ----------
 ---Thread-Announcement------------------------------------------
@@ -18180,6 +18879,7 @@
  Address 0x........ is 35 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18199,6 +18899,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18218,6 +18919,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18237,6 +18939,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18256,6 +18959,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18275,6 +18979,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18294,6 +18999,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18313,6 +19019,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 36 ----------
 ---Thread-Announcement------------------------------------------
@@ -18347,6 +19054,7 @@
  Address 0x........ is 36 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18366,6 +19074,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 37 ----------
 ---Thread-Announcement------------------------------------------
@@ -18400,6 +19109,7 @@
  Address 0x........ is 37 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18419,6 +19129,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18438,6 +19149,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18457,6 +19169,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18476,6 +19189,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18495,6 +19209,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18514,6 +19229,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18533,6 +19249,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 38 ----------
 ---Thread-Announcement------------------------------------------
@@ -18567,6 +19284,7 @@
  Address 0x........ is 38 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18586,6 +19304,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18605,6 +19324,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18624,6 +19344,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 39 ----------
 ---Thread-Announcement------------------------------------------
@@ -18658,6 +19379,7 @@
  Address 0x........ is 39 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18677,6 +19399,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18696,6 +19419,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18715,6 +19439,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18734,6 +19459,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18753,6 +19479,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18772,6 +19499,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18791,6 +19519,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 40 ----------
 ---Thread-Announcement------------------------------------------
@@ -18825,6 +19554,7 @@
  Address 0x........ is 40 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 41 ----------
 ---Thread-Announcement------------------------------------------
@@ -18859,6 +19589,7 @@
  Address 0x........ is 41 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18878,6 +19609,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18897,6 +19629,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18916,6 +19649,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18935,6 +19669,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18954,6 +19689,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18973,6 +19709,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -18992,6 +19729,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 42 ----------
 ---Thread-Announcement------------------------------------------
@@ -19026,6 +19764,7 @@
  Address 0x........ is 42 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19045,6 +19784,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19064,6 +19804,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19083,6 +19824,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 43 ----------
 ---Thread-Announcement------------------------------------------
@@ -19117,6 +19859,7 @@
  Address 0x........ is 43 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19136,6 +19879,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19155,6 +19899,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19174,6 +19919,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19193,6 +19939,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19212,6 +19959,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19231,6 +19979,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19250,6 +19999,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 44 ----------
 ---Thread-Announcement------------------------------------------
@@ -19284,6 +20034,7 @@
  Address 0x........ is 44 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19303,6 +20054,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 45 ----------
 ---Thread-Announcement------------------------------------------
@@ -19337,6 +20089,7 @@
  Address 0x........ is 45 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19356,6 +20109,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19375,6 +20129,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19394,6 +20149,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19413,6 +20169,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19432,6 +20189,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19451,6 +20209,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19470,6 +20229,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 46 ----------
 ---Thread-Announcement------------------------------------------
@@ -19504,6 +20264,7 @@
  Address 0x........ is 46 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19523,6 +20284,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19542,6 +20304,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19561,6 +20324,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 47 ----------
 ---Thread-Announcement------------------------------------------
@@ -19595,6 +20359,7 @@
  Address 0x........ is 47 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19614,6 +20379,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19633,6 +20399,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19652,6 +20419,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19671,6 +20439,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19690,6 +20459,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19709,6 +20479,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19728,6 +20499,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 48 ----------
 ---Thread-Announcement------------------------------------------
@@ -19762,6 +20534,7 @@
  Address 0x........ is 48 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 49 ----------
 ---Thread-Announcement------------------------------------------
@@ -19796,6 +20569,7 @@
  Address 0x........ is 49 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19815,6 +20589,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19834,6 +20609,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19853,6 +20629,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19872,6 +20649,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19891,6 +20669,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19910,6 +20689,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19929,6 +20709,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 50 ----------
 ---Thread-Announcement------------------------------------------
@@ -19963,6 +20744,7 @@
  Address 0x........ is 50 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -19982,6 +20764,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20001,6 +20784,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20020,6 +20804,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 51 ----------
 ---Thread-Announcement------------------------------------------
@@ -20054,6 +20839,7 @@
  Address 0x........ is 51 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20073,6 +20859,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20092,6 +20879,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20111,6 +20899,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20130,6 +20919,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20149,6 +20939,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20168,6 +20959,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20187,6 +20979,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 52 ----------
 ---Thread-Announcement------------------------------------------
@@ -20221,6 +21014,7 @@
  Address 0x........ is 52 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20240,6 +21034,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 53 ----------
 ---Thread-Announcement------------------------------------------
@@ -20274,6 +21069,7 @@
  Address 0x........ is 53 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20293,6 +21089,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20312,6 +21109,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20331,6 +21129,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20350,6 +21149,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20369,6 +21169,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20388,6 +21189,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20407,6 +21209,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 54 ----------
 ---Thread-Announcement------------------------------------------
@@ -20441,6 +21244,7 @@
  Address 0x........ is 54 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20460,6 +21264,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20479,6 +21284,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20498,6 +21304,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 55 ----------
 ---Thread-Announcement------------------------------------------
@@ -20532,6 +21339,7 @@
  Address 0x........ is 55 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20551,6 +21359,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20570,6 +21379,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20589,6 +21399,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20608,6 +21419,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20627,6 +21439,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20646,6 +21459,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20665,6 +21479,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 56 ----------
 ---Thread-Announcement------------------------------------------
@@ -20699,6 +21514,7 @@
  Address 0x........ is 56 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 57 ----------
 ---Thread-Announcement------------------------------------------
@@ -20733,6 +21549,7 @@
  Address 0x........ is 57 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20752,6 +21569,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20771,6 +21589,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20790,6 +21609,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20809,6 +21629,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20828,6 +21649,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20847,6 +21669,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20866,6 +21689,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 58 ----------
 ---Thread-Announcement------------------------------------------
@@ -20900,6 +21724,7 @@
  Address 0x........ is 58 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20919,6 +21744,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20938,6 +21764,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -20957,6 +21784,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 59 ----------
 ---Thread-Announcement------------------------------------------
@@ -20991,6 +21819,7 @@
  Address 0x........ is 59 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21010,6 +21839,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21029,6 +21859,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21048,6 +21879,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21067,6 +21899,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21086,6 +21919,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21105,6 +21939,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21124,6 +21959,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 60 ----------
 ---Thread-Announcement------------------------------------------
@@ -21158,6 +21994,7 @@
  Address 0x........ is 60 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21177,6 +22014,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 61 ----------
 ---Thread-Announcement------------------------------------------
@@ -21211,6 +22049,7 @@
  Address 0x........ is 61 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21230,6 +22069,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21249,6 +22089,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21268,6 +22109,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21287,6 +22129,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21306,6 +22149,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21325,6 +22169,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21344,6 +22189,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 62 ----------
 ---Thread-Announcement------------------------------------------
@@ -21378,6 +22224,7 @@
  Address 0x........ is 62 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21397,6 +22244,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21416,6 +22264,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21435,6 +22284,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 63 ----------
 ---Thread-Announcement------------------------------------------
@@ -21469,6 +22319,7 @@
  Address 0x........ is 63 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21488,6 +22339,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21507,6 +22359,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21526,6 +22379,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21545,6 +22399,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21564,6 +22419,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21583,6 +22439,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21602,6 +22459,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 64 ----------
 ---Thread-Announcement------------------------------------------
@@ -21636,6 +22494,7 @@
  Address 0x........ is 64 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 65 ----------
 ---Thread-Announcement------------------------------------------
@@ -21670,6 +22529,7 @@
  Address 0x........ is 65 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21689,6 +22549,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21708,6 +22569,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21727,6 +22589,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21746,6 +22609,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21765,6 +22629,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21784,6 +22649,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21803,6 +22669,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 66 ----------
 ---Thread-Announcement------------------------------------------
@@ -21837,6 +22704,7 @@
  Address 0x........ is 66 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21856,6 +22724,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21875,6 +22744,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21894,6 +22764,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 67 ----------
 ---Thread-Announcement------------------------------------------
@@ -21928,6 +22799,7 @@
  Address 0x........ is 67 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21947,6 +22819,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21966,6 +22839,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -21985,6 +22859,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22004,6 +22879,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22023,6 +22899,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22042,6 +22919,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22061,6 +22939,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 68 ----------
 ---Thread-Announcement------------------------------------------
@@ -22095,6 +22974,7 @@
  Address 0x........ is 68 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22114,6 +22994,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 69 ----------
 ---Thread-Announcement------------------------------------------
@@ -22148,6 +23029,7 @@
  Address 0x........ is 69 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22167,6 +23049,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22186,6 +23069,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22205,6 +23089,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22224,6 +23109,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22243,6 +23129,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22262,6 +23149,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22281,6 +23169,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 70 ----------
 ---Thread-Announcement------------------------------------------
@@ -22315,6 +23204,7 @@
  Address 0x........ is 70 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22334,6 +23224,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22353,6 +23244,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22372,6 +23264,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 71 ----------
 ---Thread-Announcement------------------------------------------
@@ -22406,6 +23299,7 @@
  Address 0x........ is 71 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22425,6 +23319,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22444,6 +23339,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22463,6 +23359,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22482,6 +23379,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22501,6 +23399,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22520,6 +23419,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22539,6 +23439,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 72 ----------
 ---Thread-Announcement------------------------------------------
@@ -22573,6 +23474,7 @@
  Address 0x........ is 72 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 73 ----------
 ---Thread-Announcement------------------------------------------
@@ -22607,6 +23509,7 @@
  Address 0x........ is 73 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22626,6 +23529,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22645,6 +23549,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22664,6 +23569,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22683,6 +23589,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22702,6 +23609,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22721,6 +23629,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22740,6 +23649,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 74 ----------
 ---Thread-Announcement------------------------------------------
@@ -22774,6 +23684,7 @@
  Address 0x........ is 74 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22793,6 +23704,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22812,6 +23724,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22831,6 +23744,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 75 ----------
 ---Thread-Announcement------------------------------------------
@@ -22865,6 +23779,7 @@
  Address 0x........ is 75 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22884,6 +23799,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22903,6 +23819,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22922,6 +23839,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22941,6 +23859,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22960,6 +23879,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22979,6 +23899,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -22998,6 +23919,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 76 ----------
 ---Thread-Announcement------------------------------------------
@@ -23032,6 +23954,7 @@
  Address 0x........ is 76 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23051,6 +23974,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 77 ----------
 ---Thread-Announcement------------------------------------------
@@ -23085,6 +24009,7 @@
  Address 0x........ is 77 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23104,6 +24029,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23123,6 +24049,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23142,6 +24069,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23161,6 +24089,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23180,6 +24109,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23199,6 +24129,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23218,6 +24149,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 78 ----------
 ---Thread-Announcement------------------------------------------
@@ -23252,6 +24184,7 @@
  Address 0x........ is 78 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23271,6 +24204,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23290,6 +24224,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23309,6 +24244,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 79 ----------
 ---Thread-Announcement------------------------------------------
@@ -23343,6 +24279,7 @@
  Address 0x........ is 79 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23362,6 +24299,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23381,6 +24319,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23400,6 +24339,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23419,6 +24359,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23438,6 +24379,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23457,6 +24399,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23476,6 +24419,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 80 ----------
 ---Thread-Announcement------------------------------------------
@@ -23510,6 +24454,7 @@
  Address 0x........ is 80 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 81 ----------
 ---Thread-Announcement------------------------------------------
@@ -23544,6 +24489,7 @@
  Address 0x........ is 81 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23563,6 +24509,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23582,6 +24529,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23601,6 +24549,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23620,6 +24569,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23639,6 +24589,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23658,6 +24609,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23677,6 +24629,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 82 ----------
 ---Thread-Announcement------------------------------------------
@@ -23711,6 +24664,7 @@
  Address 0x........ is 82 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23730,6 +24684,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23749,6 +24704,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23768,6 +24724,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 83 ----------
 ---Thread-Announcement------------------------------------------
@@ -23802,6 +24759,7 @@
  Address 0x........ is 83 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23821,6 +24779,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23840,6 +24799,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23859,6 +24819,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23878,6 +24839,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23897,6 +24859,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23916,6 +24879,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23935,6 +24899,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 4 .. 92, skip 84 ----------
 ---Thread-Announcement------------------------------------------
@@ -23969,6 +24934,7 @@
  Address 0x........ is 84 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -23988,6 +24954,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 5 .. 92, skip 85 ----------
 ---Thread-Announcement------------------------------------------
@@ -24022,6 +24989,7 @@
  Address 0x........ is 85 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24041,6 +25009,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24060,6 +25029,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24079,6 +25049,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24098,6 +25069,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24117,6 +25089,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24136,6 +25109,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24155,6 +25129,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 6 .. 92, skip 86 ----------
 ---Thread-Announcement------------------------------------------
@@ -24189,6 +25164,7 @@
  Address 0x........ is 86 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24208,6 +25184,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24227,6 +25204,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24246,6 +25224,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 7 .. 92, skip 87 ----------
 ---Thread-Announcement------------------------------------------
@@ -24280,6 +25259,7 @@
  Address 0x........ is 87 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24299,6 +25279,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24318,6 +25299,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24337,6 +25319,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24356,6 +25339,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24375,6 +25359,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24394,6 +25379,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24413,6 +25399,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 0 .. 92, skip 88 ----------
 ---Thread-Announcement------------------------------------------
@@ -24447,6 +25434,7 @@
  Address 0x........ is 88 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 1 .. 92, skip 89 ----------
 ---Thread-Announcement------------------------------------------
@@ -24481,6 +25469,7 @@
  Address 0x........ is 89 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24500,6 +25489,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24519,6 +25509,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24538,6 +25529,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24557,6 +25549,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24576,6 +25569,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24595,6 +25589,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24614,6 +25609,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 2 .. 92, skip 90 ----------
 ---Thread-Announcement------------------------------------------
@@ -24648,6 +25644,7 @@
  Address 0x........ is 90 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24667,6 +25664,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24686,6 +25684,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24705,6 +25704,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ---------- double gran, 3 .. 92, skip 91 ----------
 ---Thread-Announcement------------------------------------------
@@ -24739,6 +25739,7 @@
  Address 0x........ is 91 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24758,6 +25759,7 @@
  Address 0x........ is 92 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24777,6 +25779,7 @@
  Address 0x........ is 93 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24796,6 +25799,7 @@
  Address 0x........ is 94 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24815,6 +25819,7 @@
  Address 0x........ is 95 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24834,6 +25839,7 @@
  Address 0x........ is 96 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24853,6 +25859,7 @@
  Address 0x........ is 97 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 ----------------------------------------------------------------
 
@@ -24872,6 +25879,7 @@
  Address 0x........ is 98 bytes inside a block of size 100 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: main (tc19_shadowmem.c:144)
+ Block was alloc'd by thread #x
 
 
 ERROR SUMMARY: 1004 errors from 1004 contexts (suppressed: 0 from 0)
diff --git a/include/pub_tool_addrinfo.h b/include/pub_tool_addrinfo.h
index bcfe2fd..a27a064 100644
--- a/include/pub_tool_addrinfo.h
+++ b/include/pub_tool_addrinfo.h
@@ -75,35 +75,65 @@
    }
    AddrTag;
 
+/* Note about ThreadInfo tid and tnr in various parts of _Addrinfo:
+   A tid is an index in the VG_(threads)[] array. The entries
+   in  VG_(threads) array are re-used, so the tid in an 'old' _Addrinfo
+   might be misleading: if the thread that was using tid has been terminated
+   and the tid was re-used by another thread, the tid will very probably
+   be wrongly interpreted by the user.
+   So, such an _Addrinfo should be printed just after it has been produced,
+   before the tid could possibly be re-used by another thread.
+
+   A tool such as helgrind is uniquely/unambiguously identifying each thread
+   by a number. If the tool sets tnr between the call to
+   VG_(describe_addr) and the call to VG_(pp_addrinfo), then VG_(pp_addrinfo)
+   will by preference print tnr instead of tid.
+   Visually, a tid will be printed as   thread %d
+   while a tnr will be printed as       thread #%d
+*/
+
+typedef
+   struct _ThreadInfo {
+      ThreadId tid;   // 0 means thread not known.
+      UInt     tnr;   // 0 means no tool specific thread nr, or not known.
+   } ThreadInfo;
+
+/* Zeroes/clear all the fields of *tinfo. */
+extern void VG_(initThreadInfo) (ThreadInfo *tinfo);
+
 typedef
    struct _AddrInfo
    AddrInfo;
-
+   
 struct _AddrInfo {
    AddrTag tag;
    union {
       // As-yet unclassified.
       struct { } Undescribed;
 
-      // On a stack. tid indicates which thread's stack?
+      // On a stack. tinfo indicates which thread's stack?
       // IP is the address of an instruction of the function where the
       // stack address was. 0 if not found.
       // frameNo is the frame nr of the call where the stack address was.
       // -1 if not found.
       struct {
-         ThreadId tid;
+         ThreadInfo tinfo;
          Addr     IP;
          Int      frameNo;
       } Stack;
 
       // This covers heap blocks (normal and from mempools), user-defined
       // blocks and Arena blocks.
+      // alloc_tinfo identifies the thread that has allocated the block.
+      // This is used by tools such as helgrind that maintain
+      // more detailed informations about client blocks.
       struct {
          BlockKind   block_kind;
          const HChar* block_desc;   // "block","mempool","user-defined",arena
          SizeT       block_szB;
          PtrdiffT    rwoffset;
          ExeContext* allocated_at;  // might be null_ExeContext.
+         ThreadInfo  alloc_tinfo;   // which thread did alloc this block.
          ExeContext* freed_at;      // might be null_ExeContext.
       } Block;
 
diff --git a/memcheck/mc_errors.c b/memcheck/mc_errors.c
index 18e9277..125a564 100644
--- a/memcheck/mc_errors.c
+++ b/memcheck/mc_errors.c
@@ -827,6 +827,7 @@
    ai->Addr.Block.block_szB  = mc->szB;
    ai->Addr.Block.rwoffset   = 0;
    ai->Addr.Block.allocated_at = MC_(allocated_at) (mc);
+   VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
    ai->Addr.Block.freed_at = MC_(freed_at) (mc);
    VG_(maybe_record_error)( tid, Err_FreeMismatch, mc->data, /*s*/NULL,
                             &extra );
@@ -1035,6 +1036,7 @@
          ai->Addr.Block.block_szB  = mc->szB;
          ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
          ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+         VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
          ai->Addr.Block.freed_at = MC_(freed_at)(mc);
          return;
       }
@@ -1048,6 +1050,7 @@
       ai->Addr.Block.block_szB  = mc->szB;
       ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
       ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+      VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
       ai->Addr.Block.freed_at = MC_(freed_at)(mc);
       return;
    }
@@ -1182,6 +1185,7 @@
          ai->Addr.Block.block_szB  = cgbs[i].size;
          ai->Addr.Block.rwoffset   = (Word)(a) - (Word)(cgbs[i].start);
          ai->Addr.Block.allocated_at = cgbs[i].where;
+         VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
          ai->Addr.Block.freed_at = VG_(null_ExeContext)();;
          return True;
       }
@@ -1209,6 +1213,7 @@
                ai->Addr.Block.block_szB  = mc->szB;
                ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
                ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+               VG_(initThreadInfo) (&ai->Addr.Block.alloc_tinfo);
                ai->Addr.Block.freed_at = MC_(freed_at)(mc);
                return True;
             }
diff --git a/memcheck/tests/malloc1_ks_alloc.stderr.exp b/memcheck/tests/malloc1_ks_alloc.stderr.exp
index b55c684..60bb72e 100644
--- a/memcheck/tests/malloc1_ks_alloc.stderr.exp
+++ b/memcheck/tests/malloc1_ks_alloc.stderr.exp
@@ -2,7 +2,7 @@
    ...
  Address 0x........ is 1 bytes inside a block of size 10 free'd
    ...
-  block was alloc'd at
+ Block was alloc'd at
    at 0x........: malloc (vg_replace_malloc.c:...)
    ...
 
diff --git a/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp b/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp
index e65308e..1ad431e 100644
--- a/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp
+++ b/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp
@@ -3,7 +3,7 @@
  Address 0x........ is 1 bytes inside a block of size 10 free'd
    at 0x........: free (vg_replace_malloc.c:...)
    ...
-  block was alloc'd at
+ Block was alloc'd at
    at 0x........: malloc (vg_replace_malloc.c:...)
    ...