Hi, all:
    I tried to build drlvm on linux, but when build update, it reports such
error:

    [echo] downloading XALAN from no_settings_in_config_or_environment
    [echo] no_settings_in_config_or_environment

BUILD FAILED
/root/workspaces/workspace/drlvm/build/make/build.xml:240: The following
error occurred while executing this line:
/root/workspaces/workspace/drlvm/build/make/setup.xml:273: The following
error occurred while executing this line:
/root/workspaces/workspace/drlvm/build/make/setup.xml:275: The following
error occurred while executing this line:
/root/workspaces/workspace/drlvm/build/make/setup.xml:442: Warning: Could
not find file
/root/workspaces/workspace/drlvm/build/make/no_settings_in_config_or_environment
to copy.

How can I do with it?
Thanks.



On 10/17/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:

2006/10/16, Leo Li <[EMAIL PROTECTED]>:
> It seems not quite related to actual memory stress although the reported
> error is ENOMEM.
> I have run it both in eclipse and console. And there are enough memory
> available.
>
> Furthermore, the case can be repeated even though in the same time a C
> program runs well when using fork().
>
> I suspect that it is related with VM since it can be only reproduced by
VM
> calling it. I am not sure whether vm does something behind me, but I
have
> not thought out of a way that a user-space program have such effect.:)
>
Actually drlvm provides own impl of j.l.Process. Interesting, would it
work if switched to classlib's impl - then this should be process impl
issue. Could you please try the following patch with DRLVM and see if
it works?

Index: vm/vmcore/src/kernel_classes/javasrc/java/lang/Runtime.java
===================================================================
--- vm/vmcore/src/kernel_classes/javasrc/java/lang/Runtime.java
(revision 464817)
+++ vm/vmcore/src/kernel_classes/javasrc/java/lang/Runtime.java (working
copy)
@@ -743,14 +743,15 @@
         //#IN004# Should we check: envp != null ?
         //#IN004# Should we check envp's direction values: envp[i] !=
null ?

-        String dirPathName = (dir != null ? dir.getPath() : null);
+        //String dirPathName = (dir != null ? dir.getPath() : null);

-        SubProcess sp = new SubProcess();
+        //SubProcess sp = new SubProcess();

-        sp.execVM(cmdarray, envp, dirPathName);
+        //sp.execVM(cmdarray, envp, dirPathName);

-        return sp;
-
+        //return sp;
+        return org.apache.harmony.luni.internal.process.SystemProcess.
+             create(cmdarray, envp == null ? new String[0] : envp, dir);
     }


--
Alexey

>
> On 10/16/06, Geir Magnusson Jr. <[EMAIL PROTECTED]> wrote:
> >
> > I'm confused.  Didn't you just report this on Ubuntu?
> >
> > I have had similar forking problems on Ubuntu 6 (I once found a bug in
> > classlib related to forking...).
> >
> > I never figured out why Unbuntu does this, but it seemed that under
> > memory stress, Ubuntu's fork() fails.  Try this - close Eclipse and
run
> > the test again...
> >
> > geir
> >
> >
> > Leo Li wrote:
> > > Thank you.
> > > I have just run it on drlvm of unbuntu, it works.
> > > What a qurious problem!
> > >
> > >
> > > On 10/16/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
> > >>
> > >> Both DRLVM and J9 works for me (SUSE9).
> > >>
> > >> --
> > >> Alexey
> > >>
> > >> 2006/10/16, Leo Li <[EMAIL PROTECTED]>:
> > >> > Hi, all:
> > >> >     The harmony Runtime.exec fails on Linux with ENOMEM.
> > >> >     Here is the testcase:
> > >> >
> > >> > public class Exec {
> > >> >    public static void main(String[] args) throws Exception {
> > >> >
> > >> >       Runtime.getRuntime().exec("ls");    }
> > >> > }
> > >> >
> > >> >    I have tried it on RedHat Enterprise 4 and Unbuntu, both get
> > ENOMEM
> > >> in
> > >> > native code.
> > >> >
> > >> >    After digging into it, I found it fails in procimpl.c, line
135:
> > >> >
> > >> >        grdpid = fork ();
> > >> >
> > >> >    If the call to fork is changed to vfork, the testcase will
pass
> > but
> > >> > still get exitcode = 1 which indicates that some error has
happened.
> > >> The
> > >> > difference between fork and vfork is just whether page tables is
> > copied
> > >> to
> > >> > child process or not. But I do not think it is the main cause.
> > Besides,
> > >> > vfork has become outdated since it main usage is supplied by fork
> > with
> > >> > copy-on-write function implemented in modern linux kernel.
> > Furthermore,
> > >> > vfork is also not so safe as fork. So I do not think it is the
> > accepted
> > >> way
> > >> > to solve the problem.
> > >> >
> > >> >   I will try whether it can be reproduced on drlvm of linux since
I
> > am
> > >> not
> > >> > sure whether it is relevent to VM or classlib. If any drlvm man
can
> > >> tell
> > >> me
> > >> > the result, it can avoid my trouble to build it on linux. :)
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > --
> > >> > Leo Li
> > >> > China Software Development Lab, IBM
> > >> >
> > >> >
> > >>
> > >>
---------------------------------------------------------------------
> > >> Terms of use : http://incubator.apache.org/harmony/mailing.html
> > >> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> > >> For additional commands, e-mail:
[EMAIL PROTECTED]
> > >>
> > >>
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > Terms of use : http://incubator.apache.org/harmony/mailing.html
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
> --
> Leo Li
> China Software Development Lab, IBM
>
>

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Leo Li
China Software Development Lab, IBM

Reply via email to