From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#18527: 24.3; ERC does not reconnect when server disconnects me Date: Mon, 28 Dec 2015 19:23:38 +0100 Message-ID: <87vb7itot1.fsf__40748.8509467386$1451327125$gmane$org@gnus.org> References: <87io3jbp4s.fsf@gnus.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1451327125 20032 80.91.229.3 (28 Dec 2015 18:25:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Dec 2015 18:25:25 +0000 (UTC) Cc: 18527@debbugs.gnu.org, ERC Discussion To: Robert Brown Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 28 19:25:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aDcTp-0004XP-5Q for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Dec 2015 19:25:13 +0100 Original-Received: from localhost ([::1]:45766 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDcTo-0006f0-KM for geb-bug-gnu-emacs@m.gmane.org; Mon, 28 Dec 2015 13:25:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56782) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDcTi-0006bK-Gi for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2015 13:25:07 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aDcTf-0001zO-9X for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2015 13:25:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39064) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aDcTf-0001yt-54 for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2015 13:25:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aDcTe-0006zm-VZ for bug-gnu-emacs@gnu.org; Mon, 28 Dec 2015 13:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 28 Dec 2015 18:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18527 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18527-submit@debbugs.gnu.org id=B18527.145132704426777 (code B ref 18527); Mon, 28 Dec 2015 18:25:02 +0000 Original-Received: (at 18527) by debbugs.gnu.org; 28 Dec 2015 18:24:04 +0000 Original-Received: from localhost ([127.0.0.1]:46658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDcSi-0006xp-Gr for submit@debbugs.gnu.org; Mon, 28 Dec 2015 13:24:04 -0500 Original-Received: from hermes.netfonds.no ([80.91.224.195]:53501) by debbugs.gnu.org with esmtp (Exim 4.84) (envelope-from ) id 1aDcSh-0006xi-9P for 18527@debbugs.gnu.org; Mon, 28 Dec 2015 13:24:03 -0500 Original-Received: from 2.150.58.24.tmi.telenormobil.no ([2.150.58.24] helo=mouse) by hermes.netfonds.no with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1aDcSJ-0003iL-Em; Mon, 28 Dec 2015 19:23:39 +0100 In-Reply-To: (Robert Brown's message of "Mon, 28 Dec 2015 13:18:47 -0500") User-Agent: Gnus/5.130014 (Ma Gnus v0.14) Emacs/25.1.50 (gnu/linux) X-MailScanner-ID: 1aDcSJ-0003iL-Em MailScanner-NULL-Check: 1451931821.68159@5mw3y/katXwk+JBaRxLLmQ X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:110906 Archived-At: Robert Brown writes: > Thanks for getting back to me about this issue. It's been several > months since I reported the reconnection problem. I have been > able to work around it by setting erc-server-error-occurred to nil > in a disconnect hook: > > (add-hook 'erc-disconnected-hook > #'(lambda (nick host-name reason) > ;; Re-establish the connection even if the server closed it. > (setq erc-server-error-occurred nil))) > > So yes, when the root cause of the disconnection is a server error, > erc-server-error-occurred is set to true and the reconnect logic > in erc-server-reconnect-p is bypassed ... so reconnection does not > happen. > > In the example I sent you, I believe the server closed the connection > and erc-server-error-occurred was set to true because of a ping > timeout. > > I would prefer that erc-server-reconnect-p not check > erc-server-error-occurred so that reconnection can happen even > if the cause of the disconnect was a server error. I think that sounds reasonable, but there may be reasons for that logic. I've Cc'd the erc mailing list to see whether they have any comments... This is the function that determines whether to reconnect, and the suggestion is to remove the line about erc-server-error-occurred: (defsubst erc-server-reconnect-p (event) "Return non-nil if ERC should attempt to reconnect automatically. EVENT is the message received from the closed connection process." (or erc-server-reconnecting (and erc-server-auto-reconnect (not erc-server-banned) (not erc-server-error-occurred) ;; make sure we don't infinitely try to reconnect, unless the ;; user wants that (or (eq erc-server-reconnect-attempts t) (and (integerp erc-server-reconnect-attempts) (< erc-server-reconnect-count erc-server-reconnect-attempts))) (or erc-server-timed-out (not (string-match "^deleted" event))) ;; open-network-stream-nowait error for connection refused (if (string-match "^failed with code 111" event) 'nonblocking t)))) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no