all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail
@ 2013-09-02  6:02 Katsumi Yamaoka
  2013-09-02 10:02 ` Katsumi Yamaoka
  0 siblings, 1 reply; 4+ messages in thread
From: Katsumi Yamaoka @ 2013-09-02  6:02 UTC (permalink / raw)
  To: 15247

Hi,

Recently Emacs on Cygwin crashes pretty often when I try to reply
to a mail in a new frame[1] using Gnus.  I feel the frequency gets
high if a mail cites Japanese and Chinese mixture text (so, it's
due to decoding of characters?).  But it hardly crashes if I have
a new empty message frame in advance besides the summary frame.
It happened too also when I used the LUCID toolkit last week.
I don't know what's wrong, sorry, but a gdb backtrace is attached.

Thanks.

[1] I use:
    http://www.jpl.org/ftp/pub/elisp/message-multiple-frames.el.gz
    It pops up a message frame after composing it.

In GNU Emacs 24.3.50.1 (i686-pc-cygwin, GTK+ Version 3.8.2)
 of 2013-09-02 on localhost
Bzr revision: 114096 dmantipov@yandex.ru-20130902033906-qqu9pis0ksze2lmg
Windowing system distributor `The Cygwin/X Project', version 11.0.11402000
Configured using:
Configured using:
 `configure --verbose --with-x-toolkit=gtk3 --without-imagemagick
 --without-dbus --without-gconf --without-gsettings'

Important settings:
  value of $LC_CTYPE: ja_JP.UTF-8
  value of $LC_MESSAGES: C
  value of $LANG: C
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

A backtrace follows:

GNU gdb (GDB) 7.6.50.20130728-cvs (cygwin-special)
[...]
Fatal error 6: Aborted
Program received signal SIGABRT, Aborted.
terminate_due_to_signal (sig=2265648, backtrace_limit=164) at emacs.c:372
372       exit (1);
(gdb) bt
#0  terminate_due_to_signal (sig=2265648, backtrace_limit=164) at emacs.c:372
#1  0x3818cf46 in ?? ()
#2  0x00229230 in ?? ()
#3  0x7693543c in WriteFile () from /cygdrive/c/windows/system32/kernel32.dll
#4  0x610dc5a0 in sig_send(_pinfo*, siginfo_t&, _cygtls*)@12 (p=0x60fd0000,
    p@entry=0x0, si=..., tls=tls@entry=0x0)
    at /usr/src/debug/cygwin-1.7.24-1/winsup/cygwin/sigproc.cc:624
#5  0x610d9c4d in _pinfo::kill(siginfo_t&)@8 (this=0x0, si=...)
    at /usr/src/debug/cygwin-1.7.24-1/winsup/cygwin/signal.cc:248
#6  0x00229274 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb)





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail
  2013-09-02  6:02 bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail Katsumi Yamaoka
@ 2013-09-02 10:02 ` Katsumi Yamaoka
  2013-09-02 12:29   ` martin rudalics
  0 siblings, 1 reply; 4+ messages in thread
From: Katsumi Yamaoka @ 2013-09-02 10:02 UTC (permalink / raw)
  To: 15247-done

Katsumi Yamaoka wrote:
> Recently Emacs on Cygwin crashes pretty often when I try to reply
> to a mail in a new frame[1] using Gnus.  I feel the frequency gets
> high if a mail cites Japanese and Chinese mixture text (so, it's
> due to decoding of characters?).  But it hardly crashes if I have
> a new empty message frame in advance besides the summary frame.

I realized that this is caused by `make-frame-invisible' that runs
when there is only one Emacs frame.  At least for Cygwin, you should
be able to reproduce it in this way:

emacs -Q --eval '(make-frame-invisible (selected-frame) t)'

I also guess that it was harmless until about a week ago.

Why such an odd thing was run is because I was using this advice
to make `raise-frame' work on Cygwin.

(defadvice raise-frame (before make-it-work (&optional frame) activate)
  "Make it work on Cygwin."
  (make-frame-invisible frame t))

As I wrote in <http://thread.gmane.org/gmane.emacs.devel/150533>,
`raise-frame' doesn't raise iconified, invisible, or hidden frame.
Now I changed it into:

