I'm having a process hang on trying to delete a part of a multipart file. There's a lock on the file, but the process trying to do the delete is the one that holds the lock. What could be causing it to hang?
Our product uses a multipart file called MR.WORK. A new part gets created for each process, with a part name consisting of the letter U and the userno, so here it's MR.WORK,U-3. Let's say I'm logged in as foo, and the product is also logged in as foo, running in a phantom.
>PORT.STATUS USER foo
There are currently 2 uniVerse sessions; 1 interactive, 1 phantom
Pid.... User name. Who. Port name..... Last command processed............
23144 foo 2 /dev/pts/2 PORT.STATUS USER foo
Pid.... User name. Who. Last command processed............................
2086 foo -3 DELETE-FILE DATA MR.WORK,U-3
It get there and just hangs forever. Something else has an IN type group lock on the same inode, but I gather that IN is just informational and not really locking.
>LIST.READU EVERY
Active Group Locks: Record Group Group Group
Device.... Inode.... Netnode Userno Lmode G-Address. Locks ...RD ...SH ...EX
2068 21630372 0 2 9 IN 400 1 0 0 0
2068 21502283 0 -1 57 RD 400 0 1 0 0
Active Record Locks:
Device.... Inode.... Netnode Userno Lmode Pid Login Id Item-ID.............
2068 21630372 0 -3 9 RU 2086 foo MR.WORK,U-3
I'm stumped. MR.WORK,U-3 part is not particularly large. I've tried deleting and recreating the file and we'll see if that helps, but I'm not hopeful. Ideas?