Eric Abrahamsen writes: > Tassilo Horn writes: > >> Hi all, >> >> just now when I wanted to enter this group, I got the error message >> >> Trying to prune the registry because it's full >> apply: registry max-size limit reached >> >> with this backtrace: >> >> Debugger entered: ((cl-assertion-failed (not (registry-full db)) "registry max-size limit reached")) >> cl--assertion-failed((not (registry-full db)) "registry max-size limit reached" nil nil) >> registry-insert([eieio-class-tag--registry-db "~/.gnus.d/.gnus.registry.eieio" 0.2 10000 0.1...]) >> gnus-registry-insert( "<59afc63a-24c7-4b7b-89d8-4b99ba1f3b5b@googlegroups.com>" ((creation-time (21784 58735 12080 293000)) (group) (sender) (subject))) >> gnus-registry-get-or-make-entry("<59afc63a-24c7-4b7b-89d8-4b99ba1f3b5b@googlegroups.com>") >> gnus-registry-get-id-key("<59afc63a-24c7-4b7b-89d8-4b99ba1f3b5b@googlegroups.com>" group) >> gnus-registry-register-message-ids() >> run-hooks(gnus-summary-prepare-hook) >> apply(run-hooks gnus-summary-prepare-hook) >> gnus-run-hooks(gnus-summary-prepare-hook) >> gnus-summary-prepare() >> gnus-summary-read-group-1("nnimap+Fastmail:INBOX.mailinglists.clojure" nil t nil nil nil) >> gnus-summary-read-group("nnimap+Fastmail:INBOX.mailinglists.clojure" nil t nil nil nil nil) >> gnus-group-read-group(nil t) >> gnus-group-select-group(nil) >> gnus-topic-select-group(nil) >> funcall-interactively(gnus-topic-select-group nil) >> call-interactively(gnus-topic-select-group nil nil) >> command-execute(gnus-topic-select-group) >> >> >> My registry-related settings are just >> >> (setq gnus-registry-ignored-groups '(("^nntp" t) ("^nndraft" t) >> ("^nnir" t) >> ("training" t) ("Junk" t) >> ("Trash" t) ("Spam" t)) >> ;; Don't track anything except for the message ids. >> gnus-registry-track-extra nil >> gnus-registry-max-entries 10000) >> >> (gnus-registry-initialize) >> >> I had thought that with a maximum number of entries, as soon as I hit >> it, the registry would prune the oldest entries to regain some space. >> But according to the messages, it seems that pruning didn't succeed. > > This is related to a change I made recently. What used to happen was -- > assuming max entries of 10000 and a prune factor of 0.1 -- every time > the registry exceeded 9000 (not 10000), it would prune. That wasn't what > was supposed to happen: it was supposed to hit 10000 and then prune back > to 9000. > > A few days ago I changed it so that it really did reach its max size > before pruning. Obviously something isn't quite aligned right. I'm > assuming some sort of off-by-one error: we're using #'< where we should > be using #'<=, or something like that. Embarrassingly, that is indeed what was happening. Would you mind giving this patch a whirl? If it works correctly, I'll push it (plus a ChangeLog notice). Sorry about that, Eric