{"action":"created","issue":{"url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/839","labels_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/839/labels{/name}","comments_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/839/comments","events_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/839/events","html_url":"https://github.com/syl20bnr/spacemacs/issues/839","id":61992931,"number":839,"title":"Invalid version string on Update","user":{"login":"cpaulik","id":380927,"avatar_url":"https://avatars.githubusercontent.com/u/380927?v=3","gravatar_id":"","url":"https://api.github.com/users/cpaulik","html_url":"https://github.com/cpaulik","followers_url":"https://api.github.com/users/cpaulik/followers","following_url":"https://api.github.com/users/cpaulik/following{/other_user}","gists_url":"https://api.github.com/users/cpaulik/gists{/gist_id}","starred_url":"https://api.github.com/users/cpaulik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpaulik/subscriptions","organizations_url":"https://api.github.com/users/cpaulik/orgs","repos_url":"https://api.github.com/users/cpaulik/repos","events_url":"https://api.github.com/users/cpaulik/events{/privacy}","received_events_url":"https://api.github.com/users/cpaulik/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/syl20bnr/spacemacs/labels/%3C=(-%20UBO%20-)=%3E","name":"<=(- UBO -)=>","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-03-16T07:09:42Z","updated_at":"2015-08-26T06:19:18Z","closed_at":null,"body":"I get the following error when pressing the Update button. This might be a MELPA issue?\r\n\r\n```\r\nDebugger entered--Lisp error: (error \"Invalid version string: 'nil'\")\r\n  signal(error (\"Invalid version string: 'nil'\"))\r\n  error(\"Invalid version string: '%s'\" nil)\r\n  version-to-list(nil)\r\n  version<=(nil \"20120402\")\r\n  (or (null installed-version) (version<= newest-version installed-version))\r\n  (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result (append result (list pkg)))))\r\n  (let ((installed-version (configuration-layer//get-package-version-string pkg)) (newest-version (configuration-layer//get-latest-package-version-string pkg))) (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result (append result (list pkg))))))\r\n  (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-dependencies-from-archive pkg)) (update-deps (if deps (progn (configuration-layer//get-packages-to-update (mapcar ... deps)))))) (if update-deps (progn (setq result (append update-deps result))))) (let ((installed-version (configuration-layer//get-package-version-string pkg)) (newest-version (configuration-layer//get-latest-package-version-string pkg))) (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result (append result (list pkg)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))\r\n  (let ((--dolist-tail-- packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-dependencies-from-archive pkg)) (update-deps (if deps (progn (configuration-layer//get-packages-to-update ...))))) (if update-deps (progn (setq result (append update-deps result))))) (let ((installed-version (configuration-layer//get-package-version-string pkg)) (newest-version (configuration-layer//get-latest-package-version-string pkg))) (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result (append result (list pkg)))))) (setq --dolist-tail-- (cdr --dolist-tail--))))\r\n  (let (result) (let ((--dolist-tail-- packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-dependencies-from-archive pkg)) (update-deps (if deps (progn ...)))) (if update-deps (progn (setq result (append update-deps result))))) (let ((installed-version (configuration-layer//get-package-version-string pkg)) (newest-version (configuration-layer//get-latest-package-version-string pkg))) (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result (append result ...))))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result))\r\n  (progn (let (result) (let ((--dolist-tail-- packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-dependencies-from-archive pkg)) (update-deps (if deps ...))) (if update-deps (progn (setq result ...)))) (let ((installed-version (configuration-layer//get-package-version-string pkg)) (newest-version (configuration-layer//get-latest-package-version-string pkg))) (if (or (null installed-version) (version<= newest-version installed-version)) nil (if (member pkg result) result (setq result ...)))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result)))\r\n  (if packages (progn (let (result) (let ((--dolist-tail-- packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((deps ...) (update-deps ...)) (if update-deps (progn ...))) (let ((installed-version ...) (newest-version ...)) (if (or ... ...) nil (if ... result ...))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result))))\r\n  configuration-layer//get-packages-to-update((ac-anaconda ace-jump-mode ace-window afternoon-theme ag aggressive-indent alect-themes ample-theme ample-zen-theme anaconda-mode anti-zenburn-theme async auctex auto-dictionary auto-highlight-symbol base16-theme birds-of-paradise-plus-theme bookmark bubbleberry-theme buffer-move busybee-theme cherry-blossom-theme clues-theme color-theme-sanityinc-solarized color-theme-sanityinc-tomorrow color-theme-solarized colorsarenice-theme company company-anaconda company-auctex company-c-headers company-quickhelp company-tern cyberpunk-theme cython-mode dakrone-theme darkburn-theme darkmine-theme dash diminish dired+ django-theme doc-view ediff eldoc elisp-slime-nav emmet-mode espresso-theme evil evil-anzu ...))\r\n  (let* ((update-packages (configuration-layer//get-packages-to-update configuration-layer-all-packages-sorted)) (date (format-time-string \"%y-%m-%d_%H.%M.%S\")) (rollback-dir (expand-file-name (concat configuration-layer-rollback-directory (file-name-as-directory date)))) (upgrade-count (length update-packages)) (upgraded-count 0) (update-packages-alist)) (if (> upgrade-count 0) (if (not (yes-or-no-p (format (concat \"%s package(s) to update, \" \"do you want to continue ? \") upgrade-count))) (spacemacs/append-to-buffer \"Packages update has been cancelled.\\n\") (spacemacs/replace-last-line-of-buffer \"--> performing backup of package(s) to update...\\n\" t) (spacemacs//redisplay) (let ((--dolist-tail-- update-packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((src-dir ...) (dest-dir ...)) (copy-directory src-dir dest-dir (quote keeptime) (quote create) (quote copy-content)) (setq update-packages-alist (cons ... update-packages-alist))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (spacemacs/dump-vars-to-file (quote (update-packages-alist)) (expand-file-name (concat rollback-dir configuration-layer-rollback-info))) (let ((--dolist-tail-- update-packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (setq upgraded-count (1+ upgraded-count)) (spacemacs/replace-last-line-of-buffer (format \"--> updating package %s... [%s/%s]\" pkg upgraded-count upgrade-count) t) (spacemacs//redisplay) (configuration-layer//package-delete pkg) (condition-case err (package-install pkg) ((quote error) (message ...) (package-install pkg))) (if (version< emacs-version \"24.3.50\") (progn (setq package-activated-list ...) (configuration-layer//activate-package pkg))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (spacemacs/append-to-buffer (format \"\\n--> %s packages updated.\\n\" upgraded-count)) (spacemacs/append-to-buffer \"\\nEmacs has to be restarted for the changes to take effect.\\n\") (spacemacs//redisplay)) (spacemacs/append-to-buffer \"--> All packages are up to date.\\n\") (spacemacs//redisplay)))\r\n  configuration-layer/update-packages()\r\n  (lambda (b) (configuration-layer/update-packages))(#<overlay from 200 to 208 in *spacemacs*>)\r\n  button-activate(#<overlay from 200 to 208 in *spacemacs*> nil)\r\n  push-button(205)\r\n  push-button((mouse-2 (#<window 3 on *spacemacs*> 205 (687 . 381) 672524 nil 205 (52 . 5) nil (11 . 13) (0 . 28))))\r\n  call-interactively(push-button nil nil)\r\n  command-execute(push-button)\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/comments/134853650","html_url":"https://github.com/syl20bnr/spacemacs/issues/839#issuecomment-134853650","issue_url":"https://api.github.com/repos/syl20bnr/spacemacs/issues/839","id":134853650,"user":{"login":"bmag","id":4334375,"avatar_url":"https://avatars.githubusercontent.com/u/4334375?v=3","gravatar_id":"","url":"https://api.github.com/users/bmag","html_url":"https://github.com/bmag","followers_url":"https://api.github.com/users/bmag/followers","following_url":"https://api.github.com/users/bmag/following{/other_user}","gists_url":"https://api.github.com/users/bmag/gists{/gist_id}","starred_url":"https://api.github.com/users/bmag/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bmag/subscriptions","organizations_url":"https://api.github.com/users/bmag/orgs","repos_url":"https://api.github.com/users/bmag/repos","events_url":"https://api.github.com/users/bmag/events{/privacy}","received_events_url":"https://api.github.com/users/bmag/received_events","type":"User","site_admin":false},"created_at":"2015-08-26T06:19:18Z","updated_at":"2015-08-26T06:19:18Z","body":"I'm encountering the same issue now. The backtrace has changed since @cpaulik has posted in March:\r\n```\r\nDebugger entered--Lisp error: (error \"Invalid version string: 'nil'\")\r\n  signal(error (\"Invalid version string: 'nil'\"))\r\n  error(\"Invalid version string: '%s'\" nil)\r\n  version-to-list(nil)\r\n  version<(\"20150307.208\" nil)\r\n  (progn (setq new-version (if recipe (quelpa-checkout recipe (expand-file-name (symbol-name pkg-name) quelpa-build-dir)) (configuration-layer//get-latest-package-version-string pkg-name))) (version< cur-version new-version))\r\n  (if cur-version (progn (setq new-version (if recipe (quelpa-checkout recipe (expand-file-name (symbol-name pkg-name) quelpa-build-dir)) (configuration-layer//get-latest-package-version-string pkg-name))) (version< cur-version new-version)))\r\n  (let ((recipe (configuration-layer//get-package-recipe pkg-name)) (cur-version (configuration-layer//get-package-version-string pkg-name)) new-version) (if cur-version (progn (setq new-version (if recipe (quelpa-checkout recipe (expand-file-name (symbol-name pkg-name) quelpa-build-dir)) (configuration-layer//get-latest-package-version-string pkg-name))) (version< cur-version new-version))))\r\n  configuration-layer//new-version-available-p(highlight-indentation)\r\n  funcall(configuration-layer//new-version-available-p highlight-indentation)\r\n  (if (funcall filter pkg-name) (progn (if (member pkg-name result) result (setq result (append result (list pkg-name))))))\r\n  (while --dolist-tail-- (setq pkg-name (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-deps-from-archive pkg-name)) (install-deps (if deps (progn (configuration-layer//filter-packages-with-deps (mapcar ... deps) filter))))) (if install-deps (progn (setq result (append install-deps result))))) (if (funcall filter pkg-name) (progn (if (member pkg-name result) result (setq result (append result (list pkg-name)))))) (setq --dolist-tail-- (cdr --dolist-tail--)))\r\n  (let ((--dolist-tail-- pkg-names) pkg-name) (while --dolist-tail-- (setq pkg-name (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-deps-from-archive pkg-name)) (install-deps (if deps (progn (configuration-layer//filter-packages-with-deps ... filter))))) (if install-deps (progn (setq result (append install-deps result))))) (if (funcall filter pkg-name) (progn (if (member pkg-name result) result (setq result (append result (list pkg-name)))))) (setq --dolist-tail-- (cdr --dolist-tail--))))\r\n  (let (result) (let ((--dolist-tail-- pkg-names) pkg-name) (while --dolist-tail-- (setq pkg-name (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-deps-from-archive pkg-name)) (install-deps (if deps (progn ...)))) (if install-deps (progn (setq result (append install-deps result))))) (if (funcall filter pkg-name) (progn (if (member pkg-name result) result (setq result (append result ...))))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result))\r\n  (progn (let (result) (let ((--dolist-tail-- pkg-names) pkg-name) (while --dolist-tail-- (setq pkg-name (car --dolist-tail--)) (let* ((deps (configuration-layer//get-package-deps-from-archive pkg-name)) (install-deps (if deps ...))) (if install-deps (progn (setq result ...)))) (if (funcall filter pkg-name) (progn (if (member pkg-name result) result (setq result ...)))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result)))\r\n  (if pkg-names (progn (let (result) (let ((--dolist-tail-- pkg-names) pkg-name) (while --dolist-tail-- (setq pkg-name (car --dolist-tail--)) (let* ((deps ...) (install-deps ...)) (if install-deps (progn ...))) (if (funcall filter pkg-name) (progn (if ... result ...))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (delete-dups result))))\r\n  configuration-layer//filter-packages-with-deps((ac-ispell ace-link ace-window adaptive-wrap afternoon-theme aggressive-indent alect-themes align-cljlet ample-theme ample-zen-theme anaconda-mode anti-zenburn-theme apropospriate-theme auto-complete auto-dictionary auto-highlight-symbol auto-yasnippet avy bind-key birds-of-paradise-plus-theme bookmark bubbleberry-theme buffer-move busybee-theme cc-mode cherry-blossom-theme cider cider-eval-sexp-fu clang-format clean-aindent-mode clj-refactor clojure-mode clues-theme cmake-mode coffee-mode color-theme-sanityinc-solarized color-theme-sanityinc-tomorrow colorsarenice-theme command-log-mode company company-anaconda company-c-headers company-quickhelp company-statistics company-tern company-web css-mode cyberpunk-theme cython-mode dakrone-theme ...) configuration-layer//new-version-available-p)\r\n  configuration-layer//get-packages-to-update((ac-ispell ace-link ace-window adaptive-wrap afternoon-theme aggressive-indent alect-themes align-cljlet ample-theme ample-zen-theme anaconda-mode anti-zenburn-theme apropospriate-theme auto-complete auto-dictionary auto-highlight-symbol auto-yasnippet avy bind-key birds-of-paradise-plus-theme bookmark bubbleberry-theme buffer-move busybee-theme cc-mode cherry-blossom-theme cider cider-eval-sexp-fu clang-format clean-aindent-mode clj-refactor clojure-mode clues-theme cmake-mode coffee-mode color-theme-sanityinc-solarized color-theme-sanityinc-tomorrow colorsarenice-theme command-log-mode company company-anaconda company-c-headers company-quickhelp company-statistics company-tern company-web css-mode cyberpunk-theme cython-mode dakrone-theme ...))\r\n  (let* ((candidates (configuration-layer/filter-packages configuration-layer-packages (function (lambda (x) (and (not ...) (not ...) (not ...)))))) (update-packages (configuration-layer//get-packages-to-update (mapcar (quote car) (object-assoc-list :name candidates)))) (date (format-time-string \"%y-%m-%d_%H.%M.%S\")) (rollback-dir (expand-file-name (concat configuration-layer-rollback-directory (file-name-as-directory date)))) (upgrade-count (length update-packages)) (upgraded-count 0) (update-packages-alist)) (if (> upgrade-count 0) (if (and (not always-update) (not (yes-or-no-p (format (concat \"%s package(s) to update, \" \"do you want to continue ? \") upgrade-count)))) (spacemacs-buffer/append \"Packages update has been cancelled.\\n\") (spacemacs-buffer/append \"--> performing backup of package(s) to update...\\n\" t) (spacemacs//redisplay) (let ((--dolist-tail-- update-packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (let* ((src-dir ...) (dest-dir ...)) (copy-directory src-dir dest-dir (quote keeptime) (quote create) (quote copy-content)) (setq update-packages-alist (cons ... update-packages-alist))) (setq --dolist-tail-- (cdr --dolist-tail--)))) (spacemacs/dump-vars-to-file (quote (update-packages-alist)) (expand-file-name (concat rollback-dir configuration-layer-rollback-info))) (let ((--dolist-tail-- update-packages) pkg) (while --dolist-tail-- (setq pkg (car --dolist-tail--)) (setq upgraded-count (1+ upgraded-count)) (spacemacs-buffer/replace-last-line (format \"--> preparing update of package %s... [%s/%s]\" pkg upgraded-count upgrade-count) t) (spacemacs//redisplay) (configuration-layer//package-delete pkg) (setq --dolist-tail-- (cdr --dolist-tail--)))) (spacemacs-buffer/append (format \"\\n--> %s package(s) to be updated.\\n\" upgraded-count)) (spacemacs-buffer/append \"\\nEmacs has to be restarted to actually install the new packages.\\n\") (spacemacs//redisplay)) (spacemacs-buffer/append \"--> All packages are up to date.\\n\") (spacemacs//redisplay)))\r\n  configuration-layer/update-packages()\r\n  (lambda (&rest ignore) (configuration-layer/update-packages))((push-button :args nil :value #(\"Update\" 0 6 (face font-lock-keyword-face)) :help-echo \"Update all ELPA packages to the latest versions.\" :action (lambda (&rest ignore) (configuration-layer/update-packages)) :mouse-face highlight :follow-link \"\r\n\" :button-overlay #<overlay from 197 to 205 in *spacemacs*> :from #<marker (moves after insertion) at 197 in *spacemacs*> :to #<marker at 205 in *spacemacs*>) nil)\r\n  widget-apply((push-button :args nil :value #(\"Update\" 0 6 (face font-lock-keyword-face)) :help-echo \"Update all ELPA packages to the latest versions.\" :action (lambda (&rest ignore) (configuration-layer/update-packages)) :mouse-face highlight :follow-link \"\r\n\" :button-overlay #<overlay from 197 to 205 in *spacemacs*> :from #<marker (moves after insertion) at 197 in *spacemacs*> :to #<marker at 205 in *spacemacs*>) :action nil)\r\n  widget-apply-action((push-button :args nil :value #(\"Update\" 0 6 (face font-lock-keyword-face)) :help-echo \"Update all ELPA packages to the latest versions.\" :action (lambda (&rest ignore) (configuration-layer/update-packages)) :mouse-face highlight :follow-link \"\r\n\" :button-overlay #<overlay from 197 to 205 in *spacemacs*> :from #<marker (moves after insertion) at 197 in *spacemacs*> :to #<marker at 205 in *spacemacs*>) nil)\r\n  widget-button-press(198)\r\n  (progn (goto-char (1+ res)) (widget-button-press (point)))\r\n  (if res (progn (goto-char (1+ res)) (widget-button-press (point))))\r\n  (let ((res (avy--with-avy-keys spacemacs/ace-buffer-links (avy--process (spacemacs//collect-spacemacs-buffer-links) (function avy--overlay-pre))))) (if res (progn (goto-char (1+ res)) (widget-button-press (point)))))\r\n  spacemacs/ace-buffer-links()\r\n  call-interactively(spacemacs/ace-buffer-links nil nil)\r\n  command-execute(spacemacs/ace-buffer-links)\r\n```\r\nThe problem seems to be that an installed package no longer exists, hence its old version is \"20150307.208\" and its \"new\" version is nil.\r\n\r\nSuspiciously, I also found out that the [highlight-numbers](https://github.com/Fanael/highlight-numbers) package is currently not available from MELPA, although the README says it should be.\r\nThis link http://melpa.org/#/highlight-numbers tells me that the package was not found.\r\nHowever, the \"20150307.208\" version string can't belong to `highlight-numbers` - it doesn't match any of its commit dates (see [here](https://github.com/Fanael/highlight-numbers/commits/master)).\r\n\r\nI might be able to do more research later.\r\n\r\nEDIT: by the time I finished writing this comment, the `highlight-numbers` package has become available again from MELPA. Fortunately I have some (weak) proof in these screenshots:\r\nBefore:\r\n![package-not-available](https://cloud.githubusercontent.com/assets/4334375/9486669/f0f20260-4bd2-11e5-845b-1c34010c6c84.png)\r\nAfter:\r\n![package-available](https://cloud.githubusercontent.com/assets/4334375/9486670/f60b81b8-4bd2-11e5-8fa7-1b78215ecf28.png)\r\n"}}