Skip to content

Instantly share code, notes, and snippets.

@hh
Created August 7, 2019 17:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hh/67c72f2d83284146a1d3c88e42bc02fd to your computer and use it in GitHub Desktop.
Save hh/67c72f2d83284146a1d3c88e42bc02fd to your computer and use it in GitHub Desktop.

Issue Reporting Checklist

Instructions

Execute the src blocks one at a time with ctrl-c ctrl-c to ensure that ob-async-org-babel-execute-src-block is used for files with the :async header-arg. If by the end of this file your issue isn’t solved, open an issue on Github with the contents of this file.

First, make sure you can execute emacs-lisp src blocks without the async header argument. Otherwise you’ve got bigger problems, and none of this is going to work.

(message "Yes, I can synchronously execute emacs-lisp from an org-babel src block.")

Checklist

From where are you loading ob-async?

(symbol-file 'ob-async-org-babel-execute-src-block)
(message "PID: %s\nEmacs version: %s\norg version: %s\nPath to org: %s" (emacs-pid) (emacs-version) (org-version) (symbol-file 'org-version))

Execution of the :async block occurs in an Emacs subprocess. Are you using a consistent version of emacs and org-mode across both processes? Compare the output of this block the output of the previous block.

(message "PID: %s\nEmacs version: %s\norg version: %s\nPath to org: %s" (emacs-pid) (emacs-version) (org-version) (symbol-file 'org-version))

The Emacs subprocess inherits the value of org-babel-load-languages from its parent. Here are the languages which are loaded in the subprocess. If you don’t see your desired language here, it means you never added it to org-babel-load-languages (in the parent process).

org-babel-load-languages

If you’re still facing problems, turn on async debugging.

(setq async-debug t)

If possible, replace the following block with a block that reproduces your problem, then execute it.

(message "I'm executed in a subprocess.")

This is the elisp that was sent to the Emacs subprocess. If there’s still nothing obviously wrong, file an issue on GitHub and include the contents of this file as a Gist.

(switch-to-buffer "*Messages*")
(goto-char (point-max))
(re-search-backward "Transmitting sexp {{{\\([^}]+\\)}}}")
(match-string 1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment