From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ken Raeburn Newsgroups: gmane.emacs.bugs Subject: bug#25247: 26.0.50; Concurrency crashes Date: Fri, 23 Dec 2016 04:34:12 -0500 Message-ID: <80CB3488-9553-4745-82E6-A983B1608E13@raeburn.org> References: <87bmw4w9i2.fsf@gmail.com> <83a8bn27qn.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1482485719 13165 195.159.176.226 (23 Dec 2016 09:35:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Fri, 23 Dec 2016 09:35:19 +0000 (UTC) Cc: Tino Calancha , 25247@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Dec 23 10:35:13 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cKMFq-0001w5-6J for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 Dec 2016 10:35:10 +0100 Original-Received: from localhost ([::1]:38243 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cKMFt-0004TU-2K for geb-bug-gnu-emacs@m.gmane.org; Fri, 23 Dec 2016 04:35:13 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:55980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cKMFm-0004R5-Ox for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2016 04:35:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cKMFi-0005Q0-PN for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2016 04:35:06 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36659) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cKMFi-0005PA-Kv for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2016 04:35:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cKMFi-0007sw-Bj for bug-gnu-emacs@gnu.org; Fri, 23 Dec 2016 04:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Ken Raeburn Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 23 Dec 2016 09:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25247 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25247-submit@debbugs.gnu.org id=B25247.148248566330254 (code B ref 25247); Fri, 23 Dec 2016 09:35:02 +0000 Original-Received: (at 25247) by debbugs.gnu.org; 23 Dec 2016 09:34:23 +0000 Original-Received: from localhost ([127.0.0.1]:52058 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cKMF4-0007ru-Sc for submit@debbugs.gnu.org; Fri, 23 Dec 2016 04:34:23 -0500 Original-Received: from mail-qt0-f194.google.com ([209.85.216.194]:35288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cKMF2-0007rg-Pl for 25247@debbugs.gnu.org; Fri, 23 Dec 2016 04:34:21 -0500 Original-Received: by mail-qt0-f194.google.com with SMTP id 3so6424297qtr.2 for <25247@debbugs.gnu.org>; Fri, 23 Dec 2016 01:34:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raeburn-org.20150623.gappssmtp.com; s=20150623; h=subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/kH+ejFA1kXuT0d7ARPwrViFZnPcGxC28dS4/dR1i+g=; b=TBQ03OOFvhM75N4PP/fJocBwcCVXs5D7lRf7Q6iJRNjHPjkElwJ4d8VSRkzg+dTbKR WrsT+4enPi4F5AetrGh3zS85e/c2fZg3Mg00DbH1hn4Ap4oG40R5nzGIM2hss+KRcpBe Rm30CzKCjO12094a7ArB+/O/K0cTRCm5oX7T3BXeR3y5JA0INMrY4/u7SfvIBcGTuJCe NmMzo0SMB+EBXhvZk6MuTdDLY8AB4Ov8bSpfQg/OECnNcJkCuikuCJZkA5CK+FUlpr9i L2tu3kJhopPahQXgSZ7+EBYZ8NWu6BZ/OAmSKYDuI+gQECn5d1BsjdfuLtmBFVLF7Vjn fy4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:mime-version:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/kH+ejFA1kXuT0d7ARPwrViFZnPcGxC28dS4/dR1i+g=; b=ltIHu4VUbDzeK02ceJHhYPqpaDSkP6nI8MGBm4ZYJuzvRjhJFp14hJNq9/Hw9ZMfgf Q7Lv01ocMvR5ayHixAnYV5SQvgoDrSADYq/oPBrsVHTlpORAX/j12/apnlpfxuaGQrFq zlog0sRf2Bk7ORgTtoq1LY03WNuuZ37OT24+J87tVGBpJbaQCD6RMZ4jdVWi1OlrwP13 urq2o+RsnbN4hqW4U8XgIHqY7BiFdqU7dKGWuC0NnPTnhwtdNV8YTbLUNsJdetlb5iHi n06OBR15fwq4jCYJrre/bp4g+Z1PX3+2CoLfm/MnbxjxoqaMHQSghbw5YpSYe4HpnIrZ INzg== X-Gm-Message-State: AIkVDXIWS+1Hh7ncXVqmXrE8mpckOad9Oc2SX1/OINAe9fdDgpaRh5Tt8MFz4MSXYRkigA== X-Received: by 10.200.38.39 with SMTP id u36mr15237031qtu.31.1482485655172; Fri, 23 Dec 2016 01:34:15 -0800 (PST) Original-Received: from [192.168.23.52] (c-50-138-183-136.hsd1.ma.comcast.net. [50.138.183.136]) by smtp.gmail.com with ESMTPSA id i41sm19926458qtc.18.2016.12.23.01.34.14 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 23 Dec 2016 01:34:14 -0800 (PST) In-Reply-To: <83a8bn27qn.fsf@gnu.org> X-Mailer: Apple Mail (2.3124) 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" Xref: news.gmane.org gmane.emacs.bugs:127354 Archived-At: On Dec 22, 2016, at 12:28, Eli Zaretskii wrote: >> From: Tino Calancha >> Date: Thu, 22 Dec 2016 19:20:21 +0900 >>=20 >>=20 >> 1) >> Save a file /tmp/test.el with contains: >>=20 >> (defun mytest () >> (dotimes (n 10) >> (message "[%d] Sleeping ..." n) >> (sleep-for 0.5)) >> (message "End!") >> (sleep-for 1) >> (message nil)) >>=20 >> (defun run-test () >> (dotimes (_ 50) >> (make-thread #'mytest)) >> (message "Number of threads %d" (length (all-threads)))) >>=20 >> ;; (run-test) >>=20 >> 2) >> emacs -Q -l /tmp/test.el >> ;; Evaluate (run-test) in buffer *scratch*; keep using Emacs, for = instance, >> ;; split the window, and visit other buffers, or call (run-test) = again: >> C-x 3 >> C-x C-b >> C-o RET >> ;; Sometimes Emacs crash or hangs. >=20 > Thanks. >=20 > It doesn't crash or hang here. Which is not surprising, since the > backtraces seem to indicate some issue with X11/xcb and threads. Ken, > could you take a look, please? Are we violating some X11 protocols by > calling redisplay from different threads? The documentation for XInitThreads, mentioned in one of the error = messages, says it needs to be called before any other Xlib functions if = a single display object might be used concurrently from multiple = threads. I=E2=80=99m testing out a change, but thus far haven=E2=80=99t = been able to reproduce any of the crashes even without the patch, = although I did run into the unblock_input_to abort on the concurrency = branch, with a similar test program from Elias M=C3=A5rtenson. Also, in looking into this, I found a couple vague references about how = =E2=80=9Cit is known=E2=80=9D that there are problems with the = concurrency support in Xlib in some areas. Unfortunately there were no = details (not even clear if it was an Xlib problem or related to using = Java classes that talk to Xlib in ways the developer might not fully = control), and I=E2=80=99ll be busy the next few days. I=E2=80=99ll try = to find out more next week. But if only one thread is talking to a = given X display *at a time* (whether displays are assigned to specific = threads, or locking is used, or only one thread uses X at all, or = whatever), I haven=E2=80=99t seen anything so far that would suggest = there would be any problem. Ken=