Every time I try to open a particular pdf I'm inundated with "Org parser
error"s, all looking like this:

>  Warning (org-element-cache): org-element--cache: Org parser error in thesis.pdf::316345. Resetting.
>  The error was: (error "rx ‘**’ range error")
>  Backtrace:
> nil
>  Please report this to Org mode mailing list (M-x org-submit-bug-report).
> Error (pdf-view-mode-hook): Error running hook "pdf-tools-enable-minor-modes" because: (error rx ‘**’ range error)

I had a similar problem with the .tex source for the pdf too briefly. I
have a sneaking suspicion that it's to do with the fact that I recently
removed a large chunk from each document. (The line thesis.pdf::316345
doesn't exist.)

Is there any way I can disable org-element-cache on pdfs as a
workaround?

Thanks,
Sam

Emacs  : GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.27, cairo version 1.17.4)
 of 2021-03-26
Package: Org mode version 9.6 (9.6-??-8f50ea2d6 @ /home/samc/.emacs.d/.local/straight/build-27.2/org/)

current state:
==============
(setq
 org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
 org-fontify-whole-heading-line t
 org-link-shell-confirm-function 'yes-or-no-p
 org-mode-local-vars-hook '(+org-init-gifs-h eldoc-mode)
 org-babel-after-execute-hook '(org-redisplay-inline-images)
 org-insert-heading-respect-content t
 org-after-refile-insert-hook '(save-buffer)
 org-metadown-hook '(org-babel-pop-to-session-maybe)
 org-refile-targets '((nil :maxlevel . 3) (org-agenda-files :maxlevel . 3))
 org-enforce-todo-dependencies t
 org-special-ctrl-a/e t
 org-imenu-depth 6
 org-persist-before-write-hook '(org-element--cache-persist-before-write)
 org-agenda-files '("~/org/")
 org-reveal-start-hook '(org-decrypt-entry)
 org-modules '(ol-bibtex)
 org-startup-folded nil
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-mode-hook '((closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 er/add-org-mode-expansions +lookup--init-org-mode-handlers-h
                 (closure ((hook . org-mode-hook) (--dolist-tail--) t) (&rest _)
                  (add-hook 'before-save-hook 'org-encrypt-entries nil t))
                 #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5]
                 #[0 "\300\301\302\303\304$\207"
                   [add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
                 org-babel-result-hide-spec org-babel-hide-all-hashes
                 #[0 "\301\211.\207" [imenu-create-index-function org-imenu-get-tree] 2] turn-on-cdlatex
                 org-fragtog-mode doom-disable-show-paren-mode-h doom-disable-show-trailing-whitespace-h
                 +org-enable-auto-reformat-tables-h +org-enable-auto-update-cookies-h +org-make-last-point-visible-h
                 org-fancy-priorities-mode org-superstar-mode evil-org-mode toc-org-enable org-cdlatex-mode
                 embrace-org-mode-hook org-eldoc-load)
 org-clock-persist 'history
 org-outline-path-complete-in-steps nil
 org-archive-hook '(org-attach-archive-delete-maybe)
 org-persist-before-read-hook '(org-element--cache-persist-before-read)
 org-agenda-finalize-hook '(+org-exclude-agenda-buffers-from-workspace-h +org-defer-mode-in-agenda-buffers-h)
 org-startup-indented t
 org-clock-history-length 20
 org-reverse-note-order t
 org-journal-mode-hook '(#[0 "\301 \302\303\304$\207"
                           [org-journal-encrypt-on add-hook org-journal-encryption-hook nil t] 5]
                         )
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-metaup-hook '(org-babel-load-in-session-maybe)
 org-persist-after-read-hook '(org-element--cache-persist-after-read)
 org-startup-with-latex-preview t
 org-bibtex-headline-format-function #[257 "\300.\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
 org-agenda-deadline-faces '((1.001 . error) (1.0 . org-warning) (0.5 . org-upcoming-deadline)
                             (0.0 . org-upcoming-distant-deadline))
 org-babel-pre-tangle-hook '(save-buffer)
 org-file-apps '((remote . emacs) (auto-mode . emacs) (directory . emacs) ("\\.mm\\'" . default)
                 ("\\.x?html?\\'" . default) ("\\.pdf\\'" . default))
 org-tab-first-hook '(+org-yas-expand-maybe-h +org-indent-maybe-h org-babel-hide-result-toggle-maybe
                      org-babel-header-arg-expand)
 org-hide-leading-stars t
 org-load-hook '(+org-init-org-directory-h +org-init-appearance-h +org-init-agenda-h +org-init-attachments-h
                 +org-init-babel-h +org-init-babel-lazy-loader-h +org-init-capture-defaults-h
                 +org-init-capture-frame-h +org-init-custom-links-h +org-init-export-h +org-init-habit-h
                 +org-init-hacks-h +org-init-keybinds-h +org-init-popup-rules-h +org-init-protocol-h
                 +org-init-protocol-lazy-loader-h +org-init-smartparens-h)
 org-hide-emphasis-markers t
 org-link-abbrev-alist '(("doom-repo" . "https://github.com/hlissner/doom-emacs/%s")
                         ("wolfram" . "https://wolframalpha.com/input/?i=%s")
                         ("wikipedia" . "https://en.wikipedia.org/wiki/%s")
                         ("duckduckgo" . "https://duckduckgo.com/?q=%s")
                         ("gmap" . "https://maps.google.com/maps?q=%s")
                         ("gimages" . "https://google.com/images?q=%s") ("google" . "https://google.com/search?q=")
                         ("youtube" . "https://youtube.com/watch?v=%s") ("github" . "https://github.com/%s"))
 org-export-backends '(md ascii html icalendar latex odt)
 org-highlight-latex-and-related '(native script entities)
 org-clock-in-resume t
 org-attach-store-link-p t
 org-archive-subtree-save-file-p t
 org-agenda-span 10
 org-agenda-loop-over-headlines-in-active-region nil
 org-src-lang-modes '(("md" . markdown) ("C" . c) ("C++" . c++) ("asymptote" . asy) ("bash" . sh) ("beamer" . latex)
                      ("calc" . fundamental) ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental)
                      ("elisp" . emacs-lisp) ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh)
                      ("sqlite" . sql))
 org-src-preserve-indentation t
 org-fontify-quote-and-verse-blocks t
 org-catch-invisible-edits 'smart
 org-occur-hook '(org-first-headline-recenter)
 org-agenda-mode-hook '(+org-habit-resize-graph-h org-fancy-priorities-mode evil-org-agenda-mode)
 org-agenda-window-setup 'current-window
 org-indirect-buffer-display 'current-window
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines
                  org-optimize-window-after-visibility-change)
 org-todo-keywords '((sequence "TODO(t)" "PROJ(p)" "LOOP(r)" "STRT(s)" "WAIT(w)" "HOLD(h)" "IDEA(i)" "|" "DONE(d)"
                      "KILL(k)")
                     (sequence "[ ](T)" "[-](S)" "[?](W)" "|" "[X](D)") (sequence "|" "OKAY(o)" "YES(y)" "NO(n)"))
 org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
 org-tags-column 0
 org-capture-mode-hook '(+org-show-target-in-capture-header-h evil-insert-state)
 org-clock-persist-file "/home/samc/.emacs.d/.local/etc/org-clock-save.el"
 org-attach-id-dir "/home/samc/org/.attach/"
 org-M-RET-may-split-line nil
 org-format-latex-options '(:foreground default :background default :scale 1.5 :html-foreground "Black"
                            :html-background "Transparent" :html-scale 1.0 :matchers
                            ("begin" "$1" "$" "$$" "\\(" "\\["))
 org-display-remote-inline-images 'download
 org-refile-use-outline-path 'file
 org-priority-faces '((65 . error) (66 . warning) (67 . success))
 org-export-before-parsing-hook '(org-attach-expand-links)
 org-font-lock-set-keywords-hook '(doom-themes-enable-org-fontification)
 org-id-locations-file "/home/samc/org/.orgids"
 org-confirm-shell-link-function 'yes-or-no-p
 org-link-parameters '(("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
                       ("pdf" :follow
                        (closure ((args) (fn . org-pdftools-open) t) (&rest args)
                         (and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
                          (file-executable-p pdf-info-epdfinfo-program) (apply fn args))
                         )
                        :complete
                        (closure ((args) (fn . org-pdftools-complete-link) t) (&rest args)
                         (and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
                          (file-executable-p pdf-info-epdfinfo-program) (apply fn args))
                         )
                        :store
                        (closure ((args) (fn . org-pdftools-store-link) t) (&rest args)
                         (and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
                          (file-executable-p pdf-info-epdfinfo-program) (apply fn args))
                         )
                        :export
                        (closure ((args) (fn . org-pdftools-export) t) (&rest args)
                         (and (condition-case nil (progn (require 'org-pdftools nil t)) (error nil))
                          (file-executable-p pdf-info-epdfinfo-program) (apply fn args))
                         )
                        )
                       ("orgit-rev" :store orgit-rev-store :follow orgit-rev-open :export orgit-rev-export :complete
                        orgit-rev-complete-link)
                       ("orgit-log" :store orgit-log-store :follow orgit-log-open :export orgit-log-export :complete
                        orgit-log-complete-link)
                       ("orgit" :store orgit-status-store :follow orgit-status-open :export orgit-status-export
                        :complete orgit-status-complete-link)
                       ("yt" :follow org-yt-follow :image-data-fun org-yt-image-data-fun) ("id" :follow org-id-open)
                       ("img" :image-data-fun +org-inline-image-data-fn)
                       ("doom-module" :follow +org-link--doom-module-follow-fn :face +org-link--doom-module-face-fn)
                       ("doom-package" :follow +org-link--doom-package-follow-fn :face
                        (closure (t) (_) '(:inherit org-priority :slant italic)))
                       ("kbd" :follow (closure (t) (_) (minibuffer-message "%s" (+org-display-link-in-eldoc-a)))
                        :help-echo +org-read-kbd-at-point :face help-key-binding)
                       ("doom-modules" :complete
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                         nil (if requires (mapc #'require (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
                        :follow
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                         (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
                        :face
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-modules-dir) (key . "doom-modules") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-modules-dir) (key . "doom-modules") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) 'org-link 'error))
                         )
                        )
                       ("doom-docs" :complete
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         nil (if requires (mapc #'require (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
                        :follow
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
                        :face
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-docs-dir) (key . "doom-docs") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-docs-dir) (key . "doom-docs") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) 'org-link 'error))
                         )
                        )
                       ("doom" :complete
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         nil (if requires (mapc #'require (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
                        :follow
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
                        :face
                        (closure
                         ((dir-fn closure ((plist) (dir-var . doom-emacs-dir) (key . "doom") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . doom-emacs-dir) (key . "doom") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) 'org-link 'error))
                         )
                        )
                       ("org" :complete
                        (closure
                         ((dir-fn closure ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         nil (if requires (mapc #'require (doom-enlist requires)))
                         (+org--relative-path (+org--read-link-path key (funcall dir-fn)) (funcall dir-fn)))
                        :follow
                        (closure
                         ((dir-fn closure ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         (link) (org-link-open-as-file (expand-file-name link (funcall dir-fn)) nil))
                        :face
                        (closure
                         ((dir-fn closure ((plist) (dir-var . org-directory) (key . "org") t) nil
                           (symbol-value dir-var))
                          (requires) (plist) (dir-var . org-directory) (key . "org") t)
                         (link)
                         (let*
                          ((path (expand-file-name link (funcall dir-fn)))
                           (option-index (string-match-p "::\\(.*\\)\\'" path))
                           (file-name (substring path 0 option-index)))
                          (if (file-exists-p file-name) 'org-link 'error))
                         )
                        )
                       ("attachment" :image-data-fun +org-inline-image-data-fn :follow org-attach-follow :complete
                        org-attach-complete-link)
                       ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell)
                       ("news" :follow #[514 "\301\300\302.Q.\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("mailto" :follow
                        #[514 "\301\300\302.Q.\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("https" :follow
                        #[514 "\301\300\302.Q.\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]
                        :image-data-fun +org-http-image-data-fn)
                       ("http" :follow #[514 "\301\300\302.Q.\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]
                        :image-data-fun +org-http-image-data-fn)
                       ("ftp" :follow #[514 "\301\300\302.Q.\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
                       ("help" :follow org-link--open-help :store org-link--store-help)
                       ("file" :complete org-link-complete-file :face
                        (closure (t) (path)
                         (if
                          (or (file-remote-p path) (and IS-WINDOWS (string-prefix-p "\\\\" path))
                           (file-exists-p path))
                          'org-link '(warning org-link))
                         )
                        )
                       ("elisp" :follow org-link--open-elisp))
 org-link-elisp-confirm-function nil
 org-todo-keyword-faces '(("[-]" . +org-todo-active) ("STRT" . +org-todo-active) ("[?]" . +org-todo-onhold)
                          ("WAIT" . +org-todo-onhold) ("HOLD" . +org-todo-onhold) ("PROJ" . +org-todo-project)
                          ("NO" . +org-todo-cancel) ("KILL" . +org-todo-cancel))
 org-capture-after-finalize-hook '(+org-capture-cleanup-frame-h)
 org-image-actual-width nil
 org-entities-user '(("flat" "\\flat" nil "" "" "266D" "♭") ("sharp" "\\sharp" nil "" "" "266F" "♯"))
 org-src-window-setup 'other-window
 org-clock-out-remove-zero-time-clocks t
 org-confirm-babel-evaluate nil
 org-use-sub-superscripts '{}
 org-link-frame-setup '((vm . vm-visit-folder-other-frame) (vm-imap . vm-visit-imap-folder-other-frame)
                        (gnus . org-gnus-no-new-news) (file . find-file) (wl . wl-other-frame))
 org-directory "~/org/"
 org-preview-latex-image-directory "/home/samc/.emacs.d/.local/cache/org-latex/"
 org-tags-exclude-from-inheritance '("crypt")
 org-attach-use-inheritance t
 org-agenda-inhibit-startup t
 org-agenda-start-on-weekday nil
 org-default-notes-file "/home/samc/org/notes.org"
 org-id-locations-file-relative t
 org-list-allow-alphabetical t
 org-agenda-skip-unavailable-files t
 )