Newbie questions about Pliant

Newbie questions about Pliant

Problems installing 96 (and 84)

Message posted by marcus on 2006/03/14 16:10:58
Two problems:

1- I tried to install 96 on one of my machines (via running pliant/fullpliant)
but after I provide the user ID and password (at the os command line) the 
process is killed.
2- On the same machine (which used to host a pliant HTTP server running version
84), when I try to install version 84, via a linux script called pliantServer, which contains the

/home/m3santos/pliant/binary/pliant-debug1.exe module /pliant/protocol/http/server.pli command 'http_server port 8080'

I get the following error: 

./pliantServer: line 1:  7695 Segmentation fault      /home/m3santos/pliant/binary/pliant-debug1.exe module /pliant/protocol/http/server.pli command 'http_server port 8080'

Any advice?
Message posted by hubert.tonneau on 2006/03/14 16:26:33
About release 84, il you are running a new Linux kernel (2.6.12 or later)
then Pliant precompiling will not work because of the poor randomisation of
the addresse space introduced in Linux kernel to make virus life harder (*)

About release 96, if you have problems with it, you can just stay with
release 95 at the moment. I published release 96 just in order to make
a proper milestone before introducing the storage subsystem.

If you have problems when running:
You can try instead:
  pliant reset module /pliant/install/precompile.pli module /pliant/fullpliant/run.pli
which is the same, but can be extended to:
  pliant debug 2 reset module /pliant/install/precompile.pli module /pliant/fullpliant/run.pli
in order to run more internal tests.
With luck, it could provide you more meaningfull messages.

(*) Basically, the memory address I get when calling 'mmap' on one run is not
    granted to be allowed to request on the next run.
    This is the result of a poor implementation of randomisation in the Linux
    kernel, but since Linux kernel is a large project and Pliant is not much
    used, the official slogan about free softwares that 'bugs get fixed' does
    not apply :-(
Message posted by marcus on 2006/03/14 21:34:59
So we (I) will have a problem to keep the Pliant documentation initiative site
running. Because, as you recall, Patrice's documentation tools only work on
p-84; but my server here at school has been upgraded (for security reasons, I
think) to a newer Linux kernel.

It is unlikely I will be able to go back to the old kernel.

Any suggestions?

ps: on a unrelated note, I just bought my first Macs: an iMac and the MacBook Pro, 
both with the Intel core duo. I'm loving them. Too bad Pliant does run on 
them... :(
Message posted by hubert.tonneau on 2006/03/14 21:48:28
So the question is: why does Patrice tool refuse to work on newer Pliant
releases ?
Message posted by pom on 2006/03/14 21:53:57
I don't refuse. I don't know how to make the same meta...
Message posted by hubert.tonneau on 2006/03/14 21:55:32
Can you remind me where the problem is with changes in the meta engine ?
I just don't remember.
Message posted by marcus on 2006/03/14 21:57:12
Regarding the problem of my server being killed during start up, it also happens
with release 95.

Here is the output:

You need an account to be able to connect to your Pliant HTTP
server through your favorite browser.
User ID: root
Password: .......

Killeding HTTP server. Please wait ...
[root@playground ~]#

Incidentally, my system admin has just upgraded my machine to linux kernel 
Message posted by pom on 2006/03/14 22:00:50
The problem was in the meta "sample", which took a bloc of source code
and should do two things: first compile and register the page (or the module)
corresponding to the bloc, second pretty print int on the page. A button
"execute" then was used to run the sample.
The idea behind was that the documentation of the basics could involve
up to 50 samples in a .page which are all about 3 lines long. Writing
a separate file for each sample seemed unpracticable.

Actually, the best would be to be able to put the samples in the database, but
it might be even harder... 
Message posted by hubert.tonneau on 2006/03/14 22:02:22
Pliant 84 should run fine on Linux kernel 2.6.9
Please remind that Linux kernel user space randomisation was introduced in
Linux kernel 2.6.12 (as far as I can remember).

Also if the Pliant process crashes with absolutely no message, then just try:
pliant verbose 2 debug 2 reset module /pliant/install/precompile.pli module /pliant/fullpliant/run.pli
Message posted by pom on 2006/03/14 22:04:38
Are you sure you did not forget to delete all your .dump ?
Message posted by hubert.tonneau on 2006/03/14 22:07:50
> The problem was in the meta "sample", which took a bloc of source code
> and should do two things: first compile and register the page (or the module)
> corresponding to the bloc, second pretty print int on the page.

I thought 'do_compile_dynamic_page' method in /pliant/protocol/http/server.pli
was introduced to let you do that.
So what problem remains ?
Message posted by hubert.tonneau on 2006/03/14 22:15:29
Patrice is right:
each time somebody modifies your Linux configuration (kernel, libraries) you
may need to delete the Pliant .dump files because the address space layout
will be modified, even if you don't change of Pliant release.
Message posted by maybe Marcus on 2006/03/15 01:06:33
The problem persists, even after deleting the dump file.

I've run the command suggested by Hubert. Below is the last line of the 
(humongous) output before the process is killed:

parse /pliant/linux/kernel/statistics.pli (internals) 151 4
Message posted by hubert.tonneau on 2006/03/15 01:35:54
I prepose you the following protocol:

1) type in 'pliant' with no extra agument in order to check that the right
   executable is executed (see release number in the output)

2) check that no Unix right problem prevented the Pliant tarball to properly
   extract, and the the Unix user you use when running Pliant has proper rights
   on the various parts of Pliant

3) move asside the /pliant_security and /pliant_data directories to see if
   a fresh configuration works, and if it does, try puting back some files
   until you find the disturbing one
Message posted by maybe Marcus on 2006/03/15 03:55:49
> 1) ...

The release number is correct.

> 2) check that no Unix right problem prevented the Pliant tarball to properly
>   extract, and the the Unix user you use when running Pliant has proper rights
>   on the various parts of Pliant

That, I believe, is where the problem resides.

I am running the thing as root. When I untar the ball, the group/user seem

[root@playground ~]# ls -al pliant
total 24
drwxr-xr-x   4 root root  4096 Mar 14 19:31 .
drwxr-x---  21 root root  4096 Mar 14 19:31 ..
drwxr-xr-x   2 root root  4096 Mar 14 19:31 binary
lrwxrwxrwx   1 4096 users   24 Mar 14 19:31 fullpliant -> binary/pliant-debug1.exe
-rw-r--r--   1 4096 users   56 May 19  2005
drwxr-xr-x  16 4096 users 4096 Oct  8 04:58 pliant

I should have root/root as group and user.

Even if I change them, via: chown -R root.root pliant, it still does not work,
i.e., the process still gets killed.

My sys admin must have screwed up something during the upgrade. I will have
a talk with them.

Message posted by marcus on 2006/03/16 19:33:47
My system admin installed another Linux version (Cent OS was the problematic 
one). I am now able to run r-96 with no problems.

However, I am unable to run release 84. When I start the system using verbose 2,
here is the last line of output I get before the 'segmentation fault' error
shows up:

execute /pliant/language/basic/shortcut.pli (internals) 37 1
Message posted by maybe Marcus on 2006/03/17 19:57:01
For the time being, while I still have a linux machine able to run release 84,
I have moved the Pliant Documentation Initiative site to

Please update your links (Hubert, please update the link at the fullpliant 
Message posted by hubert.tonneau on 2006/03/17 20:03:13
Done, also the new URL does not seem to answer at the moment.
Message posted by maybe Marcus on 2006/03/17 20:26:52
Now it is accessible.