Newbie questions about Pliant

Newbie questions about Pliant

Remote execution problem

Message posted by maybe David on 2002/02/14 22:56:49
I have instlled one pliant system in my windows98 and try the remote execution function.
I got the following error message:
"This computer has no private key ! This computer does not know hubert.fullpliant.org public key !
Cannot access hubert.fullpliant.org through the network !"

Does it mean that I have to get the private key from the remote server irst?

Another question is about the procedure to get the key? And since my computer don't have valid domain name, is it neccessary for pliant remote execution through internet?

Message posted by maybe Sauron on 2002/02/15 15:25:51
I couldn't understand what is the necessary set up to make the remote execution 
work.

I have done everything the "Configuration wizard" suggests. The only message left
in the "configuration wizard" is: There is no DNS provider defined, so mails 
forwarding will not work.

But when I try to test the remote execution settings via 
/pliant/util/remote/remote.html it says 

Cannot access ... through the network !

Mind you that I have set to 'Yes' the remote execution setting. 
Message posted by maybe David on 2002/02/15 16:57:24
Is your system the fullpliant system? I am wondering if the remote execution function can work only under fullpliant systems.
Message posted by maybe Sauron on 2002/02/15 18:01:20
Nop.

I wonder if Master Ingo Hohmann can solve this riddle....
Message posted by maybe Patrice Ossona de Mendez on 2002/02/16 12:31:38
Hubert seems to be an vacation.

From what I have understood, the sites using or allowing remote execution
should have a secret/public key computed. Thatfor, you have to go the
"Configuring the server"/"Sites"/... page and click on the "Generate" button
after the field public key if you don't have one.

This has to be done for the server and the client machine.

Create in each of the computers an entry for the other machine, in the "Sites"
page: in the configuration page of the site, precise the name of the server
(that is the machine hosting the site, should be probably the same as the site
name) and paste the public key computed for this computer.

Now, in the "Configuring..."/"Remote execution" page of the server, you should
allow remote execution from the client machine.

Good luck! 

Message posted by maybe David on 2002/02/16 22:16:30
For the public key, paste from where to where?

And if my computer don't have a domain name, can I put my IP address as the server name in the site page?
Message posted by maybe Sauron on 2002/02/17 17:17:11
Thanks for the information, Patrice.

I tried exactly what you suggest, but I am still unable to execute things remotely.

When I try to test the remote execution via the Remote Execution Administration site, the system returns the message:


   Remote execution service is not running on "mycomputer" !

Any suggestions?

Regards
Message posted by maybe Hubert Tonneau on 2002/02/17 17:41:44
> Remote execution service is not running on "mycomputer" !

If you are running Pliant services through:
  pliant module /pliant/fullpliant/run.pli
then you have to go to 'Configuring the server' 'Remote execution'
'Remote execution global settings for this computer' and set
'Remote execution service' to 'Yes', then restart Pliant.

If you are running Pliant HTTP server directly through something like:
  pliant module /pliant/protocol/http/server.pli command http_server
then you have to change it to:
  pliant module /pliant/util/remote/server.pli command 'remote_server detached' module /pliant/protocol/http/server.pli command http_server

Message posted by maybe Sauron on 2002/02/17 22:23:25
I followed your instructions (running Pliant HTTP server directly). 

It works if I log on (via browser) to my remote computer (my.remote), go to 
'Configuring the  server' 'Remote  execution administration',provide the name of 
the computer and  click on 'Test remote access'. The system says: Everything 
should be ok

However, if I log on to my local computer, which has all the information about the 
remote computer, and try to do the same as described above, it does not work. The 
systems says: 
Remote execution service is not running on my.remote !

Any help will be appreciated.
Message posted by maybe David on 2002/02/18 01:07:42
Thanks, Hubert.

