Software Archive
Read-only legacy content
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17060 Discussions

Cilk assertion when throwing an exception in cilk worker thread

Daniel_Faken
Beginner
522 Views
Hi,

If I do a simple throw std::runtime_error("test exception") in a function at the bottom of bunch of recursive functions using cilk_for, I get a crash with this error:

.\\sched.c:1189: cilk assertion failed: sf->call_parent == 0

If I attach to the process with Visual Studio before the exception, it will catch it (as "first chance"), but the exception is apparently having trouble being propogated as described in the docs, which say:
If an exception is thrown and not caught in a spawned child, then that exception is rethrown in the parent at the next sync point.

In my case, the exception *should* be caught at a much higher stack frame. Am I doing something wrong?
I see the release note about MS SEH, but this is just standard C++, compiled with /EHsc.

thanks,
Daniel
0 Kudos
3 Replies
Pablo_H_Intel
Employee
522 Views
This is a known bug with cilk_for. We're sorry that you ran into it. We're working on a fix.
-Pablo
0 Kudos
Daniel_Faken
Beginner
522 Views
ok, thank you.
0 Kudos
Brandon_H_Intel
Employee
522 Views
Hi Daniel,

This should be fixed. Our defect database indicates this fix is in update 3, but update 2 seems to fix this as well.
0 Kudos
Reply