[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Search]

Bug: Running our of file descriptors when playing emacspeak's auditory icons prevents large packages from being installed on Mac OS



Hi,
I'm using Emacs 27.0.50 with the latest Emacspeak from Github.
When installing packages like the latest version of `org-plus-contrib', or when connecting to an IRC server that stores missed messages with `erc', whenever I have auditory icons set to play and they are set to play with a "play program" (I use `afplay' on Mac OS), Emacspeak starts playing many auditory icons together. This leads to an error like this:
Debugger entered--Lisp error: (file-error "Creating pipe" "Too many open files")
  make-process(:name "afplay" :buffer nil :command ("afplay" "/Users/pdoustdar/src/emacspeak/sounds/3d/progress...."))
  apply(make-process (:name "afplay" :buffer nil :command ("afplay" "/Users/pdoustdar/src/emacspeak/sounds/3d/progress....")))
  start-process("afplay" nil "afplay" "/Users/pdoustdar/src/emacspeak/sounds/3d/progress....")
  emacspeak-play-auditory-icon(progress)
  emacspeak-auditory-icon(progress)
  ad-Advice-progress-reporter-do-update(#f(compiled-function (reporter value &optional suffix) #<bytecode 0x420f20c5>) (3 . [1566480002.2621872 nil nil "Extracting..." 1 0.2 "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..."]) "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..." nil)
  apply(ad-Advice-progress-reporter-do-update #f(compiled-function (reporter value &optional suffix) #<bytecode 0x420f20c5>) ((3 . [1566480002.2621872 nil nil "Extracting..." 1 0.2 "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..."]) "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..." nil))
  progress-reporter-do-update((3 . [1566480002.2621872 nil nil "Extracting..." 1 0.2 "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..."]) "/Users/pdoustdar/.emacs.d/elpa/org-plus-contrib-20..." nil)
  tar-untar-buffer()

I wonder if there's a way to prevent this from happening. I've searched in the Emacs mailing list and haven't found anything. The `make-process' function is a built-in function that is not in elisp, and I can't really understand what the limit is or how it can be queried from inside Emacs – `apropos-variable' hasn't found me anything useful.
Is there a way for Emacspeak to prevent this from happening when there are too many messages coming in, or when a progress bar is being updated too often?
Thanks!


|May 1995 - Last Year |Current Year|


If you have questions about this archive or had problems using it, please contact us.

Contact Info Page