unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Paul Eggert <eggert@cs.ucla.edu>
To: Po Lu <luangruo@yahoo.com>
Cc: 53136@debbugs.gnu.org
Subject: bug#53136: 28.0.90; segfault in lock_file
Date: Wed, 12 Jan 2022 11:22:16 -0800	[thread overview]
Message-ID: <26806973-65bb-c80d-3297-afbc19e911de@cs.ucla.edu> (raw)
In-Reply-To: <87y23lwt62.fsf@yahoo.com>

[-- Attachment #1: Type: text/plain, Size: 544 bytes --]

On 1/11/22 19:04, Po Lu wrote:
> (lock-file "~/any/nonexistent/file/with/a/very/long/path")

Unfortunately I'm still not reproducing the problem on Fedora 35 x86-64. 
Here's how I tried to reproduce it, while in the src directory:

  valgrind --suppressions=valgrind.supp ./emacs -Q -batch -eval '
    (let ((f "/d"))
      (dotimes (i 13) (setq f (concat f f)))
      (lock-file f))
  '

I configured Emacs this way:

./configure --enable-checking

(in general this is needed if you want to use Valgrind), and used the 
attached valgrind.supp.

[-- Attachment #2: valgrind.supp --]
[-- Type: text/plain, Size: 1669 bytes --]

# valgrind suppression file
# Usage:
#    valgrind --suppressions=valgrind.supp ./temacs

# Conservative garbage collection inherently looks at uninitialized values,
# and garbage_collect and its callees all depend on this.
# It's hard to separate out exactly which callees need to be listed here,
# since the C compiler can inline them.  Also, valgrind doesn't care
# about the use of uninitialized variables directly, only when their values
# are eventually used.  So just list garbage_collect and its callees.
{
   garbage_collect Cond - conservative garbage collection
   Memcheck:Cond
   ...
   fun:garbage_collect
}
{
   garbage_collect Value8 - conservative garbage collection
   Memcheck:Value8
   ...
   fun:garbage_collect
}
# valgrind only looks at the last few callees on the stack, but
# mark_object can call itself recursively and deeply.  So list
# it too, in case garbage_collect is a long way from the stack top.
{
   mark_object Cond - conservative garbage collection
   Memcheck:Cond
   ...
   fun:mark_object
}
{
   mark_object Value8 - conservative garbage collection
   Memcheck:Value8
   ...
   fun:mark_object
}
# valgrind gets confused about mark_stack and loses its caller
{
   mark_stack Value8 - conservative garbage collection
   Memcheck:Value8
   ...
   fun:mark_stack
}

# On a circa-2017 x86-64 GNU/Linux platform, memmove falsely warns
# about overlapping moves.
{
   memmove false alarm about overlap
   Memcheck:Overlap
   ...
   fun:memmove
}

# On one circa-2011 x86-64 GNU/Linux platform, strlen is inlined to
# something that loads 4 bytes at a time.
#{
#   init_buffer optimized strlen
#   Memcheck:Addr4
#   fun:init_buffer
#}

  reply	other threads:[~2022-01-12 19:22 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <871r1hv40o.fsf.ref@yahoo.com>
2022-01-09  6:04 ` bug#53136: 28.0.90; segfault in lock_file Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09  7:36   ` Eli Zaretskii
2022-01-09  8:10     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09  8:42       ` Eli Zaretskii
2022-01-09  9:40         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09 11:43         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09 12:03           ` Eli Zaretskii
2022-01-10 23:11             ` Paul Eggert
2022-01-10 23:30               ` Paul Eggert
2022-01-11  0:51                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-11  0:51               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-11  1:05                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-12  2:59                   ` Paul Eggert
2022-01-12  3:04                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-12 19:22                       ` Paul Eggert [this message]
2022-01-11 12:45                 ` Eli Zaretskii
2022-01-11 13:16                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-11 17:05                     ` Paul Eggert
2022-01-12  0:35                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-11  0:58               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-11 12:30               ` Eli Zaretskii
2022-01-09 12:56           ` Eli Zaretskii
2022-01-09 13:00             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09 13:10               ` Eli Zaretskii
2022-01-09 13:16                 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09 13:23                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-09 13:30                     ` Eli Zaretskii
2022-01-09 13:47                     ` Andreas Schwab
2022-01-10  0:29                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

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=26806973-65bb-c80d-3297-afbc19e911de@cs.ucla.edu \
    --to=eggert@cs.ucla.edu \
    --cc=53136@debbugs.gnu.org \
    --cc=luangruo@yahoo.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.
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).