Date: | Thu, 03 Dec 2015 12:14:01 -0600 |
---|---|
From: | Xiaozhu Meng <xmeng@xxxxxxxxxxx> |
Subject: | Re: [DynInst_API:] Abort on Xeon hosted dyninst running through Intel MIC application |
Hi Jim, I believe I happened to fix this bug yesterday. I downloaded your binary and parsing it finished cleanly. I attach my patch and please apply the patch to dataflowAPI/src/slicing.C. Let me know if it works or not. Thanks, --Xiaozhu On Thu, Dec 3, 2015 at 11:25 AM, Jim Galarowicz <jeg@xxxxxxxxxxxxx> wrote:
--- slicing.C 2015-12-02 11:15:11.000000002 -0600 +++ slicing_new.C 2015-12-02 11:15:04.000000002 -0600 @@ -723,6 +723,9 @@ slicing_printf("failed, err: %d\n",err); } break; + case CATCH: + slicing_printf("\t\t Ignore catch edges ... "); + break; default: nf = cand; slicing_printf("\t\t Handling default edge type %d... ", @@ -795,8 +798,14 @@ bool err = false; SliceFrame nf; - SingleContextOrInterproc epred(cand.loc.func, true, true); - + // The curernt function may have an invalid cache status. + // We may have to first finalize this function before + // iteratingover the src edges of the current block. + // Otherwise, the iterator in the for_each loop can get + // invalidated during the loop. + // We force finalizing if necessary + cand.loc.func->num_blocks(); + SingleContextOrInterproc epred(cand.loc.func, true, true); const Block::edgelist & sources = cand.loc.block->sources(); std::for_each(boost::make_filter_iterator(epred, sources.begin(), sources.end()), boost::make_filter_iterator(epred, sources.end(), sources.end()), @@ -809,7 +818,6 @@ boost::ref(err), boost::ref(nf) )); - return !err; } |
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [DynInst_API:] Abort on Xeon hosted dyninst running through Intel MIC application, Jim Galarowicz |
---|---|
Next by Date: | [DynInst_API:] commit: further 9.1 fixes, Bill Williams |
Previous by Thread: | Re: [DynInst_API:] Abort on Xeon hosted dyninst running through Intel MIC application, Jim Galarowicz |
Next by Thread: | [DynInst_API:] anyone using thread index snippets externally?, Bill Williams |
Indexes: | [Date] [Thread] |