From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass (mailfrom) smtp.mailfrom=irif.fr (client-ip=2001:660:3301:8000::1:2; helo=korolev.univ-paris7.fr; envelope-from=jch@irif.fr; receiver=) Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) by mail.toke.dk (Postfix) with ESMTPS id C65937E4184; Sun, 14 Feb 2021 17:32:43 +0100 (CET) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 11EGWf9g012322 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 14 Feb 2021 17:32:41 +0100 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 11EGWfd1008959; Sun, 14 Feb 2021 17:32:41 +0100 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id B75F5E62ED; Sun, 14 Feb 2021 17:32:41 +0100 (CET) X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id ZsNNVEHcvjjJ; Sun, 14 Feb 2021 17:32:39 +0100 (CET) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 52CD5E62E7; Sun, 14 Feb 2021 17:32:39 +0100 (CET) Date: Sun, 14 Feb 2021 17:32:39 +0100 Message-ID: <87mtw6k3tk.wl-jch@irif.fr> From: Juliusz Chroboczek To: Toke =?ISO-8859-1?Q?H=F8iland-J=F8rgensen?= In-Reply-To: <87im6zr7hy.fsf@toke.dk> References: <878s85rmzw.wl-jch@irif.fr> <614a0882-8a6a-ff31-b453-cf62fa5742cf@stroeder.com> <87zh0kc0wg.wl-jch@irif.fr> <8dadf3d6-c77f-afff-46f5-a53aa46ae697@stroeder.com> <87im77bnvi.wl-jch@irif.fr> <65e3b1c1-c894-a376-6d43-308866a7d99a@stroeder.com> <51459c89-c740-1a1d-99ed-56ade007e3b9@stroeder.com> <871rdvbinl.wl-jch@irif.fr> <6443804c-2164-590c-4372-852d3842d398@stroeder.com> <87v9b7a1ie.wl-jch@irif.fr> <76c032c1-e1c9-ad96-7781-c545d67f2788@stroeder.com> <87a6sisrnq.wl-jch@irif.fr> <877dnmsqrt.wl-jch@irif.fr> <87im6zr7hy.fsf@toke.dk> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Sun, 14 Feb 2021 17:32:41 +0100 (CET) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Sun, 14 Feb 2021 17:32:41 +0100 (CET) X-Miltered: at korolev with ID 602950A9.002 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 602950A9.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 602950A9.002 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 602950A9.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 602950A9.002 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 602950A9.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Message-ID-Hash: UOEWUNR3IDMMRZXOLW5YPNKSW3PW6REK X-Message-ID-Hash: UOEWUNR3IDMMRZXOLW5YPNKSW3PW6REK X-MailFrom: jch@irif.fr X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: galene@lists.galene.org X-Mailman-Version: 3.3.2 Precedence: list Subject: [Galene] Re: Frozen videos [was: use of closed network connection] List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: > Feb 10 20:25:25 video galene[1251625]: 2021/02/10 20:25:25 Replace: file does not exist > I also have frozen video frame of a user that left stuck in the group > view now (but he's not in the user list). This should be fixed now. We were pushing connections asynchronously, which could cause the push actions to arrive in the wrong order: if a connection was created and then deleted, the deletion could arrive before the creation, in which case the deletion would log a warning (file does not exist) and the creation would succeed, leaving a frozen video. Of course, we cannot just replace asynchronous with synchronous, as that might cause deadlocks. So I've had to implement an explicit queue of pending actions, and make communication between threads use unbounded amounts of buffering. Personal opinion -- I much prefer the semantics of Erlang's mailboxes (which implement unbounded buffering) to that of Go's channels (which use bounded amounts of buffering, and are therefore susceptible to deadlocks). -- Juliusz