emacs crashes possibly related to vm
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
VM |
Incomplete
|
High
|
Unassigned |
Bug Description
Hi vm friends and masters,
I have been experiencing repeated crashes on Mac-Emacs, perhaps related to vm usage, and am wondering if the following reports could lead someone to figure out what the problem might be. Specifically (see below), does anyone have an idea if a "deeply nested Lisp data structure" is created in vm and if this can be avoided? These crashes occur after a few hours of normal use, almost always during reading mail with vm. I am attaching an abbreviated backtrace when running emacs under a debugger, and and the full one (8Mb) is available at https:/
I wrote YAMAMOTO Mitsuharu, the Emacs for mac developer, and his response is
> The backtrace shows that the stack is used up because some deeply
> nested Lisp data structure is recursively traversed in garbage
> collection (or possibly an unknown bug in the GC code). In normal OSX
> applications, the stack depth for the main thread is set to 8MiB by
> default, and Emacs slightly enlarges it to 8720000B (on 64-bit binary)
> by some formula in src/emacs.c:
> 817 long newlim;
> 818 extern size_t re_max_failures;
> 819 /* Approximate the amount regex.c needs per unit of re_max_failures. */
> 820 int ratio = 20 * sizeof (char *);
> 821 /* Then add 33% to cover the size of the smaller stacks that regex.c
> 822 successively allocates and discards, on its way to the maximum. */
> 823 ratio += ratio / 3;
> 824 /* Add in some extra to cover
> 825 what we're likely to use for other reasons. */
> 826 newlim = re_max_failures * ratio + 200000;
> Probably you can tweak the ratio value above and see if it mitigates
> the problem.
Here is the bug report itself:
-------
In GNU Emacs 24.3.2 (x86_64-
of 2013-11-08 on Yukikaze.local
Windowing system distributor `Apple Inc.', version 10.9.0
Configured using:
`configure '--with-mac' '--enable-
Important settings:
locale-
default enable-
Major mode: Dired by name
Minor modes in effect:
delete-
display-
auto-
shell-
tooltip-mode: t
mac-mouse-
tool-bar-mode: t
menu-bar-mode: t
file-
global-
font-lock-mode: t
blink-
auto-
auto-
auto-
buffer-read-only: t
line-number-mode: t
transient-
abbrev-mode: t
Recent input:
Recent messages:
Loading .session...done
For information about GNU Emacs and the GNU system, type C-h C-a. [2 times]
ls does not support --dired; see `dired-
Quit
Move: 1 of 2
Move: 2 of 2
Move: 2 files
Deleting...done
Deleting...done
Making completion list...
Load-path shadows:
None found.
Features:
(shadow vm-reply vm-pcrisis vcard u-vm-color smtpmail w3m browse-url doc-view jka-compr image-mode w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util mairix vm-rfaddons vm-page vm-minibuf emacsbug dired-aux info view cal-china lunar solar cal-dst cal-bahai cal-islam cal-julian cal-hebrew holidays hol-loaddefs mule-util cal-move goto-addr thingatpt cal-x em-unix em-term term disp-table ehelp electric em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg eldoc esh-groups eshell esh-module esh-mode esh-util srecode/srt-mode semantic/analyze semantic/sort semantic/scope semantic/
An abbreviated backtrace:
Last login: Sun Dec 1 15:52:10 on ttys000
udp003015uds:~ $ lldb /Applications/
Current executable set to '/Applications/
(lldb) run
Process 5425 launched: '/Applications/
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
...
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
2013-12-01 15:56:54.773 Emacs[5425:d0b] -_continuousScroll is deprecated for NSScrollWheel. Please use -hasPreciseScro
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
...
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGCHLD
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped and restarted: thread 1 received signal: SIGALRM
Process 5425 stopped
* thread #1: tid = 0x484e3, 0x00000001000f61d1 Emacs`mark_object + 1073, queue = 'com.apple.
frame #0: 0x00000001000f61d1 Emacs`mark_object + 1073
Emacs`mark_object + 1073:
-> 0x1000f61d1: callq 0x1000f5da0 ; mark_object
0x1000f61d6: movq 32(%r14), %rdi
0x1000f61da: callq 0x1000f5da0 ; mark_object
0x1000f61df: movl (%r14), %eax
(lldb) bt
* thread #1: tid = 0x484e3, 0x00000001000f61d1 Emacs`mark_object + 1073, queue = 'com.apple.
frame #0: 0x00000001000f61d1 Emacs`mark_object + 1073
frame #1: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #2: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #3: 0x00000001000f6443 Emacs`mark_object + 1699
frame #4: 0x00000001000f62ab Emacs`mark_object + 1291
frame #5: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #6: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #7: 0x00000001000f6443 Emacs`mark_object + 1699
frame #8: 0x00000001000f62ab Emacs`mark_object + 1291
frame #9: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #10: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #11: 0x00000001000f6443 Emacs`mark_object + 1699
frame #12: 0x00000001000f62ab Emacs`mark_object + 1291
...
frame #136042: 0x00000001000f61df Emacs`mark_object + 1087
frame #136043: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136044: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136045: 0x00000001000f61df Emacs`mark_object + 1087
frame #136046: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136047: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136048: 0x00000001000f61df Emacs`mark_object + 1087
frame #136049: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136050: 0x00000001000f5e20 Emacs`mark_object + 128
frame #136051: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136052: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #136053: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136054: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #136055: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136056: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136057: 0x00000001000f61df Emacs`mark_object + 1087
frame #136058: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136059: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136060: 0x00000001000f61df Emacs`mark_object + 1087
frame #136061: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #136062: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136063: 0x00000001000f61df Emacs`mark_object + 1087
frame #136064: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136065: 0x00000001000f61df Emacs`mark_object + 1087
frame #136066: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136067: 0x00000001000f61df Emacs`mark_object + 1087
frame #136068: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #136069: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136070: 0x00000001000f61a8 Emacs`mark_object + 1032
frame #136071: 0x00000001000f61d6 Emacs`mark_object + 1078
frame #136072: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136073: 0x00000001000f61df Emacs`mark_object + 1087
frame #136074: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136075: 0x00000001000f61df Emacs`mark_object + 1087
frame #136076: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136077: 0x00000001000f61df Emacs`mark_object + 1087
frame #136078: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136079: 0x00000001000f61df Emacs`mark_object + 1087
frame #136080: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136081: 0x00000001000f61df Emacs`mark_object + 1087
frame #136082: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136083: 0x00000001000f61df Emacs`mark_object + 1087
frame #136084: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136085: 0x00000001000f61df Emacs`mark_object + 1087
frame #136086: 0x00000001000f6443 Emacs`mark_object + 1699
frame #136087: 0x00000001000f65a9 Emacs`mark_buffer + 105
frame #136088: 0x00000001000faffd Emacs`Fgarbage_
frame #136089: 0x000000010014ad63 Emacs`exec_
frame #136090: 0x00000001001169b7 Emacs`funcall_
frame #136091: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136092: 0x000000010014b108 Emacs`exec_
frame #136093: 0x00000001001169b7 Emacs`funcall_
frame #136094: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136095: 0x000000010014b108 Emacs`exec_
frame #136096: 0x00000001001169b7 Emacs`funcall_
frame #136097: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136098: 0x0000000100116b5e Emacs`call1 + 30
frame #136099: 0x0000000100131c4b Emacs`Fmapatoms + 203
frame #136100: 0x0000000100113990 Emacs`Ffuncall + 1200
frame #136101: 0x000000010014b108 Emacs`exec_
frame #136102: 0x00000001001169b7 Emacs`funcall_
frame #136103: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136104: 0x000000010014b108 Emacs`exec_
frame #136105: 0x00000001001169b7 Emacs`funcall_
frame #136106: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136107: 0x000000010014b108 Emacs`exec_
frame #136108: 0x00000001001161d7 Emacs`eval_sub + 1463
frame #136109: 0x00000001001152f5 Emacs`internal_
frame #136110: 0x000000010014bca4 Emacs`exec_
frame #136111: 0x00000001001169b7 Emacs`funcall_
frame #136112: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136113: 0x000000010014b108 Emacs`exec_
frame #136114: 0x00000001001169b7 Emacs`funcall_
frame #136115: 0x00000001001165b3 Emacs`apply_lambda + 291
frame #136116: 0x00000001001162f7 Emacs`eval_sub + 1751
frame #136117: 0x0000000100111509 Emacs`Fprogn + 41
frame #136118: 0x000000010010709e Emacs`Fsave_
frame #136119: 0x0000000100115f95 Emacs`eval_sub + 885
frame #136120: 0x0000000100116969 Emacs`funcall_
frame #136121: 0x0000000100113968 Emacs`Ffuncall + 1160
frame #136122: 0x00000001001158f6 Emacs`apply1 + 38
frame #136123: 0x000000010010f8b9 Emacs`Fcall_
frame #136124: 0x00000001001138a4 Emacs`Ffuncall + 964
frame #136125: 0x0000000100116b36 Emacs`call3 + 38
frame #136126: 0x00000001000aeb12 Emacs`command_
frame #136127: 0x00000001001151f9 Emacs`internal_
frame #136128: 0x00000001000ae4dd Emacs`command_
frame #136129: 0x00000001001152f5 Emacs`internal_
frame #136130: 0x00000001000afee2 Emacs`recursive
frame #136131: 0x00000001000a0b67 Emacs`Frecursiv
frame #136132: 0x000000010009d8b8 Emacs`main + 5208
frame #136133: 0x0000000100002554 Emacs`start + 52
(lldb) exit
Quitting LLDB will kill one or more processes. Do you really want to proceed: [Y/n] y
udp003015uds:~ $
-------
Changed in vm: | |
status: | New → Incomplete |
importance: | Undecided → High |
Indeed, Emacs 24.3 crashed for me quite often on Windows. So, I haven't
switched to it. I am still using Emacs 24.2.
Uday