mutex `unlock`: cannot be called from trap context