Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Apr 2018 19:59:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 227285] File descriptor passing does not work reliably on SMP system
Message-ID:  <bug-227285-227-1QFS4DFUWm@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-227285-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-227285-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227285

--- Comment #7 from Jan Kokem=C3=BCller <jan.kokemueller@gmail.com> ---
Created attachment 192515
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D192515&action=
=3Dedit
patch for a GC that detects cycles

I've tried to modify the GC so that it detects cycles in all "in flight"
sockets and only destroys sockets that are in such a cycle. With this patch=
 the
test program doesn't exit anymore.

I wonder if there can be false negatives with a GC that just detects cycles.
DragonFly has some interesting comments[1]. DragonFly still suffers from th=
is
race, though.

It looks like Linux had the same race when they still used a mark & sweep GC
instead of a cycle detecting one. Search for "rewrite AF_UNIX garbage
collector".

The BUGS section in the man page for send(2) looks related to this problem.
This seems to be a long standing issue.


[1]:
https://github.com/DragonFlyBSD/DragonFlyBSD/blob/b9f81f6ad2f9ae32fb3ec268a=
1ea2edac10f373e/sys/kern/uipc_usrreq.c#L72

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227285-227-1QFS4DFUWm>