doomemacs / doomemacs

An Emacs framework for the stubborn martian hacker
MIT License
19.29k stars 3.04k forks source link

Error when exporting to hugo #5721

Closed spcbfr closed 2 years ago

spcbfr commented 2 years ago

What did you expect to happen?

When running SPC m e H H I excpected my 0rg file to be exported to markdown in my blog

What actually happened?

when I ran SPC m e H H, I got the following error org-element--cache-sync: Symbol’s function definition is void: backtrace-get-frames, I was also having a lot of weird problems yesterday with orgmode in general that I couldn't replicate now

Describe your attempts to resolve the issue

I tried running doom sync, doom upgrade but none of those fixed it

Steps to reproduce

  1. open emacs
  2. open a hugo org file
  3. run SPC m e H H

System Information

https://pastebin.com/YzpztKwu

spcbfr commented 2 years ago

I also just tried reinstalling doom (but keeping my config) but that didnt help, if I run doom in sandbox mode without my private config I still get the same error, but with debug mode enabled, here is how it looks

Debugger entered--Lisp error: (void-function backtrace-get-frames)
  backtrace-get-frames(backtrace)
  org-element--cache-sync(#<buffer *Ox-hugo Pre-processed posts.org *> 36)
  org-element-at-point()
  org--collect-keywords-1(("SETUPFILE" "AUTHOR" "CREATOR" "HUGO_WITH_LOCALE" "HUGO_FRONT_MATTER_FORMAT" "HUGO_LEVEL_OFFSET" "HUGO_PRESERVE_FILLING" "HUGO_DELETE_TRAILING_WS" "HUGO_SECTION" "HUGO_BUNDLE" "HUGO_BASE_DIR" "HUGO_CODE_FENCE" "HUGO_USE_CODE_FOR_KBD" "HUGO_PREFER_HYPHEN_IN_TAGS" "HUGO_ALLOW_SPACES_IN_TAGS" "HUGO_AUTO_SET_LASTMOD" "HUGO_CUSTOM_FRONT_MATTER" "HUGO_BLACKFRIDAY" "HUGO_FRONT_MATTER_KEY_REPLACE" "HUGO_DATE_FORMAT" "HUGO_PAIRED_SHORTCODES" "HUGO_PANDOC_CITATIONS" "BIBLIOGRAPHY" "HUGO_ALIASES" "HUGO_AUDIO" "DATE" "DESCRIPTION" "HUGO_DRAFT" "HUGO_EXPIRYDATE" "HUGO_HEADLESS" "HUGO_IMAGES" "HUGO_ISCJKLANGUAGE" "KEYWORDS" "HUGO_LAYOUT" "HUGO_LASTMOD" "HUGO_LINKTITLE" "HUGO_LOCALE" "HUGO_MARKUP" "HUGO_MENU" "HUGO_MENU_OVERRIDE" "HUGO_OUTPUTS" "HUGO_PUBLISHDATE" "HUGO_SERIES" "HUGO_SLUG" "HUGO_TAGS" "HUGO_CATEGORIES" "HUGO_RESOURCES" "HUGO_TYPE" "HUGO_URL" "HUGO_VIDEOS" ...) nil nil ("/home/youssef/repos/hugo-blog/posts.org") nil)
  org-collect-keywords(("AUTHOR" "CREATOR" "HUGO_WITH_LOCALE" "HUGO_FRONT_MATTER_FORMAT" "HUGO_LEVEL_OFFSET" "HUGO_PRESERVE_FILLING" "HUGO_DELETE_TRAILING_WS" "HUGO_SECTION" "HUGO_BUNDLE" "HUGO_BASE_DIR" "HUGO_CODE_FENCE" "HUGO_USE_CODE_FOR_KBD" "HUGO_PREFER_HYPHEN_IN_TAGS" "HUGO_ALLOW_SPACES_IN_TAGS" "HUGO_AUTO_SET_LASTMOD" "HUGO_CUSTOM_FRONT_MATTER" "HUGO_BLACKFRIDAY" "HUGO_FRONT_MATTER_KEY_REPLACE" "HUGO_DATE_FORMAT" "HUGO_PAIRED_SHORTCODES" "HUGO_PANDOC_CITATIONS" "BIBLIOGRAPHY" "HUGO_ALIASES" "HUGO_AUDIO" "DATE" "DESCRIPTION" "HUGO_DRAFT" "HUGO_EXPIRYDATE" "HUGO_HEADLESS" "HUGO_IMAGES" "HUGO_ISCJKLANGUAGE" "KEYWORDS" "HUGO_LAYOUT" "HUGO_LASTMOD" "HUGO_LINKTITLE" "HUGO_LOCALE" "HUGO_MARKUP" "HUGO_MENU" "HUGO_MENU_OVERRIDE" "HUGO_OUTPUTS" "HUGO_PUBLISHDATE" "HUGO_SERIES" "HUGO_SLUG" "HUGO_TAGS" "HUGO_CATEGORIES" "HUGO_RESOURCES" "HUGO_TYPE" "HUGO_URL" "HUGO_VIDEOS" "HUGO_WEIGHT" ...))
  org-export--get-inbuffer-options(hugo)
  org-export-get-environment(hugo :subtreep)
  org-hugo-export-to-md(nil :subtreep nil)
  org-hugo--export-subtree-to-md(nil nil)
  org-hugo-export-wim-to-md(nil nil nil)
  (lambda (a _s v _b) (org-hugo-export-wim-to-md nil a v))(nil nil nil nil)
  org-export-dispatch(nil)
  funcall-interactively(org-export-dispatch nil)
  call-interactively(org-export-dispatch nil nil)
  command-execute(org-export-dispatch)
spcbfr commented 2 years ago

Figured out something, if I open the file and and do SPC m e H H right away, it doesn't work and it throws the error as usual. But when I make any modification, save the file and retry the command, IT WORKS. though this is not a good fix and I am not sure if I should clause the issue or not ?

Raialbe commented 2 years ago

Can confirm, the same error happens to me with a very minimal ox-hugo configuration. Also this happens pretty frequently if the autoexport to markdown file is enabled.

Trotter-Wiz-Kiwanis commented 2 years ago

Unpinning org, org-roam or ex-hugo didn't help, either.

adamist521 commented 2 years ago

Having same problem here... Can't save my org-mode file...

 Error (before-save-hook): Error running hook "org-encrypt-entries" because: (void-function backtrace-get-frames)
kaushalmodi commented 2 years ago

So looks like org-element.el (which is an internal Org library) is calling that function.

Also I see this commit on Org main branch 4 days ago: https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=d3836c1a13ab4f1ca991144bb09c4265e0aa4433

I have to guess that you all are using the "devel" version of Org i.e. built from its main branch. If so, can you pull from its main branch, rebuild Org, restart emacs and see if this issue still persists?

spcbfr commented 2 years ago

The issue seems to be fixed for me, here is what I did:

  1. open packages.el
  2. add (unpin! org-mode)
  3. run doom sync -u I'll close the issue for now, if anyone is having more problems, I'll reopen it
adamist521 commented 2 years ago

Not sure whether this is related but when it occured when I unpinned orgmode ( (unpin! org-mode) in package.el ) ... Should I remove org-mode from init.el?

"/Users/xxxxxx/.doom-emacs/bin/doom" sync -e
> Executing 'doom sync -e' with Emacs 27.2 at 2021-11-15 14:59:16
  > Synchronizing your config with Doom Emacs...
    > Installing packages...
      > Building org-mode...
      x There was an unexpected error
        Message: error
        Error: (error ":pre-build command error in \"org-mode\" recipe in command \"(\\\"make\\\" \\\"oldorg\\\" \\\"EMACS=/usr/local/bin/emacs\\\")\"")
        Backtrace:
          (signal error (":pre-build command error in \"org-mode\" recipe in command...
          (error ":pre-build command error in %S recipe in command %S" "org-mode" "(...
          (condition-case err (if (cl-every #'stringp command) (if (apply #'straight...
          (let ((command (car --dolist-tail--))) (condition-case err (if (cl-every #...
          (while --dolist-tail-- (let ((command (car --dolist-tail--))) (condition-c...
          (let ((--dolist-tail-- (if (cl-every #'listp commands) commands (list comm...
          (let ((default-directory repo) (commanderror nil)) (let ((--dolist-tail-- ...
          (if repo (let ((default-directory repo) (commanderror nil)) (let ((--dolis...
          (let* ((commands (and t (if post post-build pre-build))) (repo (and comman...
          (let* ((--cl-rest-- recipe) (pre-build (car (cdr (plist-member --cl-rest--...
      ! Extended backtrace logged to ~/.doom-emacs/.local/doom.error.log

Comint exited abnormally with code 255 at Mon Nov 15 14:59:28
practicalwellbeing commented 2 years ago

I get the same error when I try doom sync after unpinning org-mode (unpin! org-mode) in package.el (Emacs 27.2)

spcbfr commented 2 years ago

I had no issues unpinning org-mode, not sure if this is related or not

practicalwellbeing commented 2 years ago

I have two machines - ox-hugo on one with org version 9.5 works fine, the one with org-mode 9.6 has the problem. I don't know enough about doom to back up my org mode version to 9.5 which I assume will fix it.

spcbfr commented 2 years ago

You can pin a package to a certain commit that you know works for sure with (package! package-name :pin "48db94f48bea1137132345abfe8256cfc6219248") you just need to find the commit that works for you and find it's hash you can get more help in doom's discord, because I am really not that good with elisp 😆

practicalwellbeing commented 2 years ago

Thanks, I'll try that. It should be interesting, it's way outside my elisp comfort zone (which is very, very small) :)

---- On Mon, 15 Nov 2021 19:42:41 +0000 Youssef Bouzekri @.***> wrote ----

You can pin a package to a certain commit that you know works for sure with (package! package-name :pin "48db94f48bea1137132345abfe8256cfc6219248") you just need to find the commit that works for you and find it's hash you can get more help in doom's discord, because I am really not that good with elisp 😆 — You are receiving this because you commented. Reply to this email directly, https://github.com/hlissner/doom-emacs/issues/5721#issuecomment-969256302, or https://github.com/notifications/unsubscribe-auth/AKFXNONC4BCDSIOALUKGLKLUMFPDDANCNFSM5HGBCJSA. Triage notifications on the go with GitHub Mobile for https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Andy Hunt

Practical Wellbeing LLP

Therapy and Training

Tel: +44 (0)754 700 9116

http://www.practicalwellbeing.co.uk/

Author of https://tappingtoolkitbook.com/ available in English, French, German and Spanish.

Office hours 8am-4pm Mon, Wed, Thu and Fri.

Practical Wellbeing LLP is a Limited Liability Partnership (OC420854) registered in England and Wales

hlissner commented 2 years ago

@practicalwellbeing Sounds like you're installing org-mode yourself, in your private config, which can be very problematic and not recommended. I suggest either using org as installed by Doom's :lang org module, or copy its :pre-build statement to your private package! block for org-mode instead.

You may also notice we're installing org, not org-mode, so try (unpin! org) too.

practicalwellbeing commented 2 years ago

I have installed org-mode via the :lang org method as recommended. What's strange is that I have an installation of Doom emacs on my laptop and my netbook, .doom.d is shared / synced between them. The problem only happens on the laptop, the netbook works fine. (for some reason the netbook has org version 9.5 the laptop org version is 9.6) I will try upinning org and see what happens. Thanks for the assist.