https://bugs.linaro.org/show_bug.cgi?id=1615

--- Comment #13 from Stuart Haslam <stuart.has...@linaro.org> ---
In my case the tp in the signal handler is a valid timer pool pointer, or at
least it was a short time ago, so it's stale rather than corrupted.

Commenting out the odp_shm_free() in odp_timer_pool_del() makes the crash go
away (but then so does altering the timing in many other ways so it's not
conclusive).

I suspect the problem is that the call to timer_delete() from
odp_timer_pool_del() disarms and deletes the (POSIX) timer, but it's possible a
timer has just expired and the event hasn't been delivered yet. man
timer_delete says this;

"The treatment of any pending signal generated by the deleted timer is
unspecified."

We're delivering via threads rather than signals but I assume the same applies.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to