Cilk assertion when throwing an exception in cilk worker thread

Cilk assertion when throwing an exception in cilk worker thread

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

4 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

This is a known bug with cilk_for. We're sorry that you ran into it. We're working on a fix.
-Pablo

ok, thank you.

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.

Brandon Hewitt
Technical Consulting Engineer

For 1:1 technical support: http://premier.intel.com

Software Product Support info: http://www.intel.com/software/support

Lascia un commento

Eseguire l'accesso per aggiungere un commento. Non siete membri? Iscriviti oggi