Hi Antoine, Thank much for the reply! I did create an GitHub issue yesterday.
#41862 On Wed, May 29, 2024 at 10:24 AM Antoine Pitrou <anto...@python.org> wrote: > > Hi Li! > > Sorry for the delay. > It seems the problem lies here: > > https://github.com/apache/arrow/blob/9f5899019d23b2b1eae2fedb9f6be8827885d843/cpp/src/arrow/filesystem/s3fs.cc#L1858 > > The Future is marked finished with the ObjectOutputStream's mutex taken, > and the Future's callback then triggers a chain of event which leads to > calling the ObjectOutputStream destructor, which in turn tries to take > the lock. > > Can you open a GH issue and we can follow up there? > > Regards > > Antoine. > > > Le 23/05/2024 à 21:23, Li Jin a écrit : > > Hello, > > > > I am seeing a deadlock when destructing an ObjectOutputStream. I have > > attached the stack trace. > > > > I did some debugging and found that the issue seems to be that the mutex > > in question is already held by this thread (I checked the __owner field > > in the pthread_mutex_t which points to the hanging thread) > > > > Unfortunately the stack trace doesn’t show exactly which mutex it is > > trying to lock. I wonder if someone more familiar with the IO code has > > some ideas what might be the issue and where to dig deeper? > > > > Appreciate the help, > > Li > > > > > > >