[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36877: 25.3; uniquify renaway uniquify-managed list
From: |
David Biesack |
Subject: |
bug#36877: 25.3; uniquify renaway uniquify-managed list |
Date: |
Fri, 9 Aug 2019 15:58:22 +0000 |
Debugger entered: ("Adding duplicate to uniquify list! (bug-36877)"
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"])
(progn (debug nil "Adding duplicate to uniquify list! (bug-36877)" item)
(advice-remove (quote uniquify-rationalize) (function
bug-36877-debug-fix-list-dups)))
(if (gethash buf bug-36877-dup-table) (progn (debug nil "Adding duplicate to
uniquify list! (bug-36877)" item) (advice-remove (quote uniquify-rationalize)
(function bug-36877-debug-fix-list-dups))) (puthash buf item
bug-36877-dup-table))
(let ((buf (progn nil (or (and (memq (aref item 0)
cl-struct-uniquify-item-tags)) (signal (quote wrong-type-argument) (list (quote
uniquify-item) item))) (aref item 3)))) (if (gethash buf bug-36877-dup-table)
(progn (debug nil "Adding duplicate to uniquify list! (bug-36877)" item)
(advice-remove (quote uniquify-rationalize) (function
bug-36877-debug-fix-list-dups))) (puthash buf item bug-36877-dup-table)))
(while --dolist-tail-- (setq item (car --dolist-tail--)) (let ((buf (progn
nil (or (and (memq ... cl-struct-uniquify-item-tags)) (signal (quote
wrong-type-argument) (list ... item))) (aref item 3)))) (if (gethash buf
bug-36877-dup-table) (progn (debug nil "Adding duplicate to uniquify list!
(bug-36877)" item) (advice-remove (quote uniquify-rationalize) (function
bug-36877-debug-fix-list-dups))) (puthash buf item bug-36877-dup-table))) (setq
--dolist-tail-- (cdr --dolist-tail--)))
(let ((--dolist-tail-- fix-list) item) (while --dolist-tail-- (setq item (car
--dolist-tail--)) (let ((buf (progn nil (or (and ...) (signal ... ...)) (aref
item 3)))) (if (gethash buf bug-36877-dup-table) (progn (debug nil "Adding
duplicate to uniquify list! (bug-36877)" item) (advice-remove (quote
uniquify-rationalize) (function bug-36877-debug-fix-list-dups))) (puthash buf
item bug-36877-dup-table))) (setq --dolist-tail-- (cdr --dolist-tail--))))
bug-36877-debug-fix-list-dups(([cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/workflow/v0.13.0"
#<buffer index.html> nil] [cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"]))
apply(bug-36877-debug-fix-list-dups ([cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/workflow/v0.13.0"
#<buffer index.html> nil] [cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"]))
uniquify-rationalize(([cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/workflow/v0.13.0"
#<buffer index.html> nil] [cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"] [cl-struct-uniquify-item
"index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample"
#<buffer index.html<docs/apis/sample>> "index.html<docs/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/doc/apis/sample" #<buffer
index.html<doc/apis/sample>> "index.html<doc/apis/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/sample/sample"
#<buffer index.html<sample/sample>> "index.html<sample/sample>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com" #<buffer
index.html<developer.apiture.com>> "index.html<developer.apiture.com>"]
[cl-struct-uniquify-item "index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/concepts" #<buffer
index.html<concepts>> "index.html<concepts>"]))
uniquify-rationalize-file-buffer-names("index.html"
"/Users/david.biesack/dev/developer.apiture.com/_site/docs/apis/workflow/v0.13.0/"
#<buffer index.html>)
uniquify--create-file-buffer-advice(#[257 "\301!\211\302\230\203\f
David Biesack | Vice President, API Platforms
David.Biesack@apiture.com | @davidbiesack <https://twitter.com/davidbiesack>
On 8/8/19, 8:47 PM, "Noam Postavsky" <npostavs@gmail.com> wrote:
David Biesack <David.Biesack@Apiture.com> writes:
> The list uniquified-managed sometimes starts to grow in an unmanaged
manner (I suspect exponentially) after running
> Emacs for a few days. My work involves heavily editing many files named
"openapi.yaml" in about 20 different
> directories, often switching git branches so I need to revisit (M-x
revert-buffer) these files a lot.
>
> After a few days, I noticed opening new openapi.yaml files started to
slow down dramatically - there would be several
> seconds of delay, then tens of seconds. I narrowed this to uniquify. In
my buffers, the local variable
> uniquified-managed is more than 100,000 items long, with many duplicate
items.
Looks like the only place where uniquified-managed is set to non-nil is
by uniquify-rationalize, so could you run with the advice below and post
the backtrace you get with it?
(defconst bug-36877-dup-table (make-hash-table :test 'eq))
(defun bug-36877-debug-fix-list-dups (fix-list)
(clrhash bug-36877-dup-table)
(dolist (item fix-list)
(let ((buf (uniquify-item-buffer item)))
(if (gethash buf bug-36877-dup-table)
(progn (debug nil "Adding duplicate to uniquify list!" item)
;; Just once.
(advice-remove 'uniquify-rationalize
#'bug-36877-debug-fix-list-dups))
(puthash buf item bug-36877-dup-table)))))
(advice-add 'uniquify-rationalize :before
#'bug-36877-debug-fix-list-dups)
Disclaimer: The information in this message may be proprietary and/or
confidential, and protected from disclosure. If the reader of this message is
not the intended recipient, or an employee or agent responsible for delivering
this message to the intended recipient, you are hereby notified that any
dissemination, distribution or copying of this communication is strictly
prohibited. If you have received this communication in error, please notify
Apiture immediately by replying to this message and deleting it from your
computer.
- bug#36877: 25.3; uniquify renaway uniquify-managed list, Noam Postavsky, 2019/08/08
- bug#36877: 25.3; uniquify renaway uniquify-managed list,
David Biesack <=
- bug#36877: 25.3; uniquify renaway uniquify-managed list, Noam Postavsky, 2019/08/15
- bug#36877: 25.3; uniquify renaway uniquify-managed list, David Biesack, 2019/08/16
- bug#36877: 25.3; uniquify renaway uniquify-managed list, Noam Postavsky, 2019/08/18
- bug#36877: 25.3; uniquify renaway uniquify-managed list, David Biesack, 2019/08/20
- bug#36877: 25.3; uniquify renaway uniquify-managed list, Noam Postavsky, 2019/08/20
- bug#36877: 25.3; uniquify renaway uniquify-managed list, David Biesack, 2019/08/21