From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Brown Newsgroups: gmane.emacs.bugs Subject: bug#18438: 24.4.50; assertion failed in bidi.c Date: Thu, 16 Oct 2014 09:11:18 -0400 Message-ID: <543FC3F6.9010101@cornell.edu> References: <4745242cd3e424a6c4d5db0e8d3e33d0@amuri.net> <83h9zrlzc8.fsf@gnu.org> <54297FDB.6090606@cornell.edu> <837g0mmkf3.fsf@gnu.org> <6b19fab333f3d362ae61b30b299d7206@amuri.net> <83iok5ku74.fsf@gnu.org> <88ccbe34bf58322ae4b2a5657390c041@amuri.net> <83ppe1itu9.fsf@gnu.org> <837g08bdcy.fsf@gnu.org> <1c93d571dbd64d473e8c53ba59063425@amuri.net> <83k3416hlf.fsf@gnu.org> <02fd9e39e5724b113eb47ecef0408ae5@amuri.net> <83mw8w4gp6.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1413465158 6502 80.91.229.3 (16 Oct 2014 13:12:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 16 Oct 2014 13:12:38 +0000 (UTC) Cc: 18438@debbugs.gnu.org To: Eli Zaretskii , aidalgol@amuri.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 16 15:12:22 2014 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 1Xekqs-0001yO-7B for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Oct 2014 15:12:22 +0200 Original-Received: from localhost ([::1]:50390 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xekqr-0000Vu-Nh for geb-bug-gnu-emacs@m.gmane.org; Thu, 16 Oct 2014 09:12:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46260) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xekqh-0000Um-I3 for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 09:12:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XekqY-0005pX-F0 for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 09:12:10 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:53818) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XekqY-0005pT-9O for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 09:12:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XekqX-0004tg-TB for bug-gnu-emacs@gnu.org; Thu, 16 Oct 2014 09:12:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ken Brown Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 16 Oct 2014 13:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18438 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 18438-submit@debbugs.gnu.org id=B18438.141346510018793 (code B ref 18438); Thu, 16 Oct 2014 13:12:01 +0000 Original-Received: (at 18438) by debbugs.gnu.org; 16 Oct 2014 13:11:40 +0000 Original-Received: from localhost ([127.0.0.1]:45382 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XekqC-0004t2-4g for submit@debbugs.gnu.org; Thu, 16 Oct 2014 09:11:40 -0400 Original-Received: from limerock01.mail.cornell.edu ([128.84.13.241]:52818) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Xekq9-0004st-G5 for 18438@debbugs.gnu.org; Thu, 16 Oct 2014 09:11:37 -0400 X-CornellRouted: This message has been Routed already. Original-Received: from authusersmtp.mail.cornell.edu (granite3.serverfarm.cornell.edu [10.16.197.8]) by limerock01.mail.cornell.edu (8.14.4/8.14.4_cu) with ESMTP id s9GDBN35007445; Thu, 16 Oct 2014 09:11:24 -0400 Original-Received: from [192.168.1.4] (cpe-67-249-176-226.twcny.res.rr.com [67.249.176.226]) (authenticated bits=0) by authusersmtp.mail.cornell.edu (8.14.4/8.12.10) with ESMTP id s9GDBM3w001348 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 16 Oct 2014 09:11:22 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 In-Reply-To: <83mw8w4gp6.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.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:94599 On 10/16/2014 3:27 AM, Eli Zaretskii wrote: > Let's try to get a couple more full backtraces like this one, in case > some pattern emerges that could give us some ideas. I saw some things in Thread 7 (the Windows message queue thread), especially frame #14, which got me to look at the code for w32_wnd_proc in w32fns.c. The code is about 1300 lines long, and includes several comments about why it is thread-safe. Here are a few examples: Walking the frame list in this thread is safe (as long as writes of Lisp_Object slots are atomic, which they are on Windows). It is also safe to use functions that make GDI calls, such as w32_clear_rect, because these functions must obtain a DC handle from the frame struct using get_frame_dc which is thread-aware. The code below does something that one shouldn't do: it accesses the window object from a separate thread, while the main (a.k.a. "Lisp") thread runs and can legitimately delete and even GC it. That is why we are extra careful... I wonder if something in these 1300 lines is not thread-safe on Cygwin. For example, I don't know if it's true on Cygwin that "writes of Lisp_Object slots are atomic". > Ken, isn't it strange that these crashes are reported by so few > people? Or does it mean that only those people are using the 64-bit > Cygwin-w32 build? Maybe it would be worth asking on the Cygwin list, > and getting us some usage statistics for this build, like how many are > using it, and how much uptime each one can generally report? Then, if > only some of them get the crashes, we could try figuring out what are > the differences between their systems. That's a good idea. I'll do it right now. Thanks for the suggestion. Ken