Hi, Alexey: Thank you. I have started to build the system. Besides, I think the problem is not related to classlib. Since I have let fork called in a native function, but it fails on J9.
On 10/17/06, Alexey Varlamov <[EMAIL PROTECTED]> wrote:
This is due to incorrect classlib location specified. Please ensure you provide correct (better absolute) path in build\drlvm.properties (if you use it) or "external.dep.CLASSLIB.loc" property value in cmdline: sh build.sh -Dexternal.dep.CLASSLIB.loc=$classlib This should point to the root of (pre-)built classlib WS. 2006/10/17, Leo Li <[EMAIL PROTECTED]>: > 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 > > --------------------------------------------------------------------- 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