unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files"
@ 2022-07-16 21:49 Stephen Leake
       [not found] ` <handler.56606.B.165800822832001.ack@debbugs.gnu.org>
  2022-07-19  0:05 ` bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files" Stephen Leake
  0 siblings, 2 replies; 8+ messages in thread
From: Stephen Leake @ 2022-07-16 21:49 UTC (permalink / raw)
  To: 56606

[-- Attachment #1: Type: text/plain, Size: 263 bytes --]


On Windows, load the attached file:

M-x load-file debug-process.el

It signals an error, with the message "Creating pipe: Too many open
files".

On Debian the error does not happen. In Emacs 28, and in emacs master
in December 2021, the error does not happen.


[-- Attachment #2: debug-process.el --]
[-- Type: application/emacs-lisp, Size: 1385 bytes --]

[-- Attachment #3: Type: text/plain, Size: 4169 bytes --]




In GNU Emacs 29.0.50 (build 2, x86_64-w64-mingw32)
 of 2022-07-16 built on TAKVER4
Repository revision: 35d0a2e0a767838c24d5853be798313aed7a42df
Repository branch: master
Windowing system distributor 'Microsoft Corp.', version 6.3.9600
System Description: Microsoft Windows 8.1 Pro (v6.3.0.9600.20478)

Configured using:
 'configure
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig:/mingw64/share/pkgconfig'

Configured features:
ACL DBUS GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NOTIFY
W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS WEBP XPM ZLIB

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LANG: ENU
  locale-coding-system: cp1252

Major mode: Summary

Minor modes in effect:
  debbugs-browse-mode: t
  bug-reference-mode: t
  display-time-mode: t
  delete-selection-mode: t
  icomplete-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow emacsbug mailalias smerge-mode diff canlock bbdb-message
gnus-kill mule-util sort smiley gnus-cite flow-fill mm-archive mail-extr
textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check gnus-async gnus-bcklg qp gnus-ml vc-mtn vc-git diff-mode
vc vc-dispatcher debbugs-browse bug-reference utf-7 imap rfc2104 nndraft
nnmh gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nnml
gnus-cache bbdb-gnus network-stream nsm nntp gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file url-dired svg dom gnus-group gnus-undo gnus-start gnus-dbus
dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo parse-time
iso8601 gnus-spec gnus-int gnus-range gnus-win gnus wid-edit nnheader
range message yank-media puny rfc822 mml mml-sec epa epg rfc6068
epg-config gnus-util time-date mm-decode mm-bodies mm-encode mail-parse
rfc2231 gmm-utils mailheader bbdb-mua bbdb-com pcase crm mailabbrev bbdb
derived bbdb-site timezone smtpmail sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time delsel cus-load stephe-theme noutline
outline easy-mmode path-iterator cl-extra help-mode whitespace dired-x
dired-aux dired dired-loaddefs compile text-property-search comint
ansi-color uniquify-files icomplete xref project ring info package
browse-url url url-proxy url-privacy url-expand url-methods url-history
url-cookie generate-lisp-file url-domsuf url-util mailcap url-handlers
url-parse auth-source cl-seq eieio eieio-core cl-macs password-cache
json subr-x map byte-opt gv bytecomp byte-compile cconv url-vars
cl-loaddefs cl-lib rmc iso-transl tooltip eldoc paren electric uniquify
ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp
disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
faces cus-face macroexp files window text-properties overlay sha1 md5
base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads w32notify dbusbind w32 lcms2
multi-tty make-network-process emacs)

Memory information:
((conses 16 366274 36249)
 (symbols 48 19973 3)
 (strings 32 79351 4442)
 (string-bytes 1 2356349)
 (vectors 16 59637)
 (vector-slots 8 1148125 74030)
 (floats 8 284 234)
 (intervals 56 2094 329)
 (buffers 992 28))

-- 
-- Stephe

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
       [not found] ` <handler.56606.B.165800822832001.ack@debbugs.gnu.org>
@ 2022-07-17  9:42   ` Stephen Leake
  2022-07-17 10:20     ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Leake @ 2022-07-17  9:42 UTC (permalink / raw)
  To: 56606

On emacs-devel, Eli said:

AFAICT, this loop in deactivate_process:

  /* Beware SIGCHLD hereabouts.  */

  for (i = 0; i < PROCESS_OPEN_FDS; i++)
    close_process_fd (&p->open_fd[i]);

doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
calls in make-pipe-process.  It calls 'close' with the right value,
and close returns zero, but the pipe stays open.  In Emacs 28, this
same loop successfully closes the descriptor.  I don't know why.

Perhaps bisecting could help.

-- 
-- Stephe





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
  2022-07-17  9:42   ` bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files") Stephen Leake
@ 2022-07-17 10:20     ` Eli Zaretskii
  2022-07-17 12:46       ` Eli Zaretskii
  2022-07-18 23:54       ` Stephen Leake
  0 siblings, 2 replies; 8+ messages in thread
From: Eli Zaretskii @ 2022-07-17 10:20 UTC (permalink / raw)
  To: Stephen Leake; +Cc: 56606

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Date: Sun, 17 Jul 2022 02:42:04 -0700
> 
> On emacs-devel, Eli said:
> 
> AFAICT, this loop in deactivate_process:
> 
>   /* Beware SIGCHLD hereabouts.  */
> 
>   for (i = 0; i < PROCESS_OPEN_FDS; i++)
>     close_process_fd (&p->open_fd[i]);
> 
> doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
> calls in make-pipe-process.  It calls 'close' with the right value,
> and close returns zero, but the pipe stays open.  In Emacs 28, this
> same loop successfully closes the descriptor.  I don't know why.
> 
> Perhaps bisecting could help.

I think commit a81669c could be the culprit.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
  2022-07-17 10:20     ` Eli Zaretskii
@ 2022-07-17 12:46       ` Eli Zaretskii
  2022-07-19  0:04         ` Stephen Leake
  2022-07-18 23:54       ` Stephen Leake
  1 sibling, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2022-07-17 12:46 UTC (permalink / raw)
  To: stephen_leake; +Cc: 56606

> Cc: 56606@debbugs.gnu.org
> Date: Sun, 17 Jul 2022 13:20:12 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> 
> > From: Stephen Leake <stephen_leake@stephe-leake.org>
> > Date: Sun, 17 Jul 2022 02:42:04 -0700
> > 
> > On emacs-devel, Eli said:
> > 
> > AFAICT, this loop in deactivate_process:
> > 
> >   /* Beware SIGCHLD hereabouts.  */
> > 
> >   for (i = 0; i < PROCESS_OPEN_FDS; i++)
> >     close_process_fd (&p->open_fd[i]);
> > 
> > doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
> > calls in make-pipe-process.  It calls 'close' with the right value,
> > and close returns zero, but the pipe stays open.  In Emacs 28, this
> > same loop successfully closes the descriptor.  I don't know why.
> > 
> > Perhaps bisecting could help.
> 
> I think commit a81669c could be the culprit.

I hope I fixed this now on master.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
  2022-07-17 10:20     ` Eli Zaretskii
  2022-07-17 12:46       ` Eli Zaretskii
@ 2022-07-18 23:54       ` Stephen Leake
  1 sibling, 0 replies; 8+ messages in thread
From: Stephen Leake @ 2022-07-18 23:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 56606

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Stephen Leake <stephen_leake@stephe-leake.org>
>> Date: Sun, 17 Jul 2022 02:42:04 -0700
>> 
>> On emacs-devel, Eli said:
>> 
>> AFAICT, this loop in deactivate_process:
>> 
>>   /* Beware SIGCHLD hereabouts.  */
>> 
>>   for (i = 0; i < PROCESS_OPEN_FDS; i++)
>>     close_process_fd (&p->open_fd[i]);
>> 
>> doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
>> calls in make-pipe-process.  It calls 'close' with the right value,
>> and close returns zero, but the pipe stays open.  In Emacs 28, this
>> same loop successfully closes the descriptor.  I don't know why.
>> 
>> Perhaps bisecting could help.
>
> I think commit a81669c could be the culprit.

git bisect agrees.



-- 
-- Stephe





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
  2022-07-17 12:46       ` Eli Zaretskii
@ 2022-07-19  0:04         ` Stephen Leake
  2022-07-19  2:38           ` Eli Zaretskii
  0 siblings, 1 reply; 8+ messages in thread
From: Stephen Leake @ 2022-07-19  0:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 56606

Eli Zaretskii <eliz@gnu.org> writes:

>> Cc: 56606@debbugs.gnu.org
>> Date: Sun, 17 Jul 2022 13:20:12 +0300
>> From: Eli Zaretskii <eliz@gnu.org>
>> 
>> > From: Stephen Leake <stephen_leake@stephe-leake.org>
>> > Date: Sun, 17 Jul 2022 02:42:04 -0700
>> > 
>> > On emacs-devel, Eli said:
>> > 
>> > AFAICT, this loop in deactivate_process:
>> > 
>> >   /* Beware SIGCHLD hereabouts.  */
>> > 
>> >   for (i = 0; i < PROCESS_OPEN_FDS; i++)
>> >     close_process_fd (&p->open_fd[i]);
>> > 
>> > doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
>> > calls in make-pipe-process.  It calls 'close' with the right value,
>> > and close returns zero, but the pipe stays open.  In Emacs 28, this
>> > same loop successfully closes the descriptor.  I don't know why.
>> > 
>> > Perhaps bisecting could help.
>> 
>> I think commit a81669c could be the culprit.
>
> I hope I fixed this now on master.
>

Yes, it is fixed, by 637436970f34f860d50f73a514b3bafd0c5cace7.

-- 
-- Stephe





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files"
  2022-07-16 21:49 bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files" Stephen Leake
       [not found] ` <handler.56606.B.165800822832001.ack@debbugs.gnu.org>
@ 2022-07-19  0:05 ` Stephen Leake
  1 sibling, 0 replies; 8+ messages in thread
From: Stephen Leake @ 2022-07-19  0:05 UTC (permalink / raw)
  To: 56606-close


-- 
-- Stephe





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files")
  2022-07-19  0:04         ` Stephen Leake
@ 2022-07-19  2:38           ` Eli Zaretskii
  0 siblings, 0 replies; 8+ messages in thread
From: Eli Zaretskii @ 2022-07-19  2:38 UTC (permalink / raw)
  To: Stephen Leake; +Cc: 56606-done

> From: Stephen Leake <stephen_leake@stephe-leake.org>
> Cc: 56606@debbugs.gnu.org
> Date: Mon, 18 Jul 2022 17:04:05 -0700
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> Cc: 56606@debbugs.gnu.org
> >> Date: Sun, 17 Jul 2022 13:20:12 +0300
> >> From: Eli Zaretskii <eliz@gnu.org>
> >> 
> >> > From: Stephen Leake <stephen_leake@stephe-leake.org>
> >> > Date: Sun, 17 Jul 2022 02:42:04 -0700
> >> > 
> >> > On emacs-devel, Eli said:
> >> > 
> >> > AFAICT, this loop in deactivate_process:
> >> > 
> >> >   /* Beware SIGCHLD hereabouts.  */
> >> > 
> >> >   for (i = 0; i < PROCESS_OPEN_FDS; i++)
> >> >     close_process_fd (&p->open_fd[i]);
> >> > 
> >> > doesn't close the last of the 4 descriptors opened by the 2 emacs_pipe
> >> > calls in make-pipe-process.  It calls 'close' with the right value,
> >> > and close returns zero, but the pipe stays open.  In Emacs 28, this
> >> > same loop successfully closes the descriptor.  I don't know why.
> >> > 
> >> > Perhaps bisecting could help.
> >> 
> >> I think commit a81669c could be the culprit.
> >
> > I hope I fixed this now on master.
> >
> 
> Yes, it is fixed, by 637436970f34f860d50f73a514b3bafd0c5cace7.

Thanks, I'm therefore closing this bug.





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-07-19  2:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-16 21:49 bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files" Stephen Leake
     [not found] ` <handler.56606.B.165800822832001.ack@debbugs.gnu.org>
2022-07-17  9:42   ` bug#56606: Acknowledgement (29.0.50; recent master fails with "creating pipe: too many open files") Stephen Leake
2022-07-17 10:20     ` Eli Zaretskii
2022-07-17 12:46       ` Eli Zaretskii
2022-07-19  0:04         ` Stephen Leake
2022-07-19  2:38           ` Eli Zaretskii
2022-07-18 23:54       ` Stephen Leake
2022-07-19  0:05 ` bug#56606: 29.0.50; recent master fails with "creating pipe: too many open files" Stephen Leake

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).