unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Hang in Emacs 21.3.50
@ 2002-11-29 11:15 Dhruva Krishnamurthy
  2002-11-29 13:26 ` Kai Großjohann
  2002-11-30 14:05 ` Richard Stallman
  0 siblings, 2 replies; 6+ messages in thread
From: Dhruva Krishnamurthy @ 2002-11-29 11:15 UTC (permalink / raw)
  Cc: Emacs Devel

Hello,
 I am using Emacs on W2K from CVS (21.3.50) compiled in MinGW32 2.0.

I try setting the default frame properties in 2 ways:
1.
(nconc default-frame-alist
       (list '(height . 40))
       (list '(font . "-*-Arial
       Monospaced-normal-r-*-*-13-*-*-*-c-*-fontset-standard"))
       (list '(background-color . "light grey")))
This works.

2.
(defconst my-def-font "-*-Arial
Monospaced-normal-r-*-*-13-*-*-*-c-*-fontset-standard")
(nconc default-frame-alist
       (list '(height . 40))
       (list '(font . my-def-font))
       (list '(background-color . "light grey")))

This hangs Emacs (99% CPU usage in task manager).

 I have no clue and do not know how to debug a HANG using GDB.

with regards,
dhruva

-- 
Dhruva Krishnamurthy

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

* Re: Hang in Emacs 21.3.50
  2002-11-29 11:15 Hang in Emacs 21.3.50 Dhruva Krishnamurthy
@ 2002-11-29 13:26 ` Kai Großjohann
  2002-11-30 14:05 ` Richard Stallman
  1 sibling, 0 replies; 6+ messages in thread
From: Kai Großjohann @ 2002-11-29 13:26 UTC (permalink / raw)


"Dhruva Krishnamurthy" <seagull@fastmail.fm> writes:

> 2.
> (defconst my-def-font "-*-Arial
> Monospaced-normal-r-*-*-13-*-*-*-c-*-fontset-standard")
> (nconc default-frame-alist
>        (list '(height . 40))
>        (list '(font . my-def-font))
>        (list '(background-color . "light grey")))

What you want is `(font . ,my-def-font) instead of '(font .
my-def-font) -- the latter uses the symbol my-def-font as the font,
the former evals it as a variable.

And I think nconc is somewhat dangerous (in esoteric cases).  How
about the following?

    (add-to-list 'default-frame-alist '(height . 40))
    (add-to-list 'default-frame-alist `(font . ,my-def-font))
    (add-to-list 'default-frame-alist '(background-color . "light grey"))

-- 
~/.signature is: umop ap!sdn    (Frank Nobis)

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

* Re: Hang in Emacs 21.3.50
  2002-11-29 11:15 Hang in Emacs 21.3.50 Dhruva Krishnamurthy
  2002-11-29 13:26 ` Kai Großjohann
@ 2002-11-30 14:05 ` Richard Stallman
  1 sibling, 0 replies; 6+ messages in thread
From: Richard Stallman @ 2002-11-30 14:05 UTC (permalink / raw)
  Cc: emacs-pretest-bug, emacs-devel

     I have no clue and do not know how to debug a HANG using GDB.

See etc/DEBUG for a lot of advice.  You can stop Emacs by typing
C-z at the window where GDB is running.

    What you want is `(font . ,my-def-font) instead of '(font .
    my-def-font) -- the latter uses the symbol my-def-font as the font,
    the former evals it as a variable.

This is a bug in Dhruva's code, but it still seems wrong
for Emacs to loop--it ought to report an error.  Can someone
debug why it loops, and make it report a clean error?

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

* Re: Hang in Emacs 21.3.50
@ 2002-12-04 11:01 Dhruva Krishnamurthy
  2002-12-04 15:18 ` Eli Zaretskii
  2002-12-04 21:57 ` Jason Rumney
  0 siblings, 2 replies; 6+ messages in thread
From: Dhruva Krishnamurthy @ 2002-12-04 11:01 UTC (permalink / raw)
  Cc: Emacs Bug, Emacs Devel

On Sat, 30 Nov 2002 09:05:57 -0500, "Richard Stallman" <rms@gnu.org>
said:
>      I have no clue and do not know how to debug a HANG using GDB.
> 
> See etc/DEBUG for a lot of advice.  You can stop Emacs by typing
> C-z at the window where GDB is running.

  Did not work in W2k, the interrupt must be some other key (C-Brk killed
  the session!)
  I built Emacs using MSVC 6.0 and debugged.

> This is a bug in Dhruva's code, but it still seems wrong
> for Emacs to loop--it ought to report an error.  Can someone
> debug why it loops, and make it report a clean error?

 I did some further debugging using MSVC 6.0 debugger. I would like to
 report another scenerio which causes a similar HANG (infinite loop) in
 w32fns.c:w32_msg_pump()

1. I use Aspell (latest : 05.3-2 I guess)
2. When I do "M-x ispell-buffer", it goes to w32fns.c:w32_msg_pump() and
gets into an infinite loop (GetMessage())
3. The thread exits (presumably Aspell) with return value "1" (some error
I guess).

I feel the threads are getting into some sort of dead lock. In the Aspell
case, I am quite sure of it.

IMHO, this bug needs to be examined by a Win32 internal experts or
generally threads experts.

with best regards,
dhruva

PS:
Emacs is multi threaded. Am I right or am I missing something.

-- 
Dhruva Krishnamurthy

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

* Re: Hang in Emacs 21.3.50
  2002-12-04 11:01 Dhruva Krishnamurthy
@ 2002-12-04 15:18 ` Eli Zaretskii
  2002-12-04 21:57 ` Jason Rumney
  1 sibling, 0 replies; 6+ messages in thread
From: Eli Zaretskii @ 2002-12-04 15:18 UTC (permalink / raw)
  Cc: emacs-pretest-bug, emacs-devel

> From: "Dhruva Krishnamurthy" <seagull@fastmail.fm>
> Date: Wed, 04 Dec 2002 16:31:22 +0530
> > 
> > See etc/DEBUG for a lot of advice.  You can stop Emacs by typing
> > C-z at the window where GDB is running.
> 
>   Did not work in W2k, the interrupt must be some other key (C-Brk killed
>   the session!)

See the end of the file etc/DEBUG, it explains how to stop Emacs from
the MSVC debugger.

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

* Re: Hang in Emacs 21.3.50
  2002-12-04 11:01 Dhruva Krishnamurthy
  2002-12-04 15:18 ` Eli Zaretskii
@ 2002-12-04 21:57 ` Jason Rumney
  1 sibling, 0 replies; 6+ messages in thread
From: Jason Rumney @ 2002-12-04 21:57 UTC (permalink / raw)
  Cc: Richard Stallman, Emacs Bug, Emacs Devel

"Dhruva Krishnamurthy" <seagull@fastmail.fm> writes:

>  I did some further debugging using MSVC 6.0 debugger. I would like to
>  report another scenerio which causes a similar HANG (infinite loop) in
>  w32fns.c:w32_msg_pump()
> 
> 1. I use Aspell (latest : 05.3-2 I guess)
> 2. When I do "M-x ispell-buffer", it goes to w32fns.c:w32_msg_pump() and
> gets into an infinite loop (GetMessage())

It is normal for the message pump thread to spend most of its time in
GetMessage(), and the loop is intentional. The lisp/redisplay thread
is more interesting in cases where Emacs appears to be hung.

> PS:
> Emacs is multi threaded. Am I right or am I missing something.

On MS Windows, there is the main Lisp thread, a message pump thread
(which simulates asynchronous signals and allow C-g to interrupt the
Lisp thread even when it is performing a blocking operation), and a
thread for each subprocess to handle I/O from that subprocess. The
latter thread normally exits when the subprocess exits, so the
message you see about a thread exiting is probably the thread
handling I/O for aspell, as you guessed.

The question, I think, is why does Emacs appear to hang when aspell
exits unexpectedly.

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

end of thread, other threads:[~2002-12-04 21:57 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-11-29 11:15 Hang in Emacs 21.3.50 Dhruva Krishnamurthy
2002-11-29 13:26 ` Kai Großjohann
2002-11-30 14:05 ` Richard Stallman
  -- strict thread matches above, loose matches on Subject: below --
2002-12-04 11:01 Dhruva Krishnamurthy
2002-12-04 15:18 ` Eli Zaretskii
2002-12-04 21:57 ` Jason Rumney

Code repositories for project(s) associated with this public inbox

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

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).