Closed offbyone closed 8 months ago
Have you tried turning it off and on again?
(If a package is already loaded when you update it, then that does not cause the new version to be loaded. You may even end up with a franken version, with some libraries loaded from the old version and some from the new. Even worse, the old version may leak into the byte-code compiled for the new version, making it necessary to reinstall the package.)
I definitely have; this is after running doom upgrade
, which as far as I believe should recompile all the bytecode as well.
That having been said, in an abundance of caution, I'll wipe all .elc
files from my installation and re-attempt, and report back. Stand by...
Yesterday I learned that doing a clean install is a bit more involved when using straight. Checkout https://github.com/magit/forge/issues/598#issuecomment-1928068226 and make sure you follow those instructions.
I followed those instructions, to no avail. I blew away all .elc files in my emacs, and deleted ~/.config/emacs/.local/straight/*/{closql,emacsql,forge}
Debugger entered--Lisp error: (args-out-of-range [#<forge-database forge-database-4cfe7b28> "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil] 40)
#f(compiled-function (class db row &optional resolve) #<bytecode 0x1bbe390a0c61ce30>)(forge-pullreq #<forge-database forge-database-4cfe7b28> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Proxima: Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
apply(#f(compiled-function (class db row &optional resolve) #<bytecode 0x1bbe390a0c61ce30>) forge-pullreq (#<forge-database forge-database-4cfe7b28> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Proxima: Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil)))
closql--remake-instance(forge-pullreq #<forge-database forge-database-4cfe7b28> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Proxima: Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
#f(compiled-function (row) #<bytecode -0x6adabb790891843>)((pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Proxima: Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
mapcar(#f(compiled-function (row) #<bytecode -0x6adabb790891843>) (... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))
#f(compiled-function (db &optional pred class) #<bytecode 0xc95c0e7ec7fe7a2>)(#<forge-database forge-database-4cfe7b28> nil forge-pullreq)
apply(#f(compiled-function (db &optional pred class) #<bytecode 0xc95c0e7ec7fe7a2>) #<forge-database forge-database-4cfe7b28> (nil forge-pullreq))
closql-entries(#<forge-database forge-database-4cfe7b28> nil forge-pullreq)
#f(compiled-function (cl--cnm db) #<bytecode 0x24b6d0fe7d6f8b9>)(#f(compiled-function (&rest args) #<bytecode 0x13d0e00b97c1b09d>) #<forge-database forge-database-4cfe7b28>)
apply(#f(compiled-function (cl--cnm db) #<bytecode 0x24b6d0fe7d6f8b9>) #f(compiled-function (&rest args) #<bytecode 0x13d0e00b97c1b09d>) #<forge-database forge-database-4cfe7b28>)
#f(compiled-function (db) #<bytecode 0xace2fd1308a2d3d>)(#<forge-database forge-database-4cfe7b28>)
apply(#f(compiled-function (db) #<bytecode 0xace2fd1308a2d3d>) #<forge-database forge-database-4cfe7b28> nil)
closql--db-update-schema(#<forge-database forge-database-4cfe7b28>)
#f(compiled-function (class &optional livep connection-class) #<bytecode 0x14621fb759df93e0>)(forge-database nil nil)
apply(#f(compiled-function (class &optional livep connection-class) #<bytecode 0x14621fb759df93e0>) forge-database (nil nil))
closql-db(forge-database nil nil)
forge-db()
forge-connect-database-once()
run-hooks(change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook)
apply(run-hooks (change-major-mode-after-body-hook special-mode-hook magit-section-mode-hook magit-mode-hook magit-status-mode-hook))
run-mode-hooks(magit-status-mode-hook)
magit-status-mode()
magit-setup-buffer-internal(magit-status-mode nil ((magit-buffer-diff-args ("--no-ext-diff")) (magit-buffer-diff-files nil) (magit-buffer-log-args ("-n256" "--decorate")) (magit-buffer-log-files nil)))
(let* ((default-directory directory) (d (magit-diff--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (l (magit-log--get-value 'magit-status-mode magit-status-use-buffer-arguments)) (file (and magit-status-goto-file-position (magit-file-relative-name))) (line (and file (save-restriction (widen) (line-number-at-pos)))) (col (and file (save-restriction (widen) (current-column)))) (buf (magit-setup-buffer-internal #'magit-status-mode nil (list (list 'magit-buffer-diff-args (nth 0 d)) (list 'magit-buffer-diff-files (nth 1 d)) (list 'magit-buffer-log-args (nth 0 l)) (list 'magit-buffer-log-files (nth 1 l)))))) (if file (progn (save-current-buffer (set-buffer buf) (let ((staged (magit-get-section ...))) (if (and staged (car ...)) (magit-diff--goto-position file line col staged) (let (...) (if ... nil ...))))))) buf)
magit-status-setup-buffer("/Users/offbyone/org/repo/spec/support/")
(if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository. Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory))
(let ((magit--refresh-cache (or cache (list (cons 0 0))))) (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p (if toplevel (format "%s is a repository. Create another in %s? " toplevel directory) (format "Create repository in %s? " directory))) (progn (setq magit--refresh-cache nil) (magit-init directory))))) (magit-status-setup-buffer default-directory)))
(closure (t) (&optional directory cache) "Show the status of the current Git repository in a..." (interactive (let ((magit--refresh-cache (list (cons 0 0)))) (list (and (or current-prefix-arg (not ...)) (progn (magit--assert-usable-git) (magit-read-repository ...))) magit--refresh-cache))) (let ((magit--refresh-cache (or cache (list (cons 0 0))))) (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p ...) (progn ... ...)))) (magit-status-setup-buffer default-directory))))(nil ((4 . 5) (("/Users/offbyone/org/repo/" . config) . #<hash-table equal 142/145 0x4c1916f1>) (("/Users/offbyone/org/repo/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo") (("/Users/offbyone/org/repo/spec/support/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/spec/support/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo")))
apply((closure (t) (&optional directory cache) "Show the status of the current Git repository in a..." (interactive (let ((magit--refresh-cache (list (cons 0 0)))) (list (and (or current-prefix-arg (not ...)) (progn (magit--assert-usable-git) (magit-read-repository ...))) magit--refresh-cache))) (let ((magit--refresh-cache (or cache (list (cons 0 0))))) (if directory (let ((toplevel (magit-toplevel directory))) (setq directory (file-name-as-directory (expand-file-name directory))) (if (and toplevel (file-equal-p directory toplevel)) (magit-status-setup-buffer directory) (if (y-or-n-p ...) (progn ... ...)))) (magit-status-setup-buffer default-directory)))) (nil ((4 . 5) (("/Users/offbyone/org/repo/" . config) . #<hash-table equal 142/145 0x4c1916f1>) (("/Users/offbyone/org/repo/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo") (("/Users/offbyone/org/repo/spec/support/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/spec/support/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo"))))
magit-status(nil ((4 . 5) (("/Users/offbyone/org/repo/" . config) . #<hash-table equal 142/145 0x4c1916f1>) (("/Users/offbyone/org/repo/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo") (("/Users/offbyone/org/repo/spec/support/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/spec/support/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo")))
funcall-interactively(magit-status nil ((4 . 5) (("/Users/offbyone/org/repo/" . config) . #<hash-table equal 142/145 0x4c1916f1>) (("/Users/offbyone/org/repo/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo") (("/Users/offbyone/org/repo/spec/support/" . magit-toplevel) . "/Users/offbyone/org/repo/") (("/Users/offbyone/org/repo/spec/support/" "rev-parse" "--show-toplevel") . "/Users/offbyone/org/repo")))
command-execute(magit-status)
No code differences, as far as I can tell:
$ cd /Users/offbyone/.config/emacs/.local/straight/repos/forge/
$ git fetch --all
$ git diff origin/main
# no diff
$ cd ../emacsql/
$ git fetch --all
$ git diff origin/main
# no diff
$ cd ../closql/
$ git fetch --all
$ git diff origin/main
# no diff
What does (oref-default 'forge-database version))
return?
In a new Emacs instance call (forge-db)
and check if a message Please update %s package (database schema version %s < %s)
is shown in the *Messages*
buffer.
Two new columns were indeed added to the repository
recently. The database version was bumped in e65a0a53a466f0127228f328bb3d36d485c62e45, which also adds the new columns to existing databases.
(oref-default 'forge-database version)
12 (#o14, #xc, ?\C-l)
Copying Forge database to /Users/offbyone/.config/emacs/.local/etc/forge/forge-database-v9-20240206-1146.sqlite...done
Upgrading Forge database from version 9 to 10...
Entering debugger...
And then in the debugger:
Debugger entered--Lisp error: (args-out-of-range [#<forge-database forge-database-4f9e697c> "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil] 40)
#f(compiled-function (class db row &optional resolve) #<bytecode 0x100427f1a861ce30>)(forge-pullreq #<forge-database forge-database-4f9e697c> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
apply(#f(compiled-function (class db row &optional resolve) #<bytecode 0x100427f1a861ce30>) forge-pullreq (#<forge-database forge-database-4f9e697c> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil)))
closql--remake-instance(forge-pullreq #<forge-database forge-database-4f9e697c> (pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
#f(compiled-function (row) #<bytecode -0x6adcbd10b039583>)((pullreq "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM6cHVsbHJlcTI5MD..." "Z2l0aHViLmNvbTowMTA6UmVwb3NpdG9yeTM=" 290810 open "fluffyf-x" "Increase Unicorn API & Decrease web " "2023-09-29T17:06:43Z" "0" nil nil t nil nil nil "master" "github/github" "fluffyf-x/rescaling-unicorn-for-proxinma" "github" "github/github" nil "<!-- Authors: Please fill out this form carefully ..." eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound eieio--unbound nil "5284f7f6d1f0fb9854004aa634b5f3d4ed5b84b6" "b7bf713cfdc95405c951f06e8dce6124cd4c20af" nil "PR_kwADzluOho4" nil))
mapcar(#f(compiled-function (row) #<bytecode -0x6adcbd10b039583>) (... ... ... ... ... ... ... ... ... ... ... ... ... ... ...))
#f(compiled-function (db &optional pred class) #<bytecode 0x1d34b785f5789fa2>)(#<forge-database forge-database-4f9e697c> nil forge-pullreq)
apply(#f(compiled-function (db &optional pred class) #<bytecode 0x1d34b785f5789fa2>) #<forge-database forge-database-4f9e697c> (nil forge-pullreq))
closql-entries(#<forge-database forge-database-4f9e697c> nil forge-pullreq)
#f(compiled-function (cl--cnm db) #<bytecode 0x383d095e6c0a939>)(#f(compiled-function (&rest args) #<bytecode 0x13d0e00b97c1b09d>) #<forge-database forge-database-4f9e697c>)
apply(#f(compiled-function (cl--cnm db) #<bytecode 0x383d095e6c0a939>) #f(compiled-function (&rest args) #<bytecode 0x13d0e00b97c1b09d>) #<forge-database forge-database-4f9e697c>)
#f(compiled-function (db) #<bytecode 0xace2fd1308a2d3d>)(#<forge-database forge-database-4f9e697c>)
apply(#f(compiled-function (db) #<bytecode 0xace2fd1308a2d3d>) #<forge-database forge-database-4f9e697c> nil)
closql--db-update-schema(#<forge-database forge-database-4f9e697c>)
#f(compiled-function (class &optional livep connection-class) #<bytecode 0x756a26f88fb7fa0>)(forge-database nil nil)
apply(#f(compiled-function (class &optional livep connection-class) #<bytecode 0x756a26f88fb7fa0>) forge-database (nil nil))
closql-db(forge-database nil nil)
forge-db()
eval-expression((forge-db) nil nil 127)
funcall-interactively(eval-expression (forge-db) nil nil 127)
command-execute(eval-expression)
(as an aside, thank you for the time you're taking on this!)
I forgot that I cannot use objects while updating the schemata. I've fixed that now and have tested upgrading from v9 to v12.
I can confirm that this patch fixed both of the issues I've encountered. Many thanks!
When first invoking
magit-status
interactively, I get an error arising fromforge-get-repository
. I am using forge from the most recent ref as of now, https://github.com/magit/forge/commit/b16b6ec4f7612f5a8fc6d50133cc6189f062c183~If I immediately re-invoke
magit-status
then the status buffer appears, but without forge data.~ Edit: this appears not to be the case for all repositories, only some of them.