public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: SDS <sds.biz.main@gmail.com>
To: cygwin@cygwin.com
Subject: emacs-w32/X11 24.3-7 aborts frequently
Date: Thu, 21 Nov 2013 08:47:00 -0000	[thread overview]
Message-ID: <528DC853.3020503@gmail.com> (raw)
In-Reply-To: <528CAF88.4040400@cornell.edu>

Thanks for the assistance Ken, I appreciate it. I was able to uninstall 
Symantec Endpoint Protection, so the only piece of software that I may 
have from the BLODA list is now NVIDIA Geforce. I took your advice about 
experimentation, and I discovered some more information.

It turns out that Emacs will abort regardless of whether it's X11 or 
w32, or even whether TRAMP is in use (I changed the subject title to 
reflect this). However, while emacs-w32 does display an abort dialog box 
when it aborts, emacs-X11 does not. The minimal sequence of steps to 
generate an abort in emacs-w32 is now the following:

1) Run "emacs-w32 -Q &" in bash.
2) Use "M-x toggle-debug-on-error" to enable the Emacs Lisp Debugger.
3) Minimize the Emacs window and wait.

If I do this for many Emacs sessions at a time (e.g. seven), then at 
least one usually aborts within a few hours.

It's also not a strict requirement that the session be minimized or 
idle. I had one session abort while typing in my password for a remote 
directory access using TRAMP. This happened about three minutes after 
starting that session.

I've collected a number of Emacs session logs, detailing Lisp errors and 
abort backtraces from GDB, but I'm not sure how useful it would be to 
you. To summarize, the Lisp errors were of the following types:

> Debugger entered--Lisp error: (wrong-type-argument characterp [nil 21130 37499 445325 0.5 blink-cursor-timer-function nil nil 100000])

> Debugger entered--Lisp error: (wrong-type-argument vectorp [timer 1 2 3 8])
>   timer--time([t 21130 40941 448254 0.5 blink-cursor-timer-function nil nil 200000])
>   timer-inc-time([t 21130 40941 448254 0.5 blink-cursor-timer-function nil nil 200000] 0.5 0)
>   timer-event-handler([t 21130 40941 448254 0.5 blink-cursor-timer-function nil nil 200000])

> Debugger entered--Lisp error: (wrong-type-argument vectorp [timer timer-list timer-idle-list cell2 cell1 delq])
>   cancel-timer-internal([t 21133 47244 147431 0.5 blink-cursor-timer-function nil nil 300000])
>   timer-event-handler([t 21133 47244 147431 0.5 blink-cursor-timer-function nil nil 300000])

> Debugger entered--Lisp error: (wrong-type-argument vectorp [type high low micro pico 0 1 2 3 encode-time-value])
>   encode-time-value(0 0 500000 0 3)
>   time-add((0 0 500000 0) (0 0 0 0))
>   timer-relative-time((21131 38349 656688 100000) 0.5 0 nil)
>   timer-inc-time([t 21131 38349 656688 0.5 blink-cursor-timer-function nil nil 100000] 0.5 0)
>   timer-event-handler([t 21131 38349 656688 0.5 blink-cursor-timer-function nil nil 100000])

> Debugger entered--Lisp error: (wrong-type-argument vectorp [t1 time high low micro pico nil 3 0 2 1 1000000 65536 encode-time-value type x t2 time high2 low2 micro2 pico2 type2])
>   time-add((0 0 500000 0) (0 0 0 0))
>   timer-relative-time((21131 41603 304785 600000) 0.5 0 nil)
>   timer-inc-time([t 21131 41603 304785 0.5 blink-cursor-timer-function nil nil 600000] 0.5 0)
>   timer-event-handler([t 21131 41603 304785 0.5 blink-cursor-timer-function nil nil 600000])

> Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
>   timer--time(nil)
>   timer--time-less-p(nil [t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000])
>   timer--activate([t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000] t ([t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000]) nil)
>   timer-activate([t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000] t ([t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000]))
>   timer-event-handler([t 21132 30822 710309 0.5 blink-cursor-timer-function nil nil 500000])

> Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p (0 500000 0))
>   time-add((0 0 500000 0) (0 0 0 0))
>   timer-relative-time((21133 49736 725049 0) 0.5 0 nil)
>   timer-inc-time([t 21133 49736 725049 0.5 blink-cursor-timer-function nil nil 0] 0.5 0)
>   timer-event-handler([t 21133 49736 725049 0.5 blink-cursor-timer-function nil nil 0])

> Debugger entered--Lisp error: (setting-constant time)
>   time-add((21131 41702 583779 900000) (0 0 500000 0))
>   timer-relative-time((21131 41702 583779 900000) 0.5 0 nil)
>   timer-inc-time([t 21131 41702 583779 0.5 blink-cursor-timer-function nil nil 900000] 0.5 0)
>   timer-event-handler([t 21131 41702 583779 0.5 blink-cursor-timer-function nil nil 900000])

> Debugger entered--Lisp error: (error "Bogus timer event")
>   signal(error ("Bogus timer event"))
>   error("Bogus timer event")
>   timer-event-handler([t 21130 39246 55316 0.5 blink-cursor-timer-function nil nil 300000])

> Debugger entered--Lisp error: (error "Lisp nesting exceeds `max-lisp-eval-depth'")
>   seconds-to-time(0.5)
>   timer-relative-time((21133 50618 225363 0) 0.5 0 nil)
>   timer-inc-time([t 21133 50618 225363 0.5 blink-cursor-timer-function nil nil 0] 0.5 0)
>   timer-event-handler([t 21133 50618 225363 0.5 blink-cursor-timer-function nil nil 0])

There were also a few general errors such as:

> Memory exhausted--use C-x s then exit and restart Emacs

For aborts, I only have backtraces for emacs-w32, since emacs-X11 didn't 
allow me to attach GDB before aborting. Most of those backtraces look 
like this:

