All,

My client application is deadlocked while writing to a file with multiple
threads using pwrite(). My setup is:

   - one client node with LD_PRELOAD libofs.so
   - two server nodes running orangefs trunk r12327

Writing with a single thread seems to work fine, but when I use two or more
the client process hangs. Here's what I think the state of the system is

   - one of the client I/O threads is stuck in the pvfs client code waiting
   for test_mutex at client-state-machine.c:812
   - the other I/O thread seems to be waiting for a response from a server
   in epoll_wait()
   - one of the servers is idle
   - the other server is stuck in an infinite loop

Obviously, that second server is the most interesting. It's stuck inside
PINT_request_disp() in the loop

for (r = request->ereq; r; r = r->ereq)
{
disp += r->offset;
}

Somehow, the request structure ended up as a circular list (r == r->ereq).

Thanks,

Nick Mills
Graduate Student
Clemson University
_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to