[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#46722: test-map-into fails
From: |
Basil L. Contovounesios |
Subject: |
bug#46722: test-map-into fails |
Date: |
Tue, 23 Feb 2021 20:58:52 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
Stefan Monnier <monnier@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
Description: application/emacs-lisp