| 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] |