GNU bug report logs - #1748
23.0.60; display of multiple frames: refresh and memory problems

Previous Next

Packages: w32, emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Wed, 31 Dec 2008 06:10:04 UTC

Severity: normal

Merged with 950, 2524

Done: Jason Rumney <jasonr <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1748 in the body.
You can then email your comments to 1748 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1748; Package emacs. (Wed, 31 Dec 2008 06:10:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to "Drew Adams" <drew.adams <at> oracle.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. (Wed, 31 Dec 2008 06:10:05 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: "Drew Adams" <drew.adams <at> oracle.com>
To: <emacs-pretest-bug <at> gnu.org>
Subject: 23.0.60; display of multiple frames: refresh and memory problems
Date: Tue, 30 Dec 2008 22:03:03 -0800
I see this with my own setup, which uses more faces etc., but I
can reproduce it to some extent in emacs -Q. When many frames
are open, I see these problems, in order of severity, severity
worsening with more frames:
 
1. Redisplay problems. If a frame is partly behind another frame or
other window-mgr window, and the occluding frame is iconified or moved
out of the way, then the formerly hidden part of the occluded frame
that is now visible is not refreshed - it stays blanked out.
 
With enough frames it is never refreshed until I do `C-l'. The result
is that in practice, with my setup, having several frames means I must
often do `C-l' to see a frame.
 
2. Memory problems. With enough frames opened, I get a memory warning
from Emacs, or Emacs hangs altogether, or it crashes.
 
With my own setup, the redisplay problems happen with even a few frames,
the memory 75% warning appears with about 15 frames. And if I open, say 20
frames, Emacs hangs and I need to use the task manager to kill it - or it
crashes. With Emacs 20 through 22, I never see any such problems. I can have
several Emacses open at once, with any number of frames for each. As soon as I
use Emacs 23, I run into these problems.

With emacs -Q, it takes many, many more frames for problem #1 to appear, and I
have not yet seen problem #2. As I write this, I'm seeing the redisplay problem
somewhat in emacs -Q, with 30 frames open. But the problem is still slight in
emacs -Q: if I move a frame the others are redisplayed pretty quickly.

If I can isolate anything else in my own setup that contributes to this I'll
send it along, but that might not be soon or easy.
 
A quick way to test the redisplay problem with emacs -Q is to load dired-x.el,
set pop-up-frames to t, and eval this:
 
(defun dired-simultaneous-find-file (file-list option)
  "Same as original, but respects `pop-up-frames'."
  (let (size)
    (cond ((and option (natnump option))
           (while file-list (find-file-noselect (car file-list)) (pop
file-list)))
          ((or pop-up-frames option)
           (while file-list (find-file-other-frame (car file-list)) (pop
file-list)))
          (t
           (setq size (/ (window-height) (length file-list)))
           (when (> window-min-height size)
             (error "Too many files to visit simultaneously.  Try C-u prefix."))
           (find-file (car file-list))
           (pop file-list)
           (while file-list
             ;; Vertically split off a window of desired size.
             ;; Upper window will have SIZE lines.
             ;; Select lower (larger) window.  We split it again.
             (select-window (split-window nil size))
             (find-file (car file-list))
             (pop file-list))))))
 
Then mark lots of files in Dired and hit `F' to open them all in
separate frames.
 
 
In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2008-12-30 on LENNART-69DE564
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4) --no-opt --cflags -Ic:/g/include
-fno-crossjumping'
 





bug reassigned from package `emacs' to `emacs,w32'. Request was from Jason Rumney <jasonr <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Mon, 02 Mar 2009 22:55:04 GMT) Full text and rfc822 format available.

Forcibly Merged 950 1748 2524. Request was from Jason Rumney <jasonr <at> gnu.org> to control <at> emacsbugs.donarmstrong.com. (Mon, 02 Mar 2009 22:55:04 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> emacsbugs.donarmstrong.com. (Mon, 13 Apr 2009 14:24:11 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 122 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.