Package: emacs25
Version: 25.2+1-6
Severity: minor

This bug has been reproducible since at least the emacs23 days, and is 
available in emacs in both stretch/testing/sid as well
as ubuntu from 9.04 'jaunty' through to 18.04 'bionic'

Heavily recursive emacs lisp functions are hitting some limit, that is not the 
limit of how much memory emacs has access to.
To hit this limit you need a simple file that is made by 2 parts.

1) seq 11718 > seqfile

you can then edit seqfile with emacs and copy the contents.  you'll need that 
for later.

2) some helper functions (F, nullp & map), 2 setqs to set max-lisp-eval-depth 
and max-specsdl-size and the function G 

File Edit Options Buffers Tools Help
(defun nullp (l)
"is this null?"
(equal '() l))
(defun map (f l)
 "map function?"
 (if
 (nullp l)
  '()
  (if (listp l)
   (if (= 1 (length l))
      (list (funcall f (car l)))
  (if (> (length l) 1)
    (cons (map f (car l))
     (map f (cdr l)))))
   (funcall f l)
 )))
 (setq max-lisp-eval-depth (expt 2 17))
 (setq max-specpdl-size (expt 2 17))
 (defun F (L)
  (message ".") )
(defun G (L) (map 'F L))
(G
'(
<insert file seqfile here>
))

then run the above, line by line.  if you try to run G

...the result is a crash of emacs in its entirety.

themusicgod1@wicksell:~/emacs$ emacs seqfile0-simple
Fatal error 11: Segmentation fault
Backtrace:
emacs[0x50a5fe]
emacs[0x4f0bf9]
emacs[0x508d4e]
emacs[0x508f08]
emacs[0x508f95]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x110c0)[0x7fcbe20fe0c0]
emacs[0x44515b]
emacs[0x447985]
emacs[0x44e961]
emacs[0x4517ce]
emacs[0x432568]
emacs[0x455ff6]
emacs[0x4562ff]
emacs[0x45646c]
emacs[0x55adee]
emacs[0x565bc9]
emacs[0x5660bd]
emacs[0x563b2b]
emacs[0x565bc9]
emacs[0x566365]
emacs[0x5659d9]
emacs[0x566365]
emacs[0x5659d9]
emacs[0x5660bd]
emacs[0x566263]
emacs[0x5657f8]
emacs[0x5658da]
emacs[0x5659d9]
emacs[0x566365]
emacs[0x5659d9]
emacs[0x5659d9]
emacs[0x566365]
emacs[0x5659d9]
emacs[0x5660bd]
emacs[0x566263]
emacs[0x5657f8]
emacs[0x5658da]
emacs[0x5659d9]
emacs[0x566365]
emacs[0x5659d9]
emacs[0x5659d9]
...
Segmentation fault

I've looked a little bit at the stack trace of what this crash looks like in 
the ubuntu bug report.
As you can imagine with a highly recursive program, it's deep.

https://bugs.launchpad.net/ubuntu/+source/emacs23/+bug/508618

one thing that is *not* causing this is the memory of emacs being exhausted, 
since monitoring the memory used by the
process in question leads to observing it's using a small % of the system 
memory on any machine I've tested.

What should happen is that emacs should give some error message(some suggested 
in the ubuntu ticket), and not crash.
Or it should be documented somewhere what this limit is, and why is it in 
emacs.  Segfaulting at random when you have
hundreds of frames can be quite...jolting :)













-- System Information:
Debian Release: 9.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-debug'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_CA:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages emacs25 depends on:
ii  emacs25-bin-common     25.2+1-6
ii  libacl1                2.2.52-3+b1
ii  libasound2             1.1.3-5
ii  libatk1.0-0            2.22.0-1
ii  libc6                  2.24-11+deb9u1
ii  libcairo-gobject2      1.14.8-1
ii  libcairo2              1.14.8-1
ii  libdbus-1-3            1.10.22-0+deb9u1
ii  libfontconfig1         2.12.6-0.1
ii  libfreetype6           2.6.3-3.2
ii  libgdk-pixbuf2.0-0     2.36.5-2+deb9u1
ii  libgif7                5.1.4-0.4
ii  libglib2.0-0           2.50.3-2
ii  libgnutls30            3.5.8-5+deb9u3
ii  libgomp1               6.3.0-18
ii  libgpm2                1.20.4-6.2+b1
ii  libgtk-3-0             3.22.11-1
ii  libice6                2:1.0.9-2
ii  libjpeg62-turbo        1:1.5.1-2
ii  libm17n-0              1.7.0-3+b1
ii  libmagickcore-6.q16-3  8:6.9.7.4+dfsg-11+deb9u3
ii  libmagickwand-6.q16-3  8:6.9.7.4+dfsg-11+deb9u3
ii  libotf0                0.9.13-3+b1
ii  libpango-1.0-0         1.40.5-1
ii  libpangocairo-1.0-0    1.40.5-1
ii  libpng16-16            1.6.28-1
ii  librsvg2-2             2.40.16-1+b1
ii  libselinux1            2.6-3+b3
ii  libsm6                 2:1.2.2-1+b3
ii  libtiff5               4.0.8-2+deb9u1
ii  libtinfo5              6.0+20161126-1+deb9u1
ii  libx11-6               2:1.6.4-3
ii  libx11-xcb1            2:1.6.4-3
ii  libxcb1                1.12-1
ii  libxfixes3             1:5.0.3-1
ii  libxft2                2.3.2-1+b2
ii  libxinerama1           2:1.1.3-1+b3
ii  libxml2                2.9.4+dfsg1-2.2+deb9u1
ii  libxpm4                1:3.5.12-1
ii  libxrandr2             2:1.5.1-1
ii  libxrender1            1:0.9.10-1
ii  zlib1g                 1:1.2.8.dfsg-5

emacs25 recommends no packages.

Versions of packages emacs25 suggests:
pn  emacs25-common-non-dfsg  <none>

-- no debconf information

Reply via email to