From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#18361: New 'sort' implementation can crash Emacs Date: Fri, 29 Aug 2014 16:07:09 -0700 Organization: UCLA Computer Science Department Message-ID: <5401079D.7070505@cs.ucla.edu> References: <5400EFA5.6090902@cs.ucla.edu> <540102E5.6040404@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1409353706 17182 80.91.229.3 (29 Aug 2014 23:08:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 29 Aug 2014 23:08:26 +0000 (UTC) Cc: 18361@debbugs.gnu.org To: Dmitry Antipov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Aug 30 01:08:18 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 1XNVHF-0006Uo-KU for geb-bug-gnu-emacs@m.gmane.org; Sat, 30 Aug 2014 01:08:17 +0200 Original-Received: from localhost ([::1]:44660 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNVHF-0000tm-58 for geb-bug-gnu-emacs@m.gmane.org; Fri, 29 Aug 2014 19:08:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43278) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNVH6-0000tg-G5 for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 19:08:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XNVH0-0002Ge-WE for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 19:08:08 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:34096) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XNVH0-0002GQ-TE for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 19:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1XNVH0-0003tA-3y for bug-gnu-emacs@gnu.org; Fri, 29 Aug 2014 19:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 29 Aug 2014 23:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 18361 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 18361-submit@debbugs.gnu.org id=B18361.140935366514926 (code B ref 18361); Fri, 29 Aug 2014 23:08:02 +0000 Original-Received: (at 18361) by debbugs.gnu.org; 29 Aug 2014 23:07:45 +0000 Original-Received: from localhost ([127.0.0.1]:53893 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XNVGi-0003sg-NS for submit@debbugs.gnu.org; Fri, 29 Aug 2014 19:07:45 -0400 Original-Received: from smtp.cs.ucla.edu ([131.179.128.62]:45341) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1XNVGg-0003sO-8i for 18361@debbugs.gnu.org; Fri, 29 Aug 2014 19:07:43 -0400 Original-Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 22ED6A60013; Fri, 29 Aug 2014 16:07:36 -0700 (PDT) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Original-Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e+zvj0-sFvke; Fri, 29 Aug 2014 16:07:31 -0700 (PDT) Original-Received: from [192.168.1.9] (pool-71-177-17-123.lsanca.dsl-w.verizon.net [71.177.17.123]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id A2F4CA60002; Fri, 29 Aug 2014 16:07:31 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 In-Reply-To: <540102E5.6040404@yandex.ru> 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:92837 Archived-At: Dmitry Antipov wrote: > Can you provide an example? Sure, a comparison function that returns a new random value every time you call it. Such a function is most likely not well formed, that is, it most likely does not define a total order. > Is that just a poor property of the particular qsort(_r) implementation? Yes and no. qsort is allowed to have undefined behavior (what you're calling a "poor property") if given a comparison function that is not a total order; see DESCRIPTION paragraph 4. Perhaps some qsort implementations have well defined behavior in this case (and so don't have the "poor property"), but there are performance reasons for qsort to have the "poor property" and in my experience most implementations have it. GNU qsort and qsort_r, for example, have the "poor property".