From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Wolfgang Jenkner Newsgroups: gmane.emacs.bugs Subject: bug#19393: 25.0.50; Emacs cannot determine coding system of ISO-8859 encoded files Date: Thu, 18 Dec 2014 02:47:41 +0100 Message-ID: <85bnn1pvr1.fsf@iznogoud.viz> References: <87sigfpqmx.fsf@thinkpad-t440p.tsdh.org> <85oar3xwc1.fsf@iznogoud.viz> <871tnzs7y6.fsf@thinkpad-t440p.tsdh.org> <85mw6m4aqs.fsf@iznogoud.viz> <83zjamuvgf.fsf@gnu.org> <85egry464g.fsf@iznogoud.viz> <83y4q6us1v.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1418867786 6599 80.91.229.3 (18 Dec 2014 01:56:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 18 Dec 2014 01:56:26 +0000 (UTC) Cc: 19393@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Dec 18 02:56:19 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 1Y1QKB-0005B7-5M for geb-bug-gnu-emacs@m.gmane.org; Thu, 18 Dec 2014 02:56:19 +0100 Original-Received: from localhost ([::1]:52205 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1QK9-0006L2-Tv for geb-bug-gnu-emacs@m.gmane.org; Wed, 17 Dec 2014 20:56:17 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39151) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1QK0-0006Ku-LH for bug-gnu-emacs@gnu.org; Wed, 17 Dec 2014 20:56:14 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y1QJu-0005zQ-HO for bug-gnu-emacs@gnu.org; Wed, 17 Dec 2014 20:56:08 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:40021) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y1QJu-0005zL-Dl for bug-gnu-emacs@gnu.org; Wed, 17 Dec 2014 20:56:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Y1QJu-00052Y-63 for bug-gnu-emacs@gnu.org; Wed, 17 Dec 2014 20:56:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <87sigfpqmx.fsf@thinkpad-t440p.tsdh.org> Resent-From: Wolfgang Jenkner Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 18 Dec 2014 01:56:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 19393 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: notabug Original-Received: via spool by 19393-submit@debbugs.gnu.org id=B19393.141886772519281 (code B ref 19393); Thu, 18 Dec 2014 01:56:02 +0000 Original-Received: (at 19393) by debbugs.gnu.org; 18 Dec 2014 01:55:25 +0000 Original-Received: from localhost ([127.0.0.1]:49387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y1QJH-00050t-Ki for submit@debbugs.gnu.org; Wed, 17 Dec 2014 20:55:24 -0500 Original-Received: from b2bfep13.mx.upcmail.net ([62.179.121.58]:56141) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Y1QJC-00050X-Rs for 19393@debbugs.gnu.org; Wed, 17 Dec 2014 20:55:21 -0500 Original-Received: from edge11.upcmail.net ([192.168.13.81]) by b2bfep13.mx.upcmail.net (InterMail vM.8.01.05.11 201-2260-151-128-20120928) with ESMTP id <20141218015515.LDQF20529.b2bfep13-int.chello.at@edge11.upcmail.net> for <19393@debbugs.gnu.org>; Thu, 18 Dec 2014 02:55:15 +0100 Original-Received: from iznogoud.viz ([85.127.8.35]) by edge11.upcmail.net with edge id UpvF1p00X0lM6Wl0BpvFXp; Thu, 18 Dec 2014 02:55:15 +0100 X-SourceIP: 85.127.8.35 Original-Received: from wolfgang by iznogoud.viz with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1Y1QJ8-0009VO-SI; Thu, 18 Dec 2014 02:55:14 +0100 User-Agent: Gnus/5.130012 (Ma Gnus v0.12) Emacs/25.0.50 (berkeley-unix) 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:97479 Archived-At: On Wed, Dec 17 2014, Eli Zaretskii wrote: >> On Wed, Dec 17 2014, Eli Zaretskii wrote: >> >> > What is the system where you observed the 20-minute delay? And what >> > version of Emacs was that? >> >> FreeBSD 10 on amd64 > > That's what I thought. AFAIK, FreeBSD systems use mmap(2) explicitly > for buffer memory allocation, and that could be slow when we need to > repeatedly reallocate buffer text and memmove the text between old and > new. > >> but the emacs versions I have are more than a month old, so I'll >> bootstrap from a current git checkout and try again. > > If I'm right, this won't change the result. You are right, of course (it took around 15 minutes system+user time). So, I tried --8<---------------cut here---------------start------------->8--- diff --git a/configure.ac b/configure.ac index 010abc8..de1c5e8 100644 --- a/configure.ac +++ b/configure.ac @@ -2127,7 +2127,7 @@ fi use_mmap_for_buffers=no case "$opsys" in - cygwin|mingw32|freebsd|irix6-5) use_mmap_for_buffers=yes ;; + cygwin|mingw32|irix6-5) use_mmap_for_buffers=yes ;; esac AC_FUNC_MMAP --8<---------------cut here---------------end--------------->8--- However, this still took around 10 minutes (I tested with emacs -Q in both cases, of course). I give samples of the recurring sequence of syscalls (as reported by truss) in both cases below. Here's the current default for FreeBSD. Should Emacs use the GNU version of malloc? yes Should Emacs use a relocating allocator for buffers? no Should Emacs use mmap(2) for buffer allocation? yes --8<---------------cut here---------------start------------->8--- sigprocmask(SIG_BLOCK,SIGINT|SIGALRM,0x0) = 0 (0x0) clock_gettime(0,{1418846146.702726599 }) = 0 (0x0) ktimer_settime(0x3,0x1,0x7ffffffece50,0x0,0x0,0x0) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,SIGINT|SIGALRM) = 0 (0x0) nanosleep({0.000001000 }) = 0 (0x0) mmap(0x0,28815360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x8108ec000,28798976) = 0 (0x0) read(9,"\t????\n"Esperan\M-ga" (2002) {("...,65536) = 65536 (0x10000) mmap(0x0,28831744,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34608795648 (0x80ed85000) munmap(0x80d20a000,28815360) = 0 (0x0) mmap(0x0,28848128,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34637627392 (0x810904000) munmap(0x80ed85000,28831744) = 0 (0x0) mmap(0x0,28864512,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810904000,28848128) = 0 (0x0) mmap(0x0,28880896,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34608844800 (0x80ed91000) munmap(0x80d20a000,28864512) = 0 (0x0) read(9," SportsCentury" (1999) {Seabiscu"...,65536) = 65536 (0x10000) mmap(0x0,28897280,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34637725696 (0x81091c000) munmap(0x80ed91000,28880896) = 0 (0x0) mmap(0x0,28913664,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x81091c000,28897280) = 0 (0x0) mmap(0x0,28930048,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34608893952 (0x80ed9d000) munmap(0x80d20a000,28913664) = 0 (0x0) mmap(0x0,28946432,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34637824000 (0x810934000) munmap(0x80ed9d000,28930048) = 0 (0x0) read(9,"a es mi historia" (2001) {La vid"...,65536) = 65536 (0x10000) mmap(0x0,28962816,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810934000,28946432) = 0 (0x0) mmap(0x0,28979200,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34608943104 (0x80eda9000) munmap(0x80d20a000,28962816) = 0 (0x0) mmap(0x0,28999680,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34637922304 (0x81094c000) munmap(0x80eda9000,28979200) = 0 (0x0) mmap(0x0,29016064,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x81094c000,28999680) = 0 (0x0) read(9,"\t1999\n"Esti showder" (1999) {("...,65536) = 65536 (0x10000) mmap(0x0,29032448,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34608996352 (0x80edb6000) munmap(0x80d20a000,29016064) = 0 (0x0) mmap(0x0,29048832,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638028800 (0x810966000) munmap(0x80edb6000,29032448) = 0 (0x0) mmap(0x0,29065216,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810966000,29048832) = 0 (0x0) mmap(0x0,29081600,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609045504 (0x80edc2000) munmap(0x80d20a000,29065216) = 0 (0x0) read(9,"en Cuba}\t\t1978\n"Estudio 1" (1"...,65536) = 65536 (0x10000) mmap(0x0,29097984,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638127104 (0x81097e000) munmap(0x80edc2000,29081600) = 0 (0x0) mmap(0x0,29114368,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x81097e000,29097984) = 0 (0x0) mmap(0x0,29130752,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609094656 (0x80edce000) munmap(0x80d20a000,29114368) = 0 (0x0) mmap(0x0,29147136,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638225408 (0x810996000) munmap(0x80edce000,29130752) = 0 (0x0) read(9,"07\n"Eterna Magia" (2007) {(2007"...,65536) = 65536 (0x10000) mmap(0x0,29163520,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810996000,29147136) = 0 (0x0) mmap(0x0,29179904,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609143808 (0x80edda000) munmap(0x80d20a000,29163520) = 0 (0x0) mmap(0x0,29196288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638323712 (0x8109ae000) munmap(0x80edda000,29179904) = 0 (0x0) mmap(0x0,29212672,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x8109ae000,29196288) = 0 (0x0) read(9,")}\t1991\n"Eva y Ad\M-an, agenci"...,65536) = 65536 (0x10000) mmap(0x0,29229056,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609192960 (0x80ede6000) munmap(0x80d20a000,29212672) = 0 (0x0) mmap(0x0,29245440,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638422016 (0x8109c6000) munmap(0x80ede6000,29229056) = 0 (0x0) mmap(0x0,29261824,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x8109c6000,29245440) = 0 (0x0) mmap(0x0,29278208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609242112 (0x80edf2000) munmap(0x80d20a000,29261824) = 0 (0x0) read(9,"A. (#9.4)}\t2004\n"Everybody Lov"...,65536) = 65536 (0x10000) mmap(0x0,29294592,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638520320 (0x8109de000) munmap(0x80edf2000,29278208) = 0 (0x0) mmap(0x0,29310976,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x8109de000,29294592) = 0 (0x0) mmap(0x0,29327360,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609291264 (0x80edfe000) munmap(0x80d20a000,29310976) = 0 (0x0) mmap(0x0,29343744,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638618624 (0x8109f6000) munmap(0x80edfe000,29327360) = 0 (0x0) read(9,"\t\t1988\n"Everyman" (1977) {Who"...,65536) = 65536 (0x10000) mmap(0x0,29360128,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x8109f6000,29343744) = 0 (0x0) mmap(0x0,29376512,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609340416 (0x80ee0a000) munmap(0x80d20a000,29360128) = 0 (0x0) mmap(0x0,29392896,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638716928 (0x810a0e000) munmap(0x80ee0a000,29376512) = 0 (0x0) mmap(0x0,29409280,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810a0e000,29392896) = 0 (0x0) read(9,"xclusive" (1997) {(#1.1)}\t\t\t"...,65536) = 65536 (0x10000) mmap(0x0,29425664,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609389568 (0x80ee16000) munmap(0x80d20a000,29409280) = 0 (0x0) mmap(0x0,29442048,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638815232 (0x810a26000) munmap(0x80ee16000,29425664) = 0 (0x0) mmap(0x0,29458432,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810a26000,29442048) = 0 (0x0) mmap(0x0,29474816,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609438720 (0x80ee22000) munmap(0x80d20a000,29458432) = 0 (0x0) read(9,"\n"Explorers: Adventures of the "...,65536) = 65536 (0x10000) mmap(0x0,29491200,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34638913536 (0x810a3e000) munmap(0x80ee22000,29474816) = 0 (0x0) mmap(0x0,29507584,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810a3e000,29491200) = 0 (0x0) mmap(0x0,29523968,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609487872 (0x80ee2e000) munmap(0x80d20a000,29507584) = 0 (0x0) mmap(0x0,29540352,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34639011840 (0x810a56000) munmap(0x80ee2e000,29523968) = 0 (0x0) read(9,"xtra" (1994) {(2011-05-03)}\t\t"...,65536) = 65536 (0x10000) mmap(0x0,29556736,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34579980288 (0x80d20a000) munmap(0x810a56000,29540352) = 0 (0x0) mmap(0x0,29573120,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34609537024 (0x80ee3a000) SIGNAL 14 (SIGALRM) sigprocmask(SIG_SETMASK,SIGINT|SIGQUIT|SIGALRM|SIGCHLD|SIGIO|SIGPROF|SIGWINCH,0x0) = 0 (0x0) sigreturn(0x7ffffffec630,0x7ffffffec630,0x301,0x0,0xfffffffffffffbc0,0x0) = 34609537064 (0x80ee3a028) munmap(0x80d20a000,29556736) = 0 (0x0) recvmsg(0x6,0x7ffffffecb80,0x0,0x1000,0x1c30000,0x0) ERR#35 'Resource temporarily unavailable' --8<---------------cut here---------------end--------------->8--- And here's the version with the patch above applied. Should Emacs use the GNU version of malloc? yes Should Emacs use a relocating allocator for buffers? yes Should Emacs use mmap(2) for buffer allocation? no --8<---------------cut here---------------start------------->8--- sigprocmask(SIG_BLOCK,SIGINT|SIGALRM,0x0) = 0 (0x0) clock_gettime(0,{1418846834.087766996 }) = 0 (0x0) ktimer_settime(0x3,0x1,0x7ffffffece90,0x0,0x0,0xd10fe8) = 0 (0x0) sigprocmask(SIG_SETMASK,0x0,SIGINT|SIGALRM) = 0 (0x0) nanosleep({0.000001000 }) = 0 (0x0) read(5,"n the Family" (1971) {Archie See"...,65536) = 65536 (0x10000) break(0xeb9a000) = 0 (0x0) read(5,"en" (1970) {(#1.5899)}\t\t\t1992"...,65536) = 65536 (0x10000) break(0xebaa000) = 0 (0x0) read(5,"\t\t2008\n"All My Children" (197"...,65536) = 65536 (0x10000) break(0xebba000) = 0 (0x0) read(5,"(1998) {False Convictions (#8.15"...,65536) = 65536 (0x10000) break(0xebca000) = 0 (0x0) read(5,"la lei\M-p" (2008) {Fimmti \M-~"...,65536) = 65536 (0x10000) break(0xebda000) = 0 (0x0) read(5,"014\n"Allt f\M-vr Sverige" (2011"...,65536) = 65536 (0x10000) SIGNAL 14 (SIGALRM) sigreturn(0x7ffffffeca70,0x10003,0x7ffffffeca70,0x7ffffffed478,0x41e8,0xd10fe8) = 25710504 (0x1884fa8) recvmsg(0x4,0x7ffffffecbc0,0x0,0x1000,0x41e8,0xd10fe8) ERR#35 'Resource temporarily unavailable' --8<---------------cut here---------------end--------------->8---