> #0  0x000007fefd723ca3 in KERNELBASE!DebugBreak () from /cygdrive/c/Windows/system32/KERNELBASE.dll
> #1  0x000000010056f32b in emacs_abort () at /usr/src/debug/emacs-24.3-7/src/w32fns.c:7714
> #2  0x0000000100512415 in funcall_lambda (fun=4302317845, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x429360) at /usr/src/debug/emacs-24.3-7/src/eval.c:2953
> #3  0x000000010051267b in Ffuncall (nargs=2, args=0x429358) at /usr/src/debug/emacs-24.3-7/src/eval.c:2839
> #4  0x000000010054757d in exec_byte_code (bytestr=1099511627775, vector=4363088, maxdepth=7204224, args_template=4303920544, nargs=0, args=0x87ffff0000) at /usr/src/debug/emacs-24.3-7/src/bytecode.c:900
> #5  0x0000000100512343 in funcall_lambda (fun=4302320805, nargs=nargs@entry=3, arg_vector=arg_vector@entry=0x429600) at /usr/src/debug/emacs-24.3-7/src/eval.c:3010
> #6  0x000000010051267b in Ffuncall (nargs=4, args=0x4295f8) at /usr/src/debug/emacs-24.3-7/src/eval.c:2839
> #7  0x000000010054757d in exec_byte_code (bytestr=1099511627775, vector=4363784, maxdepth=7204224, args_template=4303920544, nargs=4304522528, args=0x87ffff0000) at /usr/src/debug/emacs-24.3-7/src/bytecode.c:900
> #8  0x0000000100512343 in funcall_lambda (fun=4302324197, nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x429888) at /usr/src/debug/emacs-24.3-7/src/eval.c:3010
> #9  0x000000010051267b in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x429880) at /usr/src/debug/emacs-24.3-7/src/eval.c:2839
> #10 0x00000001005129dd in call1 (fn=<optimized out>, arg1=arg1@entry=4308750221) at /usr/src/debug/emacs-24.3-7/src/eval.c:2572
> #11 0x00000001004a6b34 in timer_check_2 (idle_timers=<optimized out>, timers=<optimized out>) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:4387
> #12 timer_check () at /usr/src/debug/emacs-24.3-7/src/keyboard.c:4454
> #13 0x00000001004a6f6a in readable_events (flags=1) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:3351
> #14 0x00000001004a7e85 in get_input_pending (flags=flags@entry=1) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:6680
> #15 0x00000001004aa2ad in detect_input_pending_run_timers (do_display=do_display@entry=true) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:10273
> #16 0x0000000100551406 in wait_reading_process_output (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=do_display@entry=true, wait_for_cell=wait_for_cell@entry=4304630834, wait_proc=wait_proc@entry=0x0,
>     just_wait_proc=just_wait_proc@entry=0) at /usr/src/debug/emacs-24.3-7/src/process.c:4743
> #17 0x00000001004ab2ae in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x42a2e7, kbp=<synthetic pointer>) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:3803
> #18 read_char (commandflag=1, nmaps=2, maps=0x42a1c0, prev_event=4304630834, used_mouse_menu=0x42a2e7, end_time=end_time@entry=0x0) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:2769
> #19 0x00000001004ad463 in read_key_sequence (keybuf=keybuf@entry=0x42a430, prompt=<optimized out>, dont_downcase_last=dont_downcase_last@entry=false, can_return_switch_frame=can_return_switch_frame@entry=true, fix_current_buffer=fix_current_buffer@entry=true,
>     bufsize=30) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:9231
> #20 0x00000001004af75e in command_loop_1 () at /usr/src/debug/emacs-24.3-7/src/keyboard.c:1459
> #21 0x0000000100510cde in internal_condition_case (bfun=bfun@entry=0x1004af540 <command_loop_1>, handlers=4304832354, hfun=hfun@entry=0x1004a58a0 <cmd_error>) at /usr/src/debug/emacs-24.3-7/src/eval.c:1289
> #22 0x00000001004a09da in command_loop_2 (ignore=ignore@entry=4304630834) at /usr/src/debug/emacs-24.3-7/src/keyboard.c:1168
> #23 0x0000000100510b9f in internal_catch (tag=<optimized out>, func=func@entry=0x1004a09b0 <command_loop_2>, arg=4304630834) at /usr/src/debug/emacs-24.3-7/src/eval.c:1060
> #24 0x00000001004a5374 in command_loop () at /usr/src/debug/emacs-24.3-7/src/keyboard.c:1147
> #25 recursive_edit_1 () at /usr/src/debug/emacs-24.3-7/src/keyboard.c:779
> #26 0x00000001004a56a7 in Frecursive_edit () at /usr/src/debug/emacs-24.3-7/src/keyboard.c:843
> #27 0x00000001005ab7d3 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/emacs-24.3-7/src/emacs.c:1532

The rest are a slight variation of this. There was one occasion where 
emacs-w32 just hanged, taking up 100% of a virtual CPU core, and I had 
to kill it from bash. This has also occasionally happened with the ssh 
process when I do a save-buffer using TRAMP, but I can usually use C-g 
to quit the command and recover from the hang. Repeated attempts to save 
hang as well, but I can rename/copy/delete the file in Dired. I can also 
usually write to the same file if I just restart Emacs. This may be more 
of an issue with the remote than Emacs, so I'm not as concerned with 
this as I am with the aborting.

If you want the full logs, I can clean them up and attach them. I can 
also get you more information from GDB if it helps.


Cheers,

SDS



--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  reply	other threads:[~2013-11-21  8:47 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-18 20:14 emacs-w32 24.3-7 aborts frequently using TRAMP SDS
2013-11-18 20:54 ` SDS
2013-11-20 12:49   ` Ken Brown
2013-11-21  8:47     ` SDS [this message]
2013-11-21 18:07       ` emacs-w32/X11 24.3-7 aborts frequently SDS
2013-11-25 19:01       ` Ken Brown
2013-11-25 23:18         ` SDS
2013-11-28 15:17           ` SDS
2013-11-28 18:05             ` Ken Brown
2013-11-18 22:15 ` emacs-w32 24.3-7 aborts frequently using TRAMP SDS

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=528DC853.3020503@gmail.com \
    --to=sds.biz.main@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).