GNU bug report logs - #46722
test-map-into fails

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Tue, 23 Feb 2021 16:23:01 UTC

Severity: normal

Merged with 53365

Found in versions 27.2, 28.0.50, 29.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 46722 <at> debbugs.gnu.org
Subject: bug#46722: test-map-into fails
Date: Tue, 23 Feb 2021 20:58:52 +0000
[Message part 1 (text/plain, inline)]
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> This kind of code is supposed to be fully deterministic, so it's quite
> worrisome.  It sounds/smells like memory corruption or some other bug in
> the memory management.
>
> If you could come up with a reasonably simple code (in the sense that it
> doesn't take too long to run) to reproduce this problem with a high
> probability, maybe we can start adding some tracing to try and figure
> out what's going on.
>
> IOW, try and write a loop that runs the problematic code a couple
> hundred times, so that one of those should fail.  Then try and cut down
> the code as much as possible, verifying along the way that the problem
> didn't disappear.

Here's the simplest repro I could find:

  ;;; foo.el -*- lexical-binding: t -*-
  (require 'map)
  (map-into () '(hash-table))
  ;;; foo.el ends here

followed by:

  emacs -Q -batch -f batch-byte-compile foo.el
  while emacs -Q -batch -l foo.elc; do :; done

which barfs the attached after a few seconds.

The same happens with:

  (map-into () '(hash-table :test eq))
  (map-into () '(hash-table :test eql))
  (map-into () '(hash-table :test equal))

but not with:

  (map-into () 'hash-table)

so maybe the heisenbug lies with cl-defmethod's treatment of 'head'?

Let me know if you'd like me to run anything else.

Thanks,

-- 
Basil

[backtrace.el (application/emacs-lisp, attachment)]

This bug report was last modified 3 years and 123 days ago.

Previous Next


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