Could anybody help me with a tasking problem I am experiencing in ADA?

I have a protected object (PO), and when a single task accesses this PO,
then everything is fine.
As soon as I have more then one task trying to access the PO, the software
hangs as soon as the 2nd task trys to gain access.

What could cause this to happen?
All the tasks have the same priority.

Any advice would be greatly appreciated.