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