I have a task where participant is not able to approve it. It says "this task is currently locked by a running workflow and cannot be edited" .
I have faced this issue my self. When it has happened to me it was caused by a secondary workflow running on the task list.
The Root of the Issue
For instance if you have a secondary workflow (say to set the due dates, or send emails) automatically running on the task list when a task is created, that can cause the locked by another workflow error. Then if you try and complete the task before it unlocks the task it will be locked forever. From my experience even after the workflow running on the task says it is completed, the service the checks and unlocks the task may not have run yet.
You can check that the task is unlocked by going to the workflow history (or the task list associated) of the primary workflow/task, and check if the locked task says "Not Started" or "In Progress" under status. If it is "Not started" that means the task is locked still and you will get that error.
The only real solution I have found has been to no use a secondary workflow, or wait until the task becomes unlocked (which sometimes takes extremely long times depending on how bogged down the task service is).