unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Dan Nicolaescu <dann@gnu.org>
Cc: stephen@xemacs.org, emacs-devel@gnu.org
Subject: Re: valgrind warnings [Re: Emacs bzr memory footprint]
Date: Fri, 28 Oct 2011 17:27:55 +0200	[thread overview]
Message-ID: <83obx19lvo.fsf@gnu.org> (raw)
In-Reply-To: <yxqobx1qj04.fsf@fencepost.gnu.org>

> From: Dan Nicolaescu <dann@gnu.org>
> Cc: "Stephen J. Turnbull" <stephen@xemacs.org>,  emacs-devel@gnu.org
> Date: Fri, 28 Oct 2011 10:38:03 -0400
> 
> > Valgrind produces these warnings, maybe some of them are interesting:
> >
> > ==30382== Conditional jump or move depends on uninitialised value(s)
> > ==30382==    at 0x4731E6: note_mouse_highlight (xdisp.c:26841)
> > ==30382==    by 0x4F8682: note_mouse_movement (xterm.c:3830)
> > ==30382==    by 0x4FCB2E: handle_one_xevent (xterm.c:6652)
> > ==30382==    by 0x4FD792: XTread_socket (xterm.c:7133)
> > ==30382==    by 0x5437F7: read_avail_input (keyboard.c:6821)
> > ==30382==    by 0x54409F: handle_async_input (keyboard.c:7149)
> > ==30382==    by 0x5440BE: process_pending_signals (keyboard.c:7165)
> > ==30382==    by 0x62D713: wait_reading_process_output (process.c:4340)
> > ==30382==    by 0x419ED2: sit_for (dispnew.c:5971)
> > ==30382==    by 0x53AF87: read_char (keyboard.c:2687)
> > ==30382==    by 0x548876: read_key_sequence (keyboard.c:9290)
> > ==30382==    by 0x538709: command_loop_1 (keyboard.c:1447)
> 
> This is because window_from_coordinates in note_mouse_highlight is
> passed "&part", where "part" is an uninitialized local variable.
> When !NILP(window) "part" is not touched, so it stays uninitialized.

That's not my reading of the code.  Here's what happens in
window_from_coordinates:

  window = Qnil;
  cw.window = &window, cw.x = x, cw.y = y; cw.part = part;
  foreach_window (f, check_window_containing, &cw);