I tried as your saying to start pliant http server with remote execution service,  and configured exactly as Patrice instruction, but the problem still exists.(the remote computer has a valid name on internet, and the local computer don't have a valid name so I use mycomputer.com with the valid ip address&port)

On the remote computer, entered the  mycomputer.com in 'COnfiguration'->Remote execution administration' and clicked 'Test remote access'. The system told me: 
Cannot access mycomputer.com through the network !

On the other hand, in the local computer, I entered the remote computer's name and was told:
Remote execution service is not running on thebe.scs.ryerson.ca !

Sauron has succeeded on one way. But my problem existed. Is it because my local computer don't have a valid internet name? But I even set the ip address and port number in the sites for mycomputer.com on both sides. 

Message posted by maybe Hubert Tonneau on 2002/02/18 07:57:24
> Cannot access mycomputer.com through the network !

In the new status page, the 'details' link in the 'Network' line will bring
you a 'Check connection' section. Just use it to test if the problem is name
resolution or something else.
Message posted by maybe  on 2002/02/18 08:10:11
> It works if I log on (via browser) to my remote computer (my.remote) ...
> The system says: Everything should be ok

my.remote can execute remote instructions on your local computer (because
the remote execution service is running on your local computer and all the
key pairs are ok),

> However, if I log on to my local computer ..
> The systems says: Remote execution service is not running on my.remote !

your local computer cannot execute remote instructions on my.remote
because the remote execution service is not running on my.remote
Message posted by maybe Patrice Ossona de Mendez on 2002/02/18 08:50:18
This seems to mean that the remote execution is runing on your local
computer and not in the remote one.
So, remote computer is able to execute on the local one, but not
the opposite.
Message posted by maybe Sauron on 2002/02/18 12:29:42
Let me try to explain in a different way: let my.local and my.remote be two
computers (sites) that have been set up so that my.local can execute things 
remotely on my.remote. To achieve that, on my.local I have defined a site 
for my.remote and also have generated/copied the necessary keys. My.remote
was set to accept remote execution. Moreover, my.remote and my.local have 
been started using:

    pliant module /pliant/util/remote/server.pli command 'remote_server detached' module /pliant/protocol/http/server.pli command http_server

When testing the remote execution of my.remote via 

http://my.remote/pliant/util/remote/remote.html

then typing in my.remote and pressing 'Test remote access'

The systems says:  Everything should be ok.

However, when testing the remote execution of my.remote via

http://my.local/pliant/util/remote/remote.html

and typing in my.remote then pressing 'Test remote access' (i.e., I am trying
to test the remote execution settings of my.remote while logged in as manager
of my.local.)

The system says: Remote execution service is not running on my.remote !

Now replying to the forum messages:

> your local computer cannot execute remote instructions on my.remote
> because the remote execution service is not running on my.remote

But I *was* running the execution service on my.remote, as you could see above.

> This seems to mean that the remote execution is runing on your local
> computer and not in the remote one. So, remote computer is able to execute on the local one, but not
> the opposite.

Actually, I was running the remote_server on both. And this raises 
another question:

Do I have to run the remote_server on both ends, or just the remote
computer has to be started using the remote_server command?
Message posted by maybe Hubert Tonneau on 2002/02/18 12:53:01
> But I *was* running the execution service on my.remote, as you could see above.

So, you have TCP connection trouble, that you should resolve first, as
specified earlier:

In the new status page, the 'details' link in the 'Network' line will bring
you a 'Check connection' section. Just use it to test if the problem is name
resolution or something else.
Message posted by maybe Sauron on 2002/02/18 13:48:44
I just did. And finally I have found the glitch: I had forgotten to define the
 my.local site at the my.remote machine and copy my.local's key to it's entry
 on my.remote.

 Now /pliant/util/remote/remote.html says it's ok.

 However...something is not right. To test the remote execution, I have 
 changed /pliant/util/remote/sample.pli as follows

 function foo x y t -> z
   arg Int x y z ; arg_rw Str t
   console "computing..." eol
   remote "my.remote"
     control c c="my.local"
     z := x+y
     t := string x*y
     console "finished" eol

 gvar Str t
 console "foo result is "+string:(foo 3 5 t) eol

 And tried to run it from my.local, but it didn't work properly. After taking
 quite a bit of processing time, here is the output I get:

 Linux prompt $ ./pliant-debug0.exe module /pliant/util/remote/sample.pli
 Remote execution server is running. (detached)
 computing...
 foo result is -1073744336
 t is 
 Remote execution server is down.
Message posted by maybe Hubert Tonneau on 2002/02/18 13:58:47
> After taking quite a bit of processing time

The first time a computer is accessing another one, they have to exchange a
shared secret key, and it takes time (using RSA), for security reasons.
Next accesses should be resonably fast.

> foo result is -1073744336
> t is

In the last Pliant release, you need to specify what variables the remote
computer is allowed to modify:

 function foo x y t -> z
   arg Int x y z ; arg_rw Str t
   console "computing..." eol
   remote "my.remote"
     control c c="my.local"
     modify z t
     z := x+y
     t := string x*y
     console "finished" eol
Message posted by maybe Sauron on 2002/02/18 14:40:42
Still doesn't work. 

Here is my code:

remote_server detached

function foo x y t -> z
  arg Int x y z ; arg_rw Str t
  console "computing..." eol
  remote "my.remote"
    control c c="my.local"
    modify z t
    z := x+y
    t := string x*y
    console "computed" eol

gvar Str t
console "foo result is "+string:(foo 3 5 t) eol
console "t is " t eol
console "Pliant release: " string:pliant_release_number eol

tcp_servers_stop 30

--------------------------------------

Here is the output:

Remote execution server is running. (detached)
computing...
foo result is -1073744312
t is 
Pliant release: 71
Remote execution server is down.
Message posted by maybe Hubert Tonneau on 2002/02/18 15:30:22
> Still doesn't work.

Use the trace: select 'trace' in the home page (you need to have administrator
rights), then specify /pliant/util/remote/ in 'Path to trace' and press
'Display' button,
and finally have your sample remote function executed.
You can try the trace on both sides (my.local and my.remote)

You should also change your function to:

function foo x y t -> z
  arg Int x y z ; arg_rw Str t
  console "computing..." eol
  remote "my.remote"
    control c c="my.local"
    modify z t
    z := x+y
    t := string x*y
    console "computed" eol
  failure msg
    console "remote execution did not work: " msg eol
Message posted by maybe Sauron on 2002/02/18 15:59:28
After implementing what you have suggested, here is what I get:

from the tracer running on my.remote:

pliant/util/remote/server.pli/command   call /pliant/util/remote/mysample.pli foo
/pliant/util/remote/server.pli/failure   function /pliant/util/remote/mysample.pli foo is not available on my.remote

On the computer console of my.local:

Remote execution server is running. (detached)
computing...
remote execution did not work: function /pliant/util/remote/mysample.pli foo is not available on my.remote
foo result is -1073744312
t is 
Pliant release: 71
Remote execution server is down.
Message posted by maybe Hubert Tonneau on 2002/02/18 16:27:52
Ok, the module /pliant/util/remote/mysample.pli is not loaded on my.remote

You have two solutions:
. either you get it loaded through inserting
  module /pliant/util/remote/mysample.pli
  in your already long command line
  (before module /pliant/protocol/http/server.pli ...)
. or you rename it as /pliant/util/remote/mysample.remote
  and it will be loaded automatically (any module with .remote as extension
  will be loaded automatically when a request from a client is received)
Message posted by maybe Sauron on 2002/02/18 16:38:38
I have tried the second option, and received the following message from the 
tracer:

/pliant/util/remote/server.pli/command   call /pliant/util/remote/mysample.remote foo
/pliant/util/remote/server.pli/failure   function /pliant/util/remote/mysample.remote foo is not available on my.remote
Message posted by maybe Hubert Tonneau on 2002/02/18 17:25:42
You must be running release 71, not less.

In release 71, the beginning of the service function for the remote server
in module /pliant/util/remote/server.pli is:

method remote service s
  arg_rw RemoteServer remote ; arg_rw Stream s
  var TraceSession log
  var Str cmd := s readline
  log trace "command" cmd
  if not (cmd parse word:"call" any:(var Str id))
    return
  remote_sem rd_request
  var Pointer:Arrow c :> remote_functions first id
  if c=null
    var Str module_name := id 0 (id search " " 0)
    if (reverse:module_name parse (pattern reverse:".remote") any)
      remote_sem rd_release
      pliant_compiler_semaphore request
      pliant_load_module module_name the_module:"/pliant/language/basic/safe.pli" 0 (null map Module)
      pliant_compiler_semaphore release
      remote_sem rd_request
      var Pointer:Arrow c :> remote_functions first id
    if c=null
      remote_sem rd_release
      s writeline "failure "+(string "function "+id+" is not available on "+computer_fullname)
      log trace "failure" "function "+id+" is not available on "+computer_fullname
      s writeline ""
      return
Message posted by maybe Sauron on 2002/02/18 17:30:04
I am running Pliant 71 on both ends.
Message posted by maybe Hubert Tonneau on 2002/02/18 17:35:10
So, did you rename
/pliant/util/remote/mysample.pli
to
/pliant/util/remote/mysample.remote
on my.remote also ?
Message posted by maybe Sauron on 2002/02/18 18:05:59
Yes, you nailed it right on the head! I had forgotten about this detail.

Now it works just fine.

Thanks for your help.

I will compile this long sequence of messages into a HowTo tutorial. Perhaps 
it would be interesting to post it at the PDI (Pliant documentation Iniative) 
site.
Message posted by maybe Sauron on 2002/02/18 19:13:41
Actually, "almost" everything worked fine.

Once the remote execution call resumes, the my.remote server is down.

Here is the message returned by pliant-debug1.exe:

----------------------------------------------------------------
processor stack content is:
memory_allocate (Int Address) +815
copy (Str Str) +30
. open  /pliant/language/stream/stream.pli (internals) 294 1 /pliant/language/stream/stream.pli (internals) 297 10
. main_loop  /pliant/protocol/common/tcp_server.pli (internals) 106 1 /pliant/protocol/common/tcp_server.pli (internals) 113 7 /pliant/language/stream/stream.pli (internals) 343 13
frozen expression at /pliant/protocol/common/tcp_server.pli (internals) 179 1  /pliant/protocol/common/tcp_server.pli (internals) 179 1 /pliant/protocol/common/tcp_server.pli (internals) 179 1
run_thread  /pliant/language/schedule/threads_engine.pli (internals) 320 5 /pliant/language/schedule/threads_engine.pli (internals) 365 11
???
----------------------------------------------------------------

Any hints on why it has brought the server down?
Message posted by maybe Hubert Tonneau on 2002/02/18 22:55:38
The stack says that something broke the memory through poking outside the
allocated area. Might either be a direct poke outside bounds, or a missing
semaphore on a shared structure. Not very informative anyway.

What's surprising me is that I use the remote protocol for Heliogroup and
had no server crash after several days, so many many remote instructions
executed.

Try using debugging level 2, just in case it would be more informative.
Message posted by maybe Sauron on 2002/02/19 04:40:20
To test that I ran the .remote code on my.local using debug0 and then debug2. In both cases the server at my.remote has been started up using debug2.

When I run the .remote code using debug2, the program does not even run (it seems). Debug2 returns on my.local returns the following message (the server at my.remote does *not* crash): (the other case I present after the long message
below)

----------------------------------------------------------------
The substituted expression must be linked to a module
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  parse /pliant/protocol/http/style/default.style (internals) 198 1
  module /pliant/protocol/http/style/default.style
  compile /pliant/appli/mail/count.pli (internals) 3 1
  compile /pliant/appli/mail/count.pli (internals) 3 1
  compile /pliant/appli/mail/count.pli (internals) 3 1
  compile /pliant/appli/mail/count.pli (internals) 3 1
  parse /pliant/appli/mail/count.pli (internals) 4 1
  module /pliant/appli/mail/count.pli
  compile /pliant/util/remote/mysample.remote (internals) 5 1
  compile /pliant/util/remote/mysample.remote (internals) 5 1
  compile /pliant/util/remote/mysample.remote (internals) 5 1
  compile /pliant/util/remote/mysample.remote (internals) 5 1
  parse /pliant/util/remote/mysample.remote (internals) 7 1
  module /pliant/util/remote/mysample.remote
----------------------------------------------------------------
processor stack content is:
error_notify_fatal (ErrorID Str) +14
error_report +61
error_notify (ErrorID Address Str) +81
error  /pliant/language/debug/error1.pli (internals) 62 1
pliant check  /pliant/language/debug/check.pli (internals) 20 1 /pliant/language/debug/check.pli (internals) 24 5
  id Int 7
  cond Int 0
  msg (Pointer Str)
. substitute  /pliant/language/compiler/expression/expression2.pli (internals) 160 1 /pliant/language/compiler/expression/expression2.pli (internals) 162 3
  newone Int 1075887217
  e (Pointer Expression)
  id (Pointer Str)
  value (Pointer Expression)
  i Int 1079522296
style_setup  /pliant/protocol/http/server.pli (internals) 520 1 /pliant/protocol/http/server.pli (internals) 526 17
  m (Link Module)
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/protocol/http/style/default.style (internals) 70 1
{} +43
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/protocol/http/style/default.style (internals) 70 1
. execute (Expression) +21
  /pliant/protocol/http/style/default.style (internals) 70 1
. execute (ParserContext) +40
parser_filter_execute +330
pliant internal parse_one_token function (ParserContext) +500
compile_text (List Module) +255
pliant_load_module (Str Module Int Module) +942
doc +143
module +13
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/appli/mail/count.pli (internals) 3 1
{} +43
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/appli/mail/count.pli (internals) 3 1
. execute (Expression) +21
  /pliant/appli/mail/count.pli (internals) 3 1
. execute (ParserContext) +40
parser_filter_execute +330
pliant internal parse_one_token function (ParserContext) +500
compile_text (List Module) +255
pliant_load_module (Str Module Int Module) +942
doc +143
module +13
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/util/remote/mysample.remote (internals) 5 1
{} +43
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/util/remote/mysample.remote (internals) 5 1
. execute (Expression) +21
  /pliant/util/remote/mysample.remote (internals) 5 1
. execute (ParserContext) +40
parser_filter_execute +330
pliant internal parse_one_token function (ParserContext) +500
compile_text (List Module) +255
pliant_load_module (Str Module Int Module) +942
???
???

When I run the .remote code using debug0 (at my.local) the programs works, i.e., 
returns the expected valuesn, but the server at my.remote crashes. debug2 which
was running at my.remote returns the following long message:

----------------------------------------------------------------
The substituted expression must be linked to a module
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  compile /pliant/protocol/http/style/default.style (internals) 70 1
  parse /pliant/protocol/http/style/default.style (internals) 198 1
  module /pliant/protocol/http/style/default.style
  service HTTP request
----------------------------------------------------------------
processor stack content is:
error_notify_fatal (ErrorID Str) +14
error_report +61
error_notify (ErrorID Address Str) +81
error  /pliant/language/debug/error1.pli (internals) 62 1
pliant check  /pliant/language/debug/check.pli (internals) 20 1 /pliant/language/debug/check.pli (internals) 24 5
  msg (Pointer Str)
  id Int 7
  cond Int 0
. substitute  /pliant/language/compiler/expression/expression2.pli (internals) 160 1 /pliant/language/compiler/expression/expression2.pli (internals) 162 3
  newone Int 1075635497
  value (Pointer Expression)
  id (Pointer Str)
  e (Pointer Expression)
  i Int 1079741440
style_setup  /pliant/protocol/http/server.pli (internals) 520 1 /pliant/protocol/http/server.pli (internals) 526 17
  m (Link Module)
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/protocol/http/style/default.style (internals) 70 1
{} +43
active_type_Meta +110
. compile_step4 (Expression Address Int) +308
active_type_Ident +210
. compile_step4 (Expression Address Int) +308
. compile_step3 (Expression) +18
. compile_step2 (Expression) +64
. compile (Expression) +19
  /pliant/protocol/http/style/default.style (internals) 70 1
. execute (Expression) +21
  /pliant/protocol/http/style/default.style (internals) 70 1
. execute (ParserContext) +40
parser_filter_execute +330
pliant internal parse_one_token function (ParserContext) +500
compile_text (List Module) +255
pliant_load_module (Str Module Int Module) +942
. compile_dynamic_page  /pliant/protocol/http/server.pli (internals) 731 1 /pliant/protocol/http/server.pli (internals) 777 5
  filename (Pointer Str)
  program (Link List)
  data Stream
  e ErrorRecord
  ext Str ".html"
  info FileInfo
  err (Pointer Str)
  tmp Stream
  dp (Link DynamicPage)
  filter (Link Function)
  temp Str "file:/tmp/pliant_19944_1.tmp"
  opt Str ""
  pagename (Pointer Str)
  physical Str "/index.page"
  module (Link Module)
  function (Link Function)
. send_file  /pliant/protocol/http/server.pli (internals) 1026 1 /pliant/protocol/http/server.pli (internals) 1035 19
  err Str ""
  ext Str ".html"
  request (Pointer HttpRequest)
  virtualpath (Pointer Str)
  status Int 10
  filename (Pointer Str)
. answer  /pliant/protocol/http/server.pli (internals) 1064 1 /pliant/protocol/http/server.pli (internals) 1076 7
  info FileInfo
  filename2 Str ""
  virtualpage Str ""
  sitename Str ""
  base Str ""
  pagename Str "/"
  filename Str "/index.html"
  extra Str ""
  virtualpath Str ""
  dirname Str ""
  virtualfile Str ""
  request (Pointer HttpRequest)
. parse_then_answer  /pliant/protocol/http/server.pli (internals) 1127 1 /pliant/protocol/http/server.pli (internals) 1244 5
  param Str ""
  ch Char ""
  dt DateTime ?
  user Str ""
  auth Str ""
  continue CBool
  filename2 Str ""
  drop Int 13
  http (Pointer Stream)
  empty_list List
  buf Address
  u (Data UserSecret)
  virtualpath Str ""
  cache Str ""
  encoded Str ""
  done Int 0
  length Int ?
  cmd Str "GET / HTTP/1.1"
  buffer Address
  label2 Str ""
  avail2 Int 134513301
  password Str ""
  virtualfile Str ""
  name Str ""
  value Str "keep-alive"
  temp Str ""
  form Stream
  filename Str ""
  extra Str ""
  form_temp Str ""
  data Stream
  virtualpage Str ""
  a Address
  avail Int -1075839984
  base Str ""
  step Int 1078979412
  multipart CBool
  request (Pointer HttpRequest)
  boundary Str ""
  protocol Str "HTTP/1.1"
  adr Address
  line Str ""
  label Str ""
  tag Str "connection"
  command Str "GET"
. service  /pliant/protocol/http/server.pli (internals) 1390 1 /pliant/protocol/http/server.pli (internals) 1411 5
  request HttpRequest
  ae CBool
  first CBool
  server (Pointer HttpServer)
  http (Pointer Stream)
frozen expression at /pliant/protocol/common/tcp_server.pli (internals) 124 1  /pliant/protocol/common/tcp_server.pli (internals) 124 1 /pliant/protocol/common/tcp_server.pli (internals) 125 1
  server (Pointer TcpServer)
  s (Pointer (Link Stream))
run_thread  /pliant/language/schedule/threads_engine.pli (internals) 320 5 /pliant/language/schedule/threads_engine.pli (internals) 351 9
  h (Pointer ThreadHeader)
  action (Pointer DelayedAction)
  pid Int 1079115512
  success Int 134523266
  ar ActionRecord
. main_loop  /pliant/protocol/common/tcp_server.pli (internals) 106 1 /pliant/protocol/common/tcp_server.pli (internals) 113 7 /pliant/language/stream/stream.pli (internals) 343 13
  server (Pointer TcpServer)
  maxi Int 123
  s (Link Stream)
  options Str "queue 123"
  channel (Pointer Str)
  current Int 0
. start  /pliant/protocol/common/tcp_server.pli (internals) 142 1 /pliant/protocol/common/tcp_server.pli (internals) 181 5
  server (Pointer TcpServer)
  s (Link Stream)
  i Int 0
  status Int -1073744144
_noname_  <command line> 1 1 <command line> 1 1
pliant internal execute function (Function) +10
. execute (Expression) +368
  <command line> 1 1
. execute (ParserContext) +40
parser_filter_execute +330
pliant internal parse_one_token function (ParserContext) +500
compile_text (List Module) +255
???
???








Message posted by maybe Hubert Tonneau on 2002/02/19 09:20:33
Looks like bugs repported at debugging level 2 are not related to the remote
execution.
I really need to publish a release 72 now to get everything clean.
Message posted by maybe Sauron on 2002/02/19 12:28:47
In this interim I will David to redo all the steps, from scratch, with different machines, and see if he gets the same problem.
Message posted by hubert.tonneau on 2002/02/25 20:10:45
The crash is probably due to the 'remote_server detached' and
'tcp_servers_stop 30' instruction beeing included in your .remote file.

See mails below:


Marcus Vinicius Santos wrote:
>
> Here it is (the file name is mysample.remote):

> module "/pliant/language/stream.pli"
> module "server.pli"
> module "client.pli"

> remote_server detached

> function foo 
>   console "computing..."
>   remote "d141-150-31.home.cgocable.net"
>     console "In remote"

> foo

> tcp_servers_stop 30


Hubert Tonneau wrote:
>
> Change it to:

> module "/pliant/util/remote/client.pli"

> function foo 
>   console "computing..."
>   remote "d141-150-31.home.cgocable.net"
>    console "In remote"
>
> export foo


Marcus Vinicius Santos wrote:
>
> Now it works.