I am working on windows machine. I have last org version (from february 2017).
I have a remote host accessible by putty, where i have created org file of the following contents:

#+TITLE C language things

* Simple hello-world program

#+NAME hello world on C
#+BEGIN_SRC C :dir /pscp:tcl:/home/tc/development :main no
  #include <stdio.h>

  int main()
  {
      printf("Hello, world!");
      return 0;
  }
#+END_SRC

where tcl is name of saved putty configuration

When i evaluate codefragment, overall result is a failure (however, it is not a crash, and toggling debug on yields no backtrace)
Here is what is output to *Message* buffer:

executing C code block...
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816iL0.c to /pscp:tcl:/tmp/C-src-4816VBu.c...
Tramp: Waiting for prompts from remote shell...
Tramp: Process has finished.
Tramp: Waiting for prompts from remote shell...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816iL0.c to /pscp:tcl:/tmp/C-src-4816VBu.c...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816hfJ.exe to /pscp:tcl:/tmp/C-bin-4816UVD.exe...
Tramp: Waiting for prompts from remote shell...
Tramp: Process has finished.
Tramp: Waiting for prompts from remote shell...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816hfJ.exe to /pscp:tcl:/tmp/C-bin-4816UVD.exe...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816upP.c to /pscp:tcl:/tmp/C-src-4816VBu.c...
Tramp: Waiting for prompts from remote shell...
Tramp: Process has finished.
Tramp: Waiting for prompts from remote shell...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816upP.c to /pscp:tcl:/tmp/C-src-4816VBu.c...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816I-b to /pscp:tcl:/tmp/ob-input-48167zV...
Tramp: Waiting for prompts from remote shell...
Tramp: Process has finished.
Tramp: Waiting for prompts from remote shell...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816I-b to /pscp:tcl:/tmp/ob-input-48167zV...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816iSo to /pscp:tcl:/tmp/ob-error-4816VIi...
Tramp: Waiting for prompts from remote shell...
Tramp: Process has finished.
Tramp: Waiting for prompts from remote shell...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816iSo to /pscp:tcl:/tmp/ob-error-4816VIi...done
Copying c:/Users/Ivan/AppData/Local/Temp/tramp.4816vcu to /pscp:tcl:/tmp/ob-input-48167zV...failed
byte-code: Spawning child process: invalid argument

What is going on there? What does error in the end mean? Most importantly, is code block being evaluated on remote host at all? Can output of org-babel commands be turned on to get that information?