GNU bug report logs - #69833
29.2; ERC 5.6-git: erc-dcc: Transmission of large (>500 MB) files hangs Emacs

Previous Next

Package: emacs;

Reported by: Alcor <alcor <at> tilde.club>

Date: Sat, 16 Mar 2024 20:09:01 UTC

Severity: normal

Found in version 29.2

To reply to this bug, email your comments to 69833 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org:
bug#69833; Package emacs. (Sat, 16 Mar 2024 20:09:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alcor <alcor <at> tilde.club>:
New bug report received and forwarded. Copy sent to emacs-erc <at> gnu.org, bug-gnu-emacs <at> gnu.org. (Sat, 16 Mar 2024 20:09:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alcor <alcor <at> tilde.club>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.2; ERC 5.6-git: erc-dcc: Transmission of large (>500 MB) files
 hangs Emacs
Date: Sat, 16 Mar 2024 19:02:41 +0100
On Emacs 29.2, using erc-5.6snapshot0.20240310.61129:

1. Enable the erc-dcc module
2. Login onto any IRC network
3. Request a large (>500 MB) file via "/dcc get ..."

After approx. 400-500 MB are transmitted, Emacs hangs and does not
respond to any input. The file transmission continues as normal,
however. Emacs responds to input again after the download is finished,
cancelled, or is terminated for any reason.

Additionally, CPU process seems abnormally high; The Emacs instance
performing the transfer maxes out the whole CPU core.

In GNU Emacs 29.2 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.20,
 cairo version 1.16.0) of 2024-03-13 built on lcy02-amd64-051
Repository revision: 900dc1b4bf3011e685a1ec7d7ce4dcd0262ec880
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12201001
System Description: Ubuntu 22.04.4 LTS

Configured using:
 'configure --prefix=/snap/emacs/current/usr --with-x-toolkit=gtk3
 --without-xaw3d --with-modules --with-cairo
 --with-native-compilation=aot --without-pgtk --with-xinput2
 --with-tree-sitter --with-json
 'CFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include -O2'
 'CPPFLAGS=-isystem/build/emacs/parts/emacs/install/usr/include
 -isystem/build/emacs/parts/emacs/install/usr/include/x86_64-linux-gnu
 -isystem/build/emacs/stage/usr/include'
 'LDFLAGS=-L/build/emacs/parts/emacs/install/lib
 -L/build/emacs/parts/emacs/install/usr/lib
 -L/build/emacs/parts/emacs/install/lib/x86_64-linux-gnu
 -L/build/emacs/parts/emacs/install/usr/lib/x86_64-linux-gnu
 -L/build/emacs/stage/usr/lib''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  gnus-undo-mode: t
  shell-dirtrack-mode: t
  erc-ring-mode: t
  erc-notifications-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-list-mode: t
  erc-irccontrols-mode: t
  erc-keep-place-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  erc-scrolltobottom-mode: t
  erc-imenu-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-bufbar-mode: t
  erc-track-mode: t
  erc-match-mode: t
  erc-autojoin-mode: t
  erc-autoaway-mode: t
  recentf-mode: t
  pixel-scroll-precision-mode: t
  minibuffer-depth-indicate-mode: t
  global-whitespace-mode: t
  global-goto-address-mode: t
  goto-address-mode: t
  global-auto-revert-mode: t
  fido-vertical-mode: t
  icomplete-vertical-mode: t
  icomplete-mode: t
  fido-mode: t
  erc-networks-mode: t
  desktop-save-mode: t
  windmove-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Features:
(shadow emacsbug qp gnus-cus gnus-demon gnus-diary nndiary gnus-draft
gnus-dup gnus-fun gnus-html url-cache gnus-kill gnus-logic gnus-mh
mh-comp mh-scan mh-gnus mh-e mh-buffers mh-loaddefs gnus-registry
registry eieio-base rmailsum rmail gnus-topic gnus-uu yenc gnus-vm
shortdoc mm-archive mailalias smtpmail gnus-salt sort smiley gnus-cite
mail-extr textsec uni-scripts idna-mapping ucs-normalize uni-confusable
textsec-check gnus-async gnus-bcklg cus-edit pp cus-start help-fns
radix-tree gnus-ml nndraft nnmh nnfolder utf-7 rfc2104 network-stream
nsm gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp
gnus-cache display-line-numbers org-element org-persist org-id
org-refile avl-tree generator oc-basic ol-eww eww url-queue mm-url
ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015
mm-view mml-smime smime gnutls dig gnus-sum shr pixel-fill kinsoku
url-file svg dom gnus-group gnus-undo gnus-start gnus-dbus gnus-cloud
nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int gnus-range
message sendmail yank-media puny rfc822 mml mml-sec epa epg rfc6068
epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047
rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus
nnheader gnus-util text-property-search mail-utils range mm-util
mail-prsvr ol-docview doc-view jka-compr image-mode exif dired
dired-loaddefs ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src ob-comint
org-pcomplete org-list org-footnote org-faces org-entities noutline
outline ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc org-loaddefs find-func cal-menu calendar
cal-loaddefs org-version org-compat org-macs tramp-cache time-stamp
tramp-sh tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat shell parse-time iso8601 disp-table erc-ring
erc-desktop-notifications notifications dbus xml erc-nicks color
erc-netsplit erc-menu erc-list erc-goodies erc-imenu imenu erc-pcomplete
time-date pcomplete comint ansi-osc ansi-color erc-button erc-fill
erc-stamp erc-status-sidebar erc-track erc-match erc-join erc-autoaway
leuven-dark-theme recentf tree-widget wid-edit pixel-scroll cua-base
ring mb-depth whitespace goto-addr thingatpt autorevert filenotify
icomplete erc derived format-spec erc-backend erc-networks easy-mmode
erc-common inline erc-compat pcase compat erc-loaddefs desktop frameset
cus-load windmove xdg site-start comp comp-cstr warnings icons rx
cl-extra help-mode erc-autoloads info compat-autoloads
markdown-mode-autoloads 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 url-vars cl-loaddefs cl-lib rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd 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
theme-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 dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 734348 80250)
 (symbols 48 34068 27)
 (strings 32 130491 8389)
 (string-bytes 1 4223075)
 (vectors 16 79942)
 (vector-slots 8 1787866 164106)
 (floats 8 709 898)
 (intervals 56 2486 611)
 (buffers 984 24))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#69833; Package emacs. (Sun, 17 Mar 2024 00:05:01 GMT) Full text and rfc822 format available.

Message #8 received at 69833 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: Alcor via General discussion about ERC <emacs-erc <at> gnu.org>
Cc: 69833 <at> debbugs.gnu.org, Alcor <alcor <at> tilde.club>
Subject: Re: bug#69833: 29.2; ERC 5.6-git: erc-dcc: Transmission of large
 (>500 MB) files hangs Emacs
Date: Sat, 16 Mar 2024 17:03:31 -0700
Alcor via General discussion about ERC <emacs-erc <at> gnu.org> writes:

> On Emacs 29.2, using erc-5.6snapshot0.20240310.61129:
>
> 1. Enable the erc-dcc module
> 2. Login onto any IRC network
> 3. Request a large (>500 MB) file via "/dcc get ..."
>
> After approx. 400-500 MB are transmitted, Emacs hangs and does not
> respond to any input. The file transmission continues as normal,
> however. Emacs responds to input again after the download is finished,
> cancelled, or is terminated for any reason.
>
> Additionally, CPU process seems abnormally high; The Emacs instance
> performing the transfer maxes out the whole CPU core.

This sounds similar to:

  https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54458

If the solution from that bug doesn't suffice, can you provide an
example (out of band if need be) of some file that induces this behavior
when fetched?

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#69833; Package emacs. (Sun, 17 Mar 2024 09:40:01 GMT) Full text and rfc822 format available.

Message #11 received at 69833 <at> debbugs.gnu.org (full text, mbox):

From: Alcor <alcor <at> tilde.club>
To: "J.P." <jp <at> neverwas.me>
Cc: Alcor via General discussion about ERC <emacs-erc <at> gnu.org>,
 69833 <at> debbugs.gnu.org
Subject: Re: bug#69833: 29.2; ERC 5.6-git: erc-dcc: Transmission of large
 (>500 MB) files hangs Emacs
Date: Sun, 17 Mar 2024 10:38:30 +0100
"J.P." <jp <at> neverwas.me> writes:

> This sounds similar to:
>
>   https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54458
>
> If the solution from that bug doesn't suffice, can you provide an
> example (out of band if need be) of some file that induces this behavior
> when fetched?
>
> Thanks.

Yes, I can confirm the solution from that ticket (#54458) works. Using
"/dcc get -t", no problems are observed. Emacs remains responsive, and
the CPU usage during the transfer is slightly lower, too.

From what I understood, this is more of sender-specific issue, which is
well-known. Let me know if a reproducible example is still needed, I can
arrange something and send it off-list if necessary.

PS: Sorry for the noise, I did a debbugs search for "erc dcc" beforehand
but it yielded no results.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#69833; Package emacs. (Sun, 17 Mar 2024 17:17:02 GMT) Full text and rfc822 format available.

Message #14 received at 69833 <at> debbugs.gnu.org (full text, mbox):

From: "J.P." <jp <at> neverwas.me>
To: Alcor <alcor <at> tilde.club>
Cc: Alcor via General discussion about ERC <emacs-erc <at> gnu.org>,
 69833 <at> debbugs.gnu.org
Subject: Re: bug#69833: 29.2; ERC 5.6-git: erc-dcc: Transmission of large
 (>500 MB) files hangs Emacs
Date: Sun, 17 Mar 2024 10:15:14 -0700
Alcor <alcor <at> tilde.club> writes:

> Yes, I can confirm the solution from that ticket (#54458) works. Using
> "/dcc get -t", no problems are observed. Emacs remains responsive, and
> the CPU usage during the transfer is slightly lower, too.
>
> From what I understood, this is more of sender-specific issue, which is
> well-known. Let me know if a reproducible example is still needed, I can
> arrange something and send it off-list if necessary.

It may be worth looking into if you think we can somehow devine on the
fly whether the server's using turbo. Otherwise, I guess users will just
have to try both. Perhaps we should say something to that effect in the
doc string or the library ;;; Commentary? (Unfortunatly, ERC doesn't yet
have sections for individual modules in its documentation.)

> PS: Sorry for the noise, I did a debbugs search for "erc dcc" beforehand
> but it yielded no results.

Yeah, I haven't managed to make debbugs do my bidding either, so I just
download all the articles and index them locally (but maybe that's a
sucker's move?).




This bug report was last modified 47 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.