So cw.part now holds "part", which is a pointer.
check_window_containing does this:

  found = coordinates_in_window (w, cw->x, cw->y);
  if (found != ON_NOTHING)
    {
      *cw->part = found;
      XSETWINDOW (*cw->window, w);

So if it finds a window, it touches "part" through cw->part and sets
`window' (through cw->window) to a non-nil value.  Now back in
window_from_coordinates:

  if (NILP (window)
      && tool_bar_p
      && WINDOWP (f->tool_bar_window)
      && WINDOW_TOTAL_LINES (XWINDOW (f->tool_bar_window)) > 0
      && (coordinates_in_window (XWINDOW (f->tool_bar_window), x, y)
	  != ON_NOTHING))
    {
      *part = ON_TEXT;
      window = f->tool_bar_window;
    }

If `window' is non-nil, "part" was already set inside
check_window_containing, so there's no need to set it again.

Am I missing something or did this tricky code dupe valgrind?



  parent reply	other threads:[~2011-10-28 15:27 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13  9:24 Emacs bzr memory footprint Carsten Mattner
2011-10-13 10:01 ` Eli Zaretskii
2011-10-13 10:33   ` Andreas Schwab
2011-10-13 10:46     ` Eli Zaretskii
2011-10-13 13:08       ` Carsten Mattner
2011-10-13 13:38         ` Eli Zaretskii
2011-10-13 15:22           ` Miles Bader
2011-10-13 15:30             ` Eli Zaretskii
2011-10-13 16:16               ` Stefan Monnier
2011-10-13 17:33                 ` Dmitry Antipov
2011-10-13 18:42                   ` Eli Zaretskii
2011-10-14  3:09                     ` Dmitry Antipov
2011-10-13 16:46             ` Stephen J. Turnbull
2011-10-13 16:59               ` Carsten Mattner
2011-10-13 13:13   ` Carsten Mattner
2011-10-13 13:43     ` Eli Zaretskii
2011-10-13 14:10       ` Dave Abrahams
2011-10-13 14:46         ` Eli Zaretskii
2011-10-13 15:05           ` Dave Abrahams
2011-10-13 14:22       ` Stefan Monnier
2011-10-13 16:55         ` Carsten Mattner
2011-10-13 17:09           ` Stefan Monnier
2011-10-14 12:11             ` Carsten Mattner
2011-10-14 21:02             ` John Wiegley
2011-10-15  1:22               ` Stefan Monnier
2011-10-13 17:22           ` Richard Riley
2011-10-13 16:12       ` Chong Yidong
2011-10-13 20:18     ` chad
2011-10-14 12:13       ` Carsten Mattner
2011-10-14 12:18         ` Carsten Mattner
2011-10-14 15:49           ` Sven Joachim
2011-10-14 16:30             ` Ted Zlatanov
2011-10-14 16:48               ` Sven Joachim
2011-10-14 17:16                 ` Carsten Mattner
2011-10-15 18:12                 ` Sven Joachim
2011-10-20 13:35                 ` Nix
2011-10-20 23:02                   ` John Wiegley
2011-10-21  0:19                     ` Nix
2011-10-21  8:19                       ` Eli Zaretskii
2011-10-21 12:05                         ` Nix
2011-10-21 12:36                           ` Eli Zaretskii
2011-10-21 12:47                             ` Nix
2011-10-21 14:30                               ` Dmitry Antipov
2011-10-21 15:22                                 ` Nix
2011-10-21 18:29                                   ` Dmitry Antipov
2011-10-21 18:36                                     ` Nix
2011-10-21 13:30                       ` Stefan Monnier
2011-10-21 15:02                         ` Nix
2011-10-21 17:52                           ` Stefan Monnier
2011-10-21 19:12                             ` Nix
2011-10-21 15:34                         ` Dmitry Antipov
2011-10-21 18:00                           ` Stefan Monnier
2011-10-21 18:27                             ` Óscar Fuentes
2011-10-21 18:58                               ` Eli Zaretskii
2011-10-21 19:11                               ` Nix
2011-10-21 20:18                                 ` Eli Zaretskii
2011-10-21 20:21                                   ` Nix
2011-10-22  7:34                             ` Carsten Mattner
2011-10-22  8:30                               ` Stephen J. Turnbull
2011-10-22 12:03                                 ` Carsten Mattner
2011-10-22 16:08                                   ` Stephen J. Turnbull
2011-10-27 22:10                                     ` Ted Zlatanov
2011-10-28  6:40                                       ` Eli Zaretskii
2011-10-28  9:34                                         ` Stephen J. Turnbull
2011-10-28  9:47                                           ` Eli Zaretskii
2011-10-28 10:22                                             ` Stephen J. Turnbull
2011-10-28 10:36                                               ` Eli Zaretskii
2011-10-28 11:52                                                 ` valgrind warnings [Re: Emacs bzr memory footprint] Dan Nicolaescu
2011-10-28 14:08                                                   ` Stephen J. Turnbull
2011-10-28 14:38                                                   ` Dan Nicolaescu
2011-10-28 15:17                                                     ` Chong Yidong
2011-10-28 15:35                                                       ` Eli Zaretskii
2011-10-28 15:27                                                     ` Eli Zaretskii [this message]
2011-10-28 16:34                                                       ` Dan Nicolaescu
2011-10-28 18:36                                                         ` Eli Zaretskii
2011-10-28 18:51                                                           ` Eli Zaretskii
2011-10-28 18:52                                                           ` Dan Nicolaescu
2011-10-28 19:03                                                             ` Eli Zaretskii
2011-10-28 15:08                                                   ` Ted Zlatanov
2011-12-04 21:11                                                     ` Florian Weimer
2011-10-28 20:20                                                   ` Dan Nicolaescu
2011-10-29  3:40                                                     ` Chong Yidong
2011-10-29  7:04                                                       ` Andreas Schwab
2011-10-29 16:25                                                         ` Stefan Monnier
2011-11-04 12:51                                                           ` Dan Nicolaescu
2011-11-04 13:08                                                             ` Andreas Schwab
2011-11-04 15:50                                                             ` valgrind warnings Paul Eggert
2011-11-04 17:37                                                             ` valgrind warnings [Re: Emacs bzr memory footprint] Stefan Monnier
2011-11-04 19:10                                                               ` Dan Nicolaescu
2011-11-04 20:56                                                                 ` Paul Eggert
2011-11-05 22:08                                                                   ` Dan Nicolaescu
2011-11-06  2:34                                                                     ` Paul Eggert
2011-11-06 12:37                                                                       ` Dan Nicolaescu
2011-11-07  1:13                                                                         ` Paul Eggert
2011-10-29  9:10                                                     ` Eli Zaretskii
2011-10-22  8:44                               ` Emacs bzr memory footprint Sven Joachim
2011-10-22 11:57                                 ` Carsten Mattner
2011-10-23 18:04                               ` Stefan Monnier
2011-10-25 17:35                         ` Nix
2011-10-25 20:23                           ` Stefan Monnier
2011-10-25 20:34                             ` Nix
2011-10-26 14:52                             ` gnutls memory leak [Was: Re: Emacs bzr memory footprint] Chong Yidong
2011-10-27  6:10                               ` Chong Yidong
2011-10-27 22:01                                 ` Ted Zlatanov
2011-10-28 12:04                                   ` Ted Zlatanov
2011-10-28 17:29                                     ` Nix
2011-10-27 22:03                               ` Ted Zlatanov
2011-10-13 21:23 ` Emacs bzr memory footprint Dan Nicolaescu
2011-10-14 13:04 ` Carsten Mattner
2011-10-14 18:13 ` James Cloos
2011-10-17 20:52   ` Juri Linkov
2011-10-17 23:34     ` James Cloos
2011-10-18  7:24       ` Andreas Schwab

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=83obx19lvo.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=dann@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=stephen@xemacs.org \
    /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.
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).