[ ssic-linux-Bugs-1378857 ] Wine IPC broken by file delete

"SourceForge.net" <[email protected]>
Newsgroups gmane.linux.cluster.ssic.devel
Message-ID <[email protected]>
Bugs item #1378857, was opened at 2005-12-12 17:47
Message generated for change (Settings changed) made by hughesj
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=405834&aid=1378857&group_id=32541

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Filesystem
Group: v1.9.1
Status: Closed
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: John Hughes (hughesj)
Assigned to: Nobody/Anonymous (nobody)
Summary: Wine IPC broken by file delete

Initial Comment:
On a 1.9.2 (from CVS) kernel, Debian sid (unstable)

Wine crashes with the bizarre error:

Protocol error: process 0x8082cf0: sendmsg: No such
file or directory

On the console I see:

reop_export_path: Can't export unlinked file
/cluster/node5/tmp/.wine-john/server-812-5dcd2/anonmap.Q0XgZn
(deleted)

strace of the wine session shows:

331200 bind(5, {sa_family=AF_FILE, path="socket"}, 9) = 0
331197 recvmsg(3,  <unfinished ...>
331200 sendmsg(15, {msg_name(0)=NULL,
msg_iov(1)=[{"\0\0\0\0", 4}], msg_controllen=16,
msg_control=0x807d298, , msg_flags=0}, 0) = 4
331197 <... recvmsg resumed> {msg_name(0)=NULL,
msg_iov(1)=[{"\0\0\0\0", 4}], msg_controllen=16,
msg_control=0xbfffd4f4, , msg_flags=0}, 0) = 4
[...]
331197 recvmsg(3, {msg_name(0)=NULL,
msg_iov(1)=[{"\24\0\0\0", 4}], msg_controllen=16,
msg_control=0xbfffbee0, , msg_flags=0}, 0) = 4
331200 open("anonmap.Q0XgZn",
O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0600) = 22
331200 unlink("anonmap.Q0XgZn")         = 0
331200 sendmsg(15, {msg_name(0)=NULL,
msg_iov(1)=[{"\24\0\0\0", 4}], msg_controllen=16,
msg_control=0x807d298, , msg_flags=0}, 0) = -1 ENOENT
(No such file or directory)

So the two processes are happily chatting away with
sendmsg and recvmesg until one of them creates and
deletes a file at which point the system seems to think
that the socket has gone away and sendmesg gets an
ENOENT (which is not even a documented error for sendmesg).



----------------------------------------------------------------------

Comment By: John Hughes (hughesj)
Date: 2007-02-16 10:55

Message:
Logged In: YES 
user_id=166336
Originator: YES

Fixed by Roger some time ago.

----------------------------------------------------------------------

Comment By: Nobody/Anonymous (nobody)
Date: 2006-01-26 06:15

Message:
Logged In: NO 

This problem seems to be fixed since 12/24/2005.  Not
getting the errors anymore while using Wine.

----------------------------------------------------------------------

Comment By: Niklas (nkolster)
Date: 2005-12-15 13:46

Message:
Logged In: YES 
user_id=1390928

Hi,

decided to test the suggested improvements in this thread:
http://sourceforge.net/mailarchive/forum.php?thread_id=9216174&forum_id=791
ie. removing the #ifdef SKIP and recompiling the kernel, it
didnt help at least for my application. If i try to migrate
it, i still get:
reop_export_path: cant export unlinked file.

Still trying to experiment with some things.

br,
niklas

----------------------------------------------------------------------

Comment By: John Hughes (hughesj)
Date: 2005-12-14 11:49

Message:
Logged In: YES 
user_id=166336

So, this is almost certainly bug #1201723, i.e. wine has
opened a file, unlinked it and is now using sendmsg to send
the fd to another process.

(In this particular case the other process happens to be on
the same node, but maybe cfs doesn't know that).


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=405834&aid=1378857&group_id=32541

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.