(defadvice raise-frame (before make-it-work (&optional frame) activate)
  "Make it work on Cygwin."
  (or (eq frame (selected-frame))
      (make-frame-invisible frame)))

Even if Emacs should not crash for any Lisp code, it's a trivial
one among many(?) issues concerning Cygwin.  So, I'm closing this
bug.  Sorry for the noise.





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail
  2013-09-02 10:02 ` Katsumi Yamaoka
@ 2013-09-02 12:29   ` martin rudalics
  2013-09-02 23:27     ` Katsumi Yamaoka
  0 siblings, 1 reply; 4+ messages in thread
From: martin rudalics @ 2013-09-02 12:29 UTC (permalink / raw)
  To: 15247, yamaoka

 > I realized that this is caused by `make-frame-invisible' that runs
 > when there is only one Emacs frame.  At least for Cygwin, you should
 > be able to reproduce it in this way:
 >
 > emacs -Q --eval '(make-frame-invisible (selected-frame) t)'
 >
 > I also guess that it was harmless until about a week ago.

Should be harmless again with revision 114106.

 > Why such an odd thing was run is because I was using this advice
 > to make `raise-frame' work on Cygwin.
 >
 > (defadvice raise-frame (before make-it-work (&optional frame) activate)
 >   "Make it work on Cygwin."
 >   (make-frame-invisible frame t))
 >
 > As I wrote in <http://thread.gmane.org/gmane.emacs.devel/150533>,
 > `raise-frame' doesn't raise iconified, invisible, or hidden frame.
 > Now I changed it into:
 >
 > (defadvice raise-frame (before make-it-work (&optional frame) activate)
 >   "Make it work on Cygwin."
 >   (or (eq frame (selected-frame))
 >       (make-frame-invisible frame)))

I don't understand fully: Above you say that "`raise-frame' doesn't
raise iconified, invisible, or hidden frame" and in the before-advice
or `raise-frame' you make the frame invisible?	

 > Even if Emacs should not crash for any Lisp code,

It should not, indeed.

 > it's a trivial
 > one among many(?) issues concerning Cygwin.  So, I'm closing this
 > bug.  Sorry for the noise.

martin





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail
  2013-09-02 12:29   ` martin rudalics
@ 2013-09-02 23:27     ` Katsumi Yamaoka
  0 siblings, 0 replies; 4+ messages in thread
From: Katsumi Yamaoka @ 2013-09-02 23:27 UTC (permalink / raw)
  To: martin rudalics; +Cc: 15247

martin rudalics wrote:
>> emacs -Q --eval '(make-frame-invisible (selected-frame) t)'
>> I also guess that it was harmless until about a week ago.

> Should be harmless again with revision 114106.

Thanks!

[...]
>> As I wrote in <http://thread.gmane.org/gmane.emacs.devel/150533>,
>> `raise-frame' doesn't raise iconified, invisible, or hidden frame.
>> Now I changed it into:
>>
>> (defadvice raise-frame (before make-it-work (&optional frame) activate)
>>   "Make it work on Cygwin."
>>   (or (eq frame (selected-frame))
>>       (make-frame-invisible frame)))

> I don't understand fully: Above you say that "`raise-frame' doesn't
> raise iconified, invisible, or hidden frame" and in the before-advice
> or `raise-frame' you make the frame invisible?

Yes, it does.  So far once vanishing a frame, that is alive but
is iconified or hidden behind other frames, from a Windows desktop
is the only means to make `raise-frame' raise the frame to the top.
Another way is:

(defadvice raise-frame (around make-it-work (&optional frame) activate)
;;                      ^^^^^^
  "Make it work on Cygwin."
  (unless (eq frame (selected-frame))
    (make-frame-invisible frame)
    (make-frame-visible frame)))

I found it through trial and trial and trial ... and error. ;)





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-09-02 23:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-02  6:02 bug#15247: 24.3.50; Emacs Cygwin crashes when replying to a mail Katsumi Yamaoka
2013-09-02 10:02 ` Katsumi Yamaoka
2013-09-02 12:29   ` martin rudalics
2013-09-02 23:27     ` Katsumi Yamaoka

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.