Rana, Can you try MegaSpawn.java that I attached to harmony-2803? Its basically a version of stress.Mix with all the non-essential stuff removed. I would like to know if it faithfully reproduces the bug(s) in your environment. It would be great if this is indeed true since we would have a simple test that always breaks the jvm. This makes for much easier debug.
I also see what you observe below. I also like the idea of killing the "occupy" thread. It seems there might be some notion of memory quota -- something for which I have been waiting a long time.
From the below, the hang is observed on both winxp and linux. If this is
correct, we can focus on the OS independent code :) On 1/5/07, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
HI Weldon, On a 2 cpu smp RHEL4 box: - on RI the modified test always passes - DRLVM always fails with OOME when trying to spawn threads On a 2 cpu XP box: - RI kills the "occupy" thread( I thought this is really smart ), but passes - DRLVM sometimes passes, sometimes hangs, occassionally reports invalid memory references, VM launcher errors etc. etc. Rana On 1/5/07, Weldon Washburn <[EMAIL PROTECTED]> wrote: > > All, > > An update. I think I can cause the bug(s) we are discussing in this email > chain to surface 100% of the time on 2 cpu rhel4. Hacking stress.Mixsuch > that it only runs the "spawn" method seems to do it. This hack always > fails on 2 cpu rhel4 and never fails on 1 cpu winxp. It would be > interesting to try on 1 cpu rhel4 and 2 cpu winxp. If anyone has this > combination, please try it. This would tell us if the bug is sensitive to > OS. > > When I run the below patch on RI, it completes successfully every time. > Curiously it looks like the RI kills the "occupy" thread. It prints on > the > console output, "occupy terminated by java.lang.OutOfMemoryError.. .". But > I > don't see occupy terminate when running drlvm. I will run more > tests. This > may actually be compounding the problems we are seeing. > > Naveen, Rana, > Can you try the below patch on your hardware to see if you can reproduce > what I describe above? Does the output look the same as Harmony-2803? > > > Below is an svn diff that makes the hard failure happen on 2 cpu rhel4: > > Index: Mix.java > =================================================================== > --- Mix.java (revision 491852) > +++ Mix.java (working copy) > @@ -93,6 +93,8 @@ > > static Random random = new Random(0); > static String selectThreadType(int i) { > + return "spawn"; > + /* > switch (i % 9) { > case 0: return "uncontended"; > case 1: return "contended"; > @@ -105,6 +107,7 @@ > case 8: return "exceptions"; > } > return "nothing"; > + */ > } > > static int thread_number = 60; > > > > On 1/4/07, Naveen Neelakantam <[EMAIL PROTECTED]> wrote: > > > > > > On Jan 4, 2007, at 4:28 PM, Weldon Washburn wrote: > > > > > I see it hang consistently when running automated mode (build > > > test). I have > > > seen it hang once when running manually from a linux terminal > > > window. It > > > actually printed out "PASSED" then hung. This leads me to suspect > > > there > > > might be problems with how System.out.flush() is working when there > > > are > > > multiple threads running on SMP. Are you running on an SMP box? > > > Can you > > > give me the exact command line you are using? I would like to try > > > it on my > > > box. > > > > Ok, cool. I was seeing the exact same behavior (i.e. the test prints > > PASSED and then hangs). So it sounds like you are on the right > > track, to me anyway. > > > > But to answer your questions: I am running RHEL4 update 4 on a core2 > > duo. The command line I am using is "java -cp . stress.Mix" (with my > > path and JAVA_HOME set appropriately). > > > > Naveen > > > > > > -- > Weldon Washburn > Intel Enterprise Solutions Software Division > >
-- Weldon Washburn Intel Enterprise Solutions Software Division