emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Loris Bennett" <loris.bennett@fu-berlin.de>
To: emacs-orgmode@gnu.org
Subject: Re: Erroneous "No such file or directory" with babel and remote dir
Date: Wed, 14 Nov 2012 08:48:58 +0100	[thread overview]
Message-ID: <87pq3gipzp.fsf@slate.zedat.fu-berlin.de> (raw)
In-Reply-To: <9608.1352874199@alphaville>

Nick Dokos <nicholas.dokos@hp.com> writes:

> Nick Dokos <nicholas.dokos@hp.com> wrote:
>
>> > Back in the days of release_7.01h, the following used to work:
>> > 
>> > ,------------------------------------------
>> > | #+begin_src sh :dir /loris@othercomputer:
>> > | hostname
>> > | #+end_src
>> > `------------------------------------------
>> > 
>> > Currently it produces the error:
>> > 
>> > ,---------------------------------------------------
>> > | apply: Wrong type argument: number-or-marker-p, ""
>> > `---------------------------------------------------
>> > 
>
> BTW, I get no error with the (more or less) current version of
> org I'm using:
>
> Org-mode version 7.9.2 (release_7.9.2-582-g6d099e @ /home/nick/elisp/org-mode/lisp/)
>
> I just get the wrong answer: instead of evaluating on the remote, babel
> evaluates it locallly.

I also get this using 7.9.2-78-gf48a8b-elpa and Emacs 24.2.50.1.

However, I then tested this on Emacs 23.1.1 with the following minimal
.emacs:

,-------------------------------------------------
| (add-to-list 'load-path "~/elisp/org-mode/lisp")
| (require 'org-install)
| 
| (org-babel-do-load-languages
|  'org-babel-load-languages
|  '((emacs-lisp . nil)
|    (R . t)
|    (sh . t)))
`-------------------------------------------------

and got:

,--------------------------------------------------------------------------
| OVERVIEW
| release_7.02
| Org-mode version 7.02 (release_7.02)
| Quit
| byte-code: Beginning of buffer [2 times]
| Loading tramp...done
| executing Sh code block...
| Wrote /tmp/tramp.6477nIt
| Tramp: Opening connection for loris@othercomputer using scp...
| Tramp: Waiting 60s for local shell to come up...
| Tramp: Sending command `ssh node003 -l loris  -q -e none && exit || exit'
| Tramp: Waiting for prompts from remote shell
| Tramp: Found remote shell prompt on `node003'
| Wrote /scp:loris@othercomputer:/tmp/tramp.64770Sz
| Wrote /tmp/tramp.6477N7U.6477AxO
| Wrote /tmp/scor6477a-m
| apply: Wrong type argument: number-or-marker-p, ""
`--------------------------------------------------------------------------

So there seem to be two problems, namely

1. Wrong type argument: number-or-marker-p, "", which only occurs in my
   minimal set-up post release_7.01h

2. No error, but local execution in the current version of Org.

So before I can get started looking at 2, I need to sort out 1

The way I am testing is 

,------------------------------------------------------------------
| git checkout release_7.02
| cd $HOME/elisp/org-mode && make clean
| cd $HOME/elisp/org-mode && make
| emacs -q -l /home/loris/.emacs_minimal /home/loris/tmp/test.org &
`------------------------------------------------------------------

Is there something wrong with this?

Cheers,

Loris


>> > I have had another go at bisecting this problem and came up with this:
>> > 
>> > ,-------------------------------------------------------------------------------------------------------------
>> > | 9c878a8290c071fbe5e97bc33c300ef2f07d6153 is the first bad commit
>> > | commit 9c878a8290c071fbe5e97bc33c300ef2f07d6153
>> > | Author: Dan Davison <davison@stats.ox.ac.uk>
>> > | Date:   Mon Aug 30 09:34:05 2010 -0700
>> > | 
>> > |     babel: Fix temporary file processing in the remote execution case.
>> > |     
>> > |         * ob.el (org-babel-temp-file): Don't use babel temporary
>> > |         directory in remote case; use make-temp-file with remote file
>> > |         name so that temp file is guaranteed not to exist previously
>> > |         on remote machine.
>> > |         (org-babel-tramp-localname): New function to return local name
>> > |         portion of possibly remote file specification
>> > |     
>> > |         * ob-R.el (org-babel-R-evaluate-external-process): Respond to
>> > |         changes in `org-babel-temp-file'; pass local file name to
>> > |         remote R process.
>> > |         (org-babel-R-evaluate-session) Respond to
>> > |         changes in `org-babel-temp-file'; pass local file name to
>> > |         remote R process.
>> > | 
>> > | :040000 040000 b31e072cf6b2951e95b7956d907303e7a04a8cfd 5f794ada52cceb0614fe7962a399f7e549759003 M      lisp
>> > `-------------------------------------------------------------------------------------------------------------
>> > 
>> > Does that help anyone any further?
>> > 
>> 
>> I don't think so: afaict, both 7.01h (which did not contain this patch)
>> and 7.02 (which did) do the right thing (at least with your simple
>> script above). Something else broke it.
>> 
>
> I checked successive versions from 7.01h onwards and found breakage
> between release_7.8 and release_7.9. So I bisected and came up
> with this as the bad commit:
>
> ,----
> | commit 5cb80c7e5b9bcae180b799d2a49c78d529e029f0
> | Author: Eric Schulte <eric.schulte@gmx.com>
> | Date:   Mon Mar 12 13:23:53 2012 -0400
> | 
> |     apply :shebang and :padline to shell script execution
> |     
> |     * lisp/ob-sh.el (org-babel-execute:sh): Pass all params to subroutine.
> |       (org-babel-sh-evaluate): Apply :shebang and :padline to shell script
> |       execution.
> `----
>
> Reverting it caused a merge conflict that I didn't have the patience to
> resolve.  But I made branches, one with this commit as its tip and one
> with its predecessor:
>
>     git checkout -b foo 5cb80c7
>     git checkout -b bar de09874
>
> Testing on foo gives me an error, testing on bar gives the correct
> result.  So I'm pretty sure this commit introduced the problem. Eric has
> applied a partial fix since then which gets rid of the error but still
> gives the wrong answer (not Eric's fault: he followed my suggestion, but
> I was treating the symptom, not the disease).
>
> But I think this commit is the place that deserves more scrutiny.
>
> HTH,
> Nick

-- 
no sig is good sig

  reply	other threads:[~2012-11-14  7:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-10 14:36 Loris Bennett
2012-09-10 14:42 ` Loris Bennett
2012-09-19  7:37 ` Bastien
2012-09-25 14:11   ` Loris Bennett
2012-09-25 15:30     ` Memnon Anon
2012-09-25 19:54     ` Achim Gratz
2012-09-26  6:56       ` Loris Bennett
2012-09-26  7:14         ` Bastien
2012-09-26 12:10   ` Loris Bennett
2012-09-26 18:09     ` Achim Gratz
2012-09-26 18:38       ` Nick Dokos
2012-09-26 18:57       ` Loris Bennett
2012-09-26 20:06         ` Achim Gratz
2012-09-27  6:38           ` Loris Bennett
2012-09-27 17:22             ` Achim Gratz
2012-11-13 15:16               ` Loris Bennett
2012-11-14  5:04                 ` Nick Dokos
2012-11-14  6:23                   ` Nick Dokos
2012-11-14  7:48                     ` Loris Bennett [this message]
2012-11-14 19:47                     ` Nick Dokos
2012-11-15  6:55                     ` Nick Dokos
2012-11-15 18:31                       ` Achim Gratz
2012-11-14  7:28                   ` Loris Bennett
2012-11-13 15:39               ` Loris Bennett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87pq3gipzp.fsf@slate.zedat.fu-berlin.de \
    --to=loris.bennett@fu-berlin.de \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).