Re: [test] Jetty integration progress ? (was Re: [classlib] jetty based tests)

2006-08-17 Thread Mikhail Loenko

2006/8/17, Richard Liang [EMAIL PROTECTED]:



Andrew Zhang wrote:
 Hi folks,

 I'd like to say something more about jetty integration. We should
 reach an
 agreement on how to integrate/use jetty in Harmony. There are some
 concerns
 I can image now:

 1. Where to put jetty? support or luni module or somewhere else? It
 depends
 on question 2.
How about putting jetty into depends?


+1

Thanks,
Mikhail






 2. How to use jetty? How many jetty instances are there? Singleton or
 multiple instances? In other word, shall we start only one jetty
 server at
 the beginning before running all tests? or will we start/destroy embedded
 jetty server at will in any test case? Seems jetty supports both options.
I agree. We still shall be cautious about jetty instances though it's
light-weighted. IMHO, for most test cases, one global jetty instance is
enough. But maybe there are some cases which need separate instances.
Let's see comments from others :-)


 3. How to write jetty based test?. Multi-thread network test always is a
 problem to us. I found it's also hard to be theoretically.
Yes.

 According to the description above, I suggest put jetty in support
 module,
 and encapsulate a class (i.e Support_JettyServer) with some public
 methods
 for test writing (i.e getJettyPort(), setHandler(), set...). The
 advantage
 of this approach hides all jetty details in support. Once jetty support
 class is ready, all modules can write http tests in the same way.

 Any suggestions are highly appreciated! Thanks!

 On 8/1/06, Andrew Zhang [EMAIL PROTECTED] wrote:

  Hi folks,

 I volunteer to work on excluded tests in luni module, most of which are
 dependent on external servers(http server, socks proxy and etc.).

 As we discussed some months earlier, we'd integrate Jetty to Harmony
 test
 framework for eliminating external http server, but seems no more
 progress.

 Any volunteer to do this job? :-)

 Thanks!


 On 5/23/06, Stepan Mishura [EMAIL PROTECTED]  wrote:
 
  Hi George, Paulex,
 
  Thanks for your answers. As a preliminary result - your convinced
 me and
  I'm
  going to be volunteer to evaluate jetty integration to classlib test
  suite.
 
  Do anybody work on integrating jetty http server to move net tests out
  of
  exclude list?
 
  Thanks,
  Stepan.
 
  On 5/23/06, George Harley  [EMAIL PROTECTED]  wrote:
  
   Stepan Mishura wrote:
Hi George, Tim
   
I'd like to clarify the following questions:
1) Configuring
As I understood we say that the server is 'embedded' when we can
start/stop
it within Ant without additional configuration steps. And all we
  need
to do
is just download required jars. Right?
   
What about Eclipse users?
  
   Hi Stepan,
  
   In addition to be being start-able, stop-able and configurable from
  Ant
   and XML config files, Jetty can also be embedded into the Java
 code of
  a
   test case or test suite. Configuration, starting and stopping are
 all
   possible. Eclipse users should not be disadvantaged.
  
  
   
2) Time to run test suite
May be it is hard to estimate but anyway - will the test suite run
slow down
if we'll use jetty instead of mock objects? How much?
  
   Depends on configuration. Configure and start the server in the
  setup()
   of a JUnit TesCase (and stopping the server in the teardown()) would
   obviously be slower than doing the equivalent in a JUnit TestSetup
   descendent. Start up is a lot less than half a second on my machine.
  
   Is there some performance benchmark for tests that is at risk here ?
  
  
   
3) Testing
Quoting Tim from 'local server thread': There is no way to
 force a
server
to send you a chunked response using regular HTTP headers, so in
  this
case
the server and client have an understanding that when the client
  asks
for a
particular resource the server will send it back in chunks.
   
With mock objects this can be done with no problems and
 HARMONY-164
demonstrates the possible way. Also are we going to create
 negative
tests,
for example, for broken server response? I think yes. Can
 jettyserver
   be
used for negative testing?
  
   Yes. You can send back any error.
  
  
   
See other comments below
   
On 5/22/06, George Harley wrote:
   
Stepan Mishura wrote:
 On 5/19/06, Tim Ellison wrote:

 Stepan Mishura wrote:
 snip
  I'm OK only if we separate tests with Jetty from common test
  suite
 run.

 Why?


 Because each external dependency complicates 'normal' test
 suite
run ( I
 don't want to face with situation when to run Harmony test
 suite
  I
 have to
 configure and run 20 different external servers even they are
  easy
 configurable). As far as I remember we agreed to use mock
 objects
  -
   so
 let's
 use them! For example, in this case there is no need in
 jettyserver.

 I'm not against 'jetty based tests' but I'd prefer 

Re: performance of drlvm

2006-08-17 Thread zouqiong

Hi, Mikhail:
   These days i have read a lot of paper about dynamic optimization. I got
the following ideas
to profile the drlvm with PMU:
1. Prefetch Injection Based on Hardware Monitoring and Object Metadata: this
paper is a good
example about how to PMU to dynamic prefetch data with high cache miss rate.
I want to
implement this idea in DRLVM.
2. The idea from Chilimbi. He got the trace by instrumented the code, which
causes high overhead.  I want to improve his implementation. Firstly use the
hardware performance counter
to get the data reference trace, and  abstracts the trace. Secondly use
SEQUITUR algorithm to simplify the trace and represent the trace with DAG
from which we can easily get the hot data stream (follow Chilimbi`s way).
This can instruct how to prefetch the data with high miss rate.

   As for the performance monitor tool, i will think about it later.
Please point out the defect or mistake. Thanks.


Re: [testing] trying to run freemind with harmony

2006-08-17 Thread Salikh Zakirov
Iñigo wrote:
 C:\Archivos de programa\FreeMind\libjava -Xmx1g -verbose:gc* -jar
 freemind.jar
 GC v4 M1-39 (2006-03-28)
 GC will incrementally slide compact at each GC, using algorithm = 2
 Chunks will be swept on allocation
 WARNING: final heap size is too large, reduced to 900 Mb
 java heap initial size 64 Mb, maximum size 900 Mb (3840h), addresses
 range 2
 002 - 5842
 java.lang.OutOfMemoryError
 no stack trace available

Iñigo, the log above doesn't have any collection messages, thus
no collection had taken place, and the OutOfMemoryError is most likely
caused by some other reason -- not the java heap shortage.

I have just grepped DRLVM and found about 25 places where OOM is thrown
explicitly in the VM.

Applying following patch and running with '-verbose:oom -verbose:gc*'
may shed some light on the reason of the problem.

-- 8 --
diff --git vm/vmcore/src/class_support/Class_File_Loader.cpp 
vm/vmcore/src/class_support/Class_File_Loader.cpp
index 0ec087f..259cc87 100644
--- vm/vmcore/src/class_support/Class_File_Loader.cpp
+++ vm/vmcore/src/class_support/Class_File_Loader.cpp
@@ -518,6 +518,7 @@ bool Field::parse(Class *clss, Const_Poo
 //std::stringstream ss;
 //ss  clss-name-bytes  : could not create type descriptor for 
field   get_name();
 //jthrowable exn = exn_create(java/lang/OutOfMemoryError, 
ss.str().c_str());
+INFO2(oom, out of memory when creating type desc);
 
exn_raise_only(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return false;
 }
diff --git vm/vmcore/src/class_support/classloader.cpp 
vm/vmcore/src/class_support/classloader.cpp
index ea4e231..12e9ea1 100644
--- vm/vmcore/src/class_support/classloader.cpp
+++ vm/vmcore/src/class_support/classloader.cpp
@@ -1139,8 +1139,7 @@ Class* ClassLoader::AllocateAndReportIns
 if(new_java_lang_Class == NULL)
 {
 tmn_suspend_enable();
-// couldn't allocate java.lang.Class instance for this class
-// ppervov: TODO: throw OutOfMemoryError
+INFO2(oom, couldn't allocate java.lang.Class instance for this 
class);
 exn_raise_only(
 VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return NULL;
diff --git vm/vmcore/src/exception/exceptions.cpp 
vm/vmcore/src/exception/exceptions.cpp
index f37a0af..996d9c4 100644
--- vm/vmcore/src/exception/exceptions.cpp
+++ vm/vmcore/src/exception/exceptions.cpp
@@ -153,6 +153,8 @@ static jthrowable create_exception(const
 
 if (!e) {
 tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }
 
@@ -180,6 +182,8 @@ static jthrowable create_exception(const
 
 if (!e) {
 tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }
 
@@ -216,6 +220,8 @@ static jthrowable create_exception(const
 
 if (!exc_obj) {
 tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }
 
@@ -230,6 +236,8 @@ static jthrowable create_exception(const
 
 if (!arg_obj) {
 tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }
 
diff --git vm/vmcore/src/jit/jit_runtime_support.cpp 
vm/vmcore/src/jit/jit_runtime_support.cpp
index de30891..88d547c 100644
--- vm/vmcore/src/jit/jit_runtime_support.cpp
+++ vm/vmcore/src/jit/jit_runtime_support.cpp
@@ -1834,6 +1834,7 @@ void *vm_malloc_with_thread_pointer(
 assert(!tmn_is_suspend_enabled());
 void *result = gc_alloc(size,ah,tp);
 if (!result) {
+INFO2(oom, out of gc heap memory);
 exn_throw(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return 0; // whether this return is reached or not is solved via 
is_unwindable state
 }
@@ -1863,6 +1864,7 @@ #endif //VM_STATS
 gc_alloc(c-instance_data_size, 
 c-allocation_handle, vm_get_gc_thread_local());
 if (!o) {
+INFO2(oom, out of gc heap memory);
 exn_throw(
 VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 //tmn_suspend_enable();
@@ -1887,6 +1889,7 @@ #endif //VM_STATS
 gc_alloc(vtable-allocated_size, 
 vtable-clss-allocation_handle, vm_get_gc_thread_local());
 if (!o) {
+INFO2(oom, out of gc heap memory);
 exn_throw(
 VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return NULL; // reached by interpreter and from JNI
@@ -1916,6 +1919,7 @@ 

Re: [drlvm][vm, mmtk] adding thread-local storage functionality to vmmagic

2006-08-17 Thread Egor Pasko
On the 0x1C8 day of Apache Harmony Weldon Washburn wrote:
 Windows uses ia32 segment register fs:14 for fast thread-local storage
 access.  I think Linux somehow uses the gs segment register.  

In general, it is implementation-specific (not older kernels).

Here is a good link for that:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4915203

I wonder, how to handle system-dependent code with Java vmmagic :(
A simple if-then-else would make an #ifdef replacement?

-- 
Egor Pasko, Intel Managed Runtime Division


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



Re: [drlvm] Helper inlining in JIT

2006-08-17 Thread Xiao-Feng Li

On 8/17/06, Rana Dasgupta [EMAIL PROTECTED] wrote:

   -  So we will write the inlinable  fastpaths wherever possible in pure
   Java, using an annotated calling convention to call the slowpath ( to
   support developer freedom :-) ).
   - Where the fastpaths cannot be expressible in pure Java, we will
   first use asm to develop the helper and a custom calling convention to
   invoke and test it
   - As and when the magic classes are all available( I have not seen
   Alex and Weldon's code ), we will switch the second set  above to Java +
   magic and start inlining these as well
   - We can start with the new object allocation helper and .Jet if we
   want to, I guess
   - For folks who are interested in this, the core helpers live in
   vmcore\src\jit\jit_runtime_support.cpp and the exports in
   vmcore\include\jit_export.h.  There is platform specific stuff under
   vmcore\util\[platform]\base



These make sense. Only one addition is, if we want the work be reused
by other GCs easily, the interfaces for fast path routines should be
defined. If the set is small (I think it is), we can define one or
more Java interfaces including all the methods, then any compatible GC
can implement these interfaces to leverage the inlining advantage. The
interfaces can be put into kernel class directory, and the
implementation code will stay with GC.  (I am using GC here as only an
example.)

Thanks,
xiaofeng

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



Re: [classlib][luni] Compatibility: Default buf size of BufferedOutputStream

2006-08-17 Thread Vijay Yellapragada

Hi,

Buffer Size is definitely implementation dependent.

The test should be re done so that it doesn't assume the size of the buffer.

A simple way to structure the test would be :-

- Create a Sub class of BufferedOutputStream.
- Since count and buf have protected access in BufferedOutputStream, 
subclassing will allow us to get access to those values.


Once you have the sub class it is now straight forward to determine the 
default size of the buffer and the test becomes much simpler in fact...


Hope that helps..

Thanks,
Vijay

Andrew Zhang wrote:
I think it's implementation detail. Any default buffer size is 
acceptable as

long as complying with spec.

Of course, if  Harmony's default size is equal with RI's by accident, 
it's

good. :)

So the problem is test, not implementation code. I suggest modify the 
test

even if we fix our default size in the code.

And if some applications are heaviliy dependent on the default size and
refuse to fix their code, I guess they won't become popular. :) 
Applications
can take the advantage of the default size, but not to be dependent on 
them.

:)

On 8/17/06, Richard Liang [EMAIL PROTECTED] wrote:


Hello All,

One test case tests.api.java.io.BufferedOutputStreamTest.test_write$BII
fails on RI (passes on Harmony) because the default buf size between RI
and Harmony are different. The default buf size is not specified in the
Java Specification.  If we can detect what the default buf size of RI is
by some test cases, shall we use the same default buf size as RI? Any
comments? Thanks a lot.

   public void test_write$BII() {
   // Test for method void java.io.BufferedOutputStream.write(byte
[], int,
   // int)
   try {
   os = new java.io.BufferedOutputStream(
   baos = new java.io.ByteArrayOutputStream());
   os.write(fileString.getBytes(), 0, 500);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes written, not buffered, 0,
bais.available());
   os.flush();
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes not written after flush, 500,
bais.available());
   os.write(fileString.getBytes(), 500, 513);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertTrue(Bytes not written when buffer full,
   bais.available() = 1000);
   byte[] wbytes = new byte[1013];
   bais.read(wbytes, 0, 1013);
   assertTrue(Incorrect bytes written,
fileString.substring(0, 1013)
   .equals(new String(wbytes, 0, wbytes.length)));
   } catch (java.io.IOException e) {
   fail(Flush test failed);
   }

   }

--
Richard Liang
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]



Re: [classlib][testing] excluding the failed tests

2006-08-17 Thread Andrew Zhang

Hi folks,

I'd like to investigate tests/api/java/net/DatagramSocketTest.java and
tests/api/java/net/DatagramSocketTest.java in luni module. I have updated
the wiki page(http://wiki.apache.org/harmony/Excluded_tests). I'll also plan
to study other excluded tests in luni module when I finish these two files.
Please let me know if you're interested too. Thanks!


On 7/14/06, Vladimir Ivanov [EMAIL PROTECTED] wrote:


New page http://wiki.apache.org/harmony/Excluded_tests was added to WIKI
(refered from http://wiki.apache.org/harmony/ClassLibrary).
It would be good if before test investigation one would specify 'in
progress, Name' near module name, showing it is under investigation
being
done by Name.

Thanks, Vladimir

On 7/14/06, Richard Liang [EMAIL PROTECTED] wrote:



 Vladimir Ivanov wrote:
  On 7/7/06, Tim Ellison [EMAIL PROTECTED] wrote:
  ...
 
  Currently I'm looking on the excluded TestCases and it requires more
 time
  than I expected.
  I'll prepare a report/summary about excluded TestCases at the end of
 this
  process.
 
 Hello Vladimir,

 How about the progress of your report/summary?  ;-) As I'm implementing
 java.util.Formatter and java.util.Scanner, I'm also interested in the
 excluded tests in LUNI. Shall we create a wiki page to publish our
 status, so that other people in community can know what we're doing, and
 maybe we could attract more volunteers. ;-)

 Best regards,
 Richard.

  Thanks, Vladimir
 
 
  On 7/7/06, Tim Ellison [EMAIL PROTECTED] wrote:
 
  Vladimir Ivanov wrote:
   More details: it is
  
 org/apache/harmony/security/tests/java/security/SecureRandom2Test.java
   test.
   At present time it has 2 failing tests with messages about SHA1PRNG
   algorithm (no support for SHA1PRNG provider).
   Looks like it is valid tests for non implemented functionality,
  but, I'm
 
   not
   sure what to do with such TestCase(s): comment these 2 tests or
move
  them
   into separate TestCase.
   Ideas?
 
  I'd prefer that we only use one mechanism for excluding tests, and
 today
  that is the excludes clause in the ant script.  So I suggest that you
 do
  option (4) below.
 
  If there are really useful tests that are being unnecessarily
excluded
  by being in the same *Test class, then you may want to consider
moving
  the failing tests into SecureRandom3Test and excluding that -- but by
  the sound of it all SecureRandom tests will be failing.
 
   By the way, probably, it worth reviewing *all* excluded TestCases
 and:
   1.  Unexclude if all tests pass.
   2.  Report bug and provide patch for test to make it passing if
 it
   failed due to bug in test.
   3.  Report bug (and provide patch) for implementation to make
  tests
   passing, if it was/is bug in implementation and no such issue in
 JIRA.
   4.  Specify reasons for excluding TestCases in exclude list to
  make
   further clean-up process easier.
   5.  Review results of this exclude list clean-up activity and
 then
   decide what to do with the rest failing tests.
  
   I can do it starting next week. Do you think it worth doing?
   Thanks, Vladimir
 
  Sounds great, thanks Vladimir.
 
  Regards,
  Tim
 
  --
 
  Tim Ellison ( [EMAIL PROTECTED])
  IBM Java technology centre, UK.
 
  -
  Terms of use : http://incubator.apache.org/harmony/mailing.html
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail:
[EMAIL PROTECTED]
 
 
 

 --
 Richard Liang
 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]







--
Andrew Zhang
China Software Development Lab, IBM


Re: [classlib][luni] Compatibility: Default buf size of BufferedOutputStream

2006-08-17 Thread Stepan Mishura

On 8/17/06, Richard Liang  wrote:


Hello All,

One test case tests.api.java.io.BufferedOutputStreamTest.test_write$BII
fails on RI (passes on Harmony) because the default buf size between RI
and Harmony are different. The default buf size is not specified in the
Java Specification.  If we can detect what the default buf size of RI is
by some test cases, shall we use the same default buf size as RI? Any
comments? Thanks a lot.



At first glance, the test is wrong - it shouldn't rely on default buffer
size and it should explicitly specify what the buffer size is by using:
BufferedOutputStream(OutputStream out, int size)
   Parameters:
   out - the underlying output stream.
   size - the buffer size.

Thanks,
Stepan.



   public void test_write$BII() {
   // Test for method void java.io.BufferedOutputStream.write(byte
[], int,
   // int)
   try {
   os = new java.io.BufferedOutputStream(
   baos = new java.io.ByteArrayOutputStream());
   os.write(fileString.getBytes(), 0, 500);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes written, not buffered, 0,
bais.available());
   os.flush();
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes not written after flush, 500,
bais.available());
   os.write(fileString.getBytes(), 500, 513);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertTrue(Bytes not written when buffer full,
   bais.available() = 1000);
   byte[] wbytes = new byte[1013];
   bais.read(wbytes, 0, 1013);
   assertTrue(Incorrect bytes written,
fileString.substring(0, 1013)
   .equals(new String(wbytes, 0, wbytes.length)));
   } catch (java.io.IOException e) {
   fail(Flush test failed);
   }

   }

--
Richard Liang
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]


Re: [test] Jetty integration progress ? (was Re: [classlib] jetty based tests)

2006-08-17 Thread Stepan Mishura

On 8/17/06, Andrew Zhang wrote:


Hi folks,

I'd like to say something more about jetty integration. We should reach an
agreement on how to integrate/use jetty in Harmony. There are some
concerns
I can image now:

1. Where to put jetty? support or luni module or somewhere else? It
depends
on question 2.



+1 for support

2. How to use jetty? How many jetty instances are there? Singleton or

multiple instances? In other word, shall we start only one jetty server at
the beginning before running all tests? or will we start/destroy embedded
jetty server at will in any test case? Seems jetty supports both options.



It should be possibile for a test dynamically configure testing server
(remember my favorite scenario with sending chunked response?). So a test
should be able to stat jetty.


3. How to write jetty based test?. Multi-thread network test always is a

problem to us. I found it's also hard to be theoretically.



I've expected that you know :-)  Are there any guidelines?

Thanks,
Stepan.

According to the description above, I suggest put jetty in support module,

and encapsulate a class (i.e Support_JettyServer) with some public methods
for test writing (i.e getJettyPort(), setHandler(), set...). The advantage
of this approach hides all jetty details in support. Once jetty support
class is ready, all modules can write http tests in the same way.

Any suggestions are highly appreciated! Thanks!

On 8/1/06, Andrew Zhang [EMAIL PROTECTED] wrote:

  Hi folks,

 I volunteer to work on excluded tests in luni module, most of which are
 dependent on external servers(http server, socks proxy and etc.).

 As we discussed some months earlier, we'd integrate Jetty to Harmony
test
 framework for eliminating external http server, but seems no more
progress.

 Any volunteer to do this job? :-)

 Thanks!


 On 5/23/06, Stepan Mishura [EMAIL PROTECTED]  wrote:
 
  Hi George, Paulex,
 
  Thanks for your answers. As a preliminary result - your convinced me
and
  I'm
  going to be volunteer to evaluate jetty integration to classlib test
  suite.
 
  Do anybody work on integrating jetty http server to move net tests out
  of
  exclude list?
 
  Thanks,
  Stepan.
 
  On 5/23/06, George Harley  [EMAIL PROTECTED]  wrote:
  
   Stepan Mishura wrote:
Hi George, Tim
   
I'd like to clarify the following questions:
1) Configuring
As I understood we say that the server is 'embedded' when we can
start/stop
it within Ant without additional configuration steps. And all we
  need
to do
is just download required jars. Right?
   
What about Eclipse users?
  
   Hi Stepan,
  
   In addition to be being start-able, stop-able and configurable from
  Ant
   and XML config files, Jetty can also be embedded into the Java code
of
  a
   test case or test suite. Configuration, starting and stopping are
all
   possible. Eclipse users should not be disadvantaged.
  
  
   
2) Time to run test suite
May be it is hard to estimate but anyway - will the test suite run
slow down
if we'll use jetty instead of mock objects? How much?
  
   Depends on configuration. Configure and start the server in the
  setup()
   of a JUnit TesCase (and stopping the server in the teardown()) would
   obviously be slower than doing the equivalent in a JUnit TestSetup
   descendent. Start up is a lot less than half a second on my machine.
  
   Is there some performance benchmark for tests that is at risk here ?
  
  
   
3) Testing
Quoting Tim from 'local server thread': There is no way to force
a
server
to send you a chunked response using regular HTTP headers, so in
  this
case
the server and client have an understanding that when the client
  asks
for a
particular resource the server will send it back in chunks.
   
With mock objects this can be done with no problems and
HARMONY-164
demonstrates the possible way. Also are we going to create
negative
tests,
for example, for broken server response? I think yes. Can
jettyserver
   be
used for negative testing?
  
   Yes. You can send back any error.
  
  
   
See other comments below
   
On 5/22/06, George Harley wrote:
   
Stepan Mishura wrote:
 On 5/19/06, Tim Ellison wrote:

 Stepan Mishura wrote:
 snip
  I'm OK only if we separate tests with Jetty from common test
  suite
 run.

 Why?


 Because each external dependency complicates 'normal' test
suite
run ( I
 don't want to face with situation when to run Harmony test
suite
  I
 have to
 configure and run 20 different external servers even they are
  easy
 configurable). As far as I remember we agreed to use mock
objects
  -
   so
 let's
 use them! For example, in this case there is no need in
jettyserver.

 I'm not against 'jetty based tests' but I'd prefer to separate
  such
 tests.

 Thanks,
 Stepan.

   
Hi Stepan,
   
Just seen this 

Re: [jira] Assigned: (HARMONY-1208) Bug fixing and cosmetics for Harmony 935

2006-08-17 Thread Mikhail Loenko

Hi Daniel,

Please resubmit the patch with license granted to ASF

Seems like the patch was generated against original H-935 contribution
and does not take into account later changes. Could you please regenerate the
patch?

Thanks,
Mikhail

2006/8/17, Mikhail Loenko (JIRA) [EMAIL PROTECTED]:

[ http://issues.apache.org/jira/browse/HARMONY-1208?page=all ]

Mikhail Loenko reassigned HARMONY-1208:
---

   Assignee: Mikhail Loenko

 Bug fixing and cosmetics for Harmony 935
 

 Key: HARMONY-1208
 URL: http://issues.apache.org/jira/browse/HARMONY-1208
 Project: Harmony
  Issue Type: Improvement
Reporter: Daniel Fridlender
 Assigned To: Mikhail Loenko
Priority: Minor
 Attachments: MathDiff.diff.zip


 A patch to fix some bugs in Harmony 935, turn serialization compatible with 
RI and some cosmetics.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira





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



Re: [classlib][luni] Compatibility: Default buf size of BufferedOutputStream

2006-08-17 Thread Richard Liang



Vijay Yellapragada wrote:

Hi,

Buffer Size is definitely implementation dependent.

The test should be re done so that it doesn't assume the size of the 
buffer.


Yes. Just thinking about if there are any user applications depending on 
this behavior :-)



A simple way to structure the test would be :-

- Create a Sub class of BufferedOutputStream.
- Since count and buf have protected access in BufferedOutputStream, 
subclassing will allow us to get access to those values.


Once you have the sub class it is now straight forward to determine 
the default size of the buffer and the test becomes much simpler in 
fact...


Hope that helps..

It really helps. Thanks a lot.


Thanks,
Vijay

Andrew Zhang wrote:
I think it's implementation detail. Any default buffer size is 
acceptable as

long as complying with spec.

Of course, if  Harmony's default size is equal with RI's by accident, 
it's

good. :)

So the problem is test, not implementation code. I suggest modify the 
test

even if we fix our default size in the code.

And if some applications are heaviliy dependent on the default size and
refuse to fix their code, I guess they won't become popular. :) 
Applications
can take the advantage of the default size, but not to be dependent 
on them.

:)

On 8/17/06, Richard Liang [EMAIL PROTECTED] wrote:


Hello All,

One test case tests.api.java.io.BufferedOutputStreamTest.test_write$BII
fails on RI (passes on Harmony) because the default buf size between RI
and Harmony are different. The default buf size is not specified in the
Java Specification.  If we can detect what the default buf size of 
RI is

by some test cases, shall we use the same default buf size as RI? Any
comments? Thanks a lot.

   public void test_write$BII() {
   // Test for method void java.io.BufferedOutputStream.write(byte
[], int,
   // int)
   try {
   os = new java.io.BufferedOutputStream(
   baos = new java.io.ByteArrayOutputStream());
   os.write(fileString.getBytes(), 0, 500);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes written, not buffered, 0,
bais.available());
   os.flush();
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes not written after flush, 500,
bais.available());
   os.write(fileString.getBytes(), 500, 513);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertTrue(Bytes not written when buffer full,
   bais.available() = 1000);
   byte[] wbytes = new byte[1013];
   bais.read(wbytes, 0, 1013);
   assertTrue(Incorrect bytes written,
fileString.substring(0, 1013)
   .equals(new String(wbytes, 0, wbytes.length)));
   } catch (java.io.IOException e) {
   fail(Flush test failed);
   }

   }

--
Richard Liang
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]




--
Richard Liang
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]



Re: [test] Jetty integration progress ? (was Re: [classlib] jetty based tests)

2006-08-17 Thread Andrew Zhang

On 8/17/06, Stepan Mishura [EMAIL PROTECTED] wrote:


On 8/17/06, Andrew Zhang wrote:

 Hi folks,

 I'd like to say something more about jetty integration. We should reach
an
 agreement on how to integrate/use jetty in Harmony. There are some
 concerns
 I can image now:

 1. Where to put jetty? support or luni module or somewhere else? It
 depends
 on question 2.


+1 for support

2. How to use jetty? How many jetty instances are there? Singleton or
 multiple instances? In other word, shall we start only one jetty server
at
 the beginning before running all tests? or will we start/destroy
embedded
 jetty server at will in any test case? Seems jetty supports both
options.


It should be possibile for a test dynamically configure testing server
(remember my favorite scenario with sending chunked response?). So a test
should be able to stat jetty.



Yes, I remember. :) Overriding AbstractHttpHandler should work for your
scenario. That's why I mentioned setHandler in the Support_JettyServer
API.
Of course, if we find something that can only be done by multiple jetty
instances, then I would agree that a test should be able to start jetty.
Otherwise, I'll vote for single jetty instance, for performance, and easy
maintenance consideration.

3. How to write jetty based test?. Multi-thread network test always is a

 problem to us. I found it's also hard to be theoretically.


I've expected that you know :-)  Are there any guidelines?



Not guidelines but some ideas. :) It's almost impossible to write
theoretically stable jetty test. (correct me if I'm wrong.) Because
server.accept and client.connect/read are both blocking operation so
synchronization(wait/notify/lock) doesn't work here. But it's possible to
write pratically stable tests. If there's only one jetty instance which is
started at the begining, things are simple. Just start jetty, wait a little
while (until we can connect to a sample page or be notified from jetty if
there's any callback method in jetty), and run all tests. No thread race
problem at all if we assume jetty really started and works well after a
little while, and jetty thread can be scheduled normally by jvm. I think we
have to assume something, and believe the tests are pratically stable,
though not theoretically. Any fears for the potentially uncertain? :)  Any
suggestions/comments/objections? Thanks!

Thanks,

Stepan.

According to the description above, I suggest put jetty in support module,
 and encapsulate a class (i.e Support_JettyServer) with some public
methods
 for test writing (i.e getJettyPort(), setHandler(), set...). The
advantage
 of this approach hides all jetty details in support. Once jetty support
 class is ready, all modules can write http tests in the same way.

 Any suggestions are highly appreciated! Thanks!

 On 8/1/06, Andrew Zhang [EMAIL PROTECTED] wrote:
 
   Hi folks,
 
  I volunteer to work on excluded tests in luni module, most of which
are
  dependent on external servers(http server, socks proxy and etc.).
 
  As we discussed some months earlier, we'd integrate Jetty to Harmony
 test
  framework for eliminating external http server, but seems no more
 progress.
 
  Any volunteer to do this job? :-)
 
  Thanks!
 
 
  On 5/23/06, Stepan Mishura [EMAIL PROTECTED]  wrote:
  
   Hi George, Paulex,
  
   Thanks for your answers. As a preliminary result - your convinced me
 and
   I'm
   going to be volunteer to evaluate jetty integration to classlib test
   suite.
  
   Do anybody work on integrating jetty http server to move net tests
out
   of
   exclude list?
  
   Thanks,
   Stepan.
  
   On 5/23/06, George Harley  [EMAIL PROTECTED]  wrote:
   
Stepan Mishura wrote:
 Hi George, Tim

 I'd like to clarify the following questions:
 1) Configuring
 As I understood we say that the server is 'embedded' when we can
 start/stop
 it within Ant without additional configuration steps. And all we
   need
 to do
 is just download required jars. Right?

 What about Eclipse users?
   
Hi Stepan,
   
In addition to be being start-able, stop-able and configurable
from
   Ant
and XML config files, Jetty can also be embedded into the Java
code
 of
   a
test case or test suite. Configuration, starting and stopping are
 all
possible. Eclipse users should not be disadvantaged.
   
   

 2) Time to run test suite
 May be it is hard to estimate but anyway - will the test suite
run
 slow down
 if we'll use jetty instead of mock objects? How much?
   
Depends on configuration. Configure and start the server in the
   setup()
of a JUnit TesCase (and stopping the server in the teardown())
would
obviously be slower than doing the equivalent in a JUnit TestSetup
descendent. Start up is a lot less than half a second on my
machine.
   
Is there some performance benchmark for tests that is at risk here
?
   
   

 3) Testing
 Quoting Tim from 'local server thread': There 

[classlib][luni] Enable tests.api.java.net.DatagramSocketTest?

2006-08-17 Thread Andrew Zhang

Hi folks,

After applying Harmony-1024, tests.api.java.net.DatagramSocketTest passes
against Harmony on my machine.

Before enabling it, I'd like to hear more feedbacks from community. Would
you please provide your test result on running DatagramSocketTest against
Harmony?

Thank you very much in advance!


--
Andrew Zhang
China Software Development Lab, IBM


Re: [testing] trying to run freemind with harmony

2006-08-17 Thread Alexey Petrenko

Salikh,

as far as I understood he runs a snapshot...

SY, Alexey

2006/8/17, Salikh Zakirov [EMAIL PROTECTED]:

Iñigo wrote:
 C:\Archivos de programa\FreeMind\libjava -Xmx1g -verbose:gc* -jar
 freemind.jar
 GC v4 M1-39 (2006-03-28)
 GC will incrementally slide compact at each GC, using algorithm = 2
 Chunks will be swept on allocation
 WARNING: final heap size is too large, reduced to 900 Mb
 java heap initial size 64 Mb, maximum size 900 Mb (3840h), addresses
 range 2
 002 - 5842
 java.lang.OutOfMemoryError
 no stack trace available

Iñigo, the log above doesn't have any collection messages, thus
no collection had taken place, and the OutOfMemoryError is most likely
caused by some other reason -- not the java heap shortage.

I have just grepped DRLVM and found about 25 places where OOM is thrown
explicitly in the VM.

Applying following patch and running with '-verbose:oom -verbose:gc*'
may shed some light on the reason of the problem.

-- 8 --
diff --git vm/vmcore/src/class_support/Class_File_Loader.cpp 
vm/vmcore/src/class_support/Class_File_Loader.cpp
index 0ec087f..259cc87 100644
--- vm/vmcore/src/class_support/Class_File_Loader.cpp
+++ vm/vmcore/src/class_support/Class_File_Loader.cpp
@@ -518,6 +518,7 @@ bool Field::parse(Class *clss, Const_Poo
//std::stringstream ss;
//ss  clss-name-bytes  : could not create type descriptor for field  
 get_name();
//jthrowable exn = exn_create(java/lang/OutOfMemoryError, 
ss.str().c_str());
+INFO2(oom, out of memory when creating type desc);
exn_raise_only(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
return false;
}
diff --git vm/vmcore/src/class_support/classloader.cpp 
vm/vmcore/src/class_support/classloader.cpp
index ea4e231..12e9ea1 100644
--- vm/vmcore/src/class_support/classloader.cpp
+++ vm/vmcore/src/class_support/classloader.cpp
@@ -1139,8 +1139,7 @@ Class* ClassLoader::AllocateAndReportIns
if(new_java_lang_Class == NULL)
{
tmn_suspend_enable();
-// couldn't allocate java.lang.Class instance for this class
-// ppervov: TODO: throw OutOfMemoryError
+INFO2(oom, couldn't allocate java.lang.Class instance for this 
class);
exn_raise_only(
VM_Global_State::loader_env-java_lang_OutOfMemoryError);
return NULL;
diff --git vm/vmcore/src/exception/exceptions.cpp 
vm/vmcore/src/exception/exceptions.cpp
index f37a0af..996d9c4 100644
--- vm/vmcore/src/exception/exceptions.cpp
+++ vm/vmcore/src/exception/exceptions.cpp
@@ -153,6 +153,8 @@ static jthrowable create_exception(const

if (!e) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
}

@@ -180,6 +182,8 @@ static jthrowable create_exception(const

if (!e) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
}

@@ -216,6 +220,8 @@ static jthrowable create_exception(const

if (!exc_obj) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
}

@@ -230,6 +236,8 @@ static jthrowable create_exception(const

if (!arg_obj) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
}

diff --git vm/vmcore/src/jit/jit_runtime_support.cpp 
vm/vmcore/src/jit/jit_runtime_support.cpp
index de30891..88d547c 100644
--- vm/vmcore/src/jit/jit_runtime_support.cpp
+++ vm/vmcore/src/jit/jit_runtime_support.cpp
@@ -1834,6 +1834,7 @@ void *vm_malloc_with_thread_pointer(
assert(!tmn_is_suspend_enabled());
void *result = gc_alloc(size,ah,tp);
if (!result) {
+INFO2(oom, out of gc heap memory);
exn_throw(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
return 0; // whether this return is reached or not is solved via 
is_unwindable state
}
@@ -1863,6 +1864,7 @@ #endif //VM_STATS
gc_alloc(c-instance_data_size,
c-allocation_handle, vm_get_gc_thread_local());
if (!o) {
+INFO2(oom, out of gc heap memory);
exn_throw(
VM_Global_State::loader_env-java_lang_OutOfMemoryError);
//tmn_suspend_enable();
@@ -1887,6 +1889,7 @@ #endif //VM_STATS
gc_alloc(vtable-allocated_size,
vtable-clss-allocation_handle, vm_get_gc_thread_local());
if (!o) {
+INFO2(oom, out of gc heap memory);
exn_throw(
VM_Global_State::loader_env-java_lang_OutOfMemoryError);
return NULL; // reached by 

Re: [classlib][luni] Compatibility: Default buf size of BufferedOutputStream

2006-08-17 Thread Richard Liang



Stepan Mishura wrote:

On 8/17/06, Richard Liang  wrote:


Hello All,

One test case tests.api.java.io.BufferedOutputStreamTest.test_write$BII
fails on RI (passes on Harmony) because the default buf size between RI
and Harmony are different. The default buf size is not specified in the
Java Specification.  If we can detect what the default buf size of RI is
by some test cases, shall we use the same default buf size as RI? Any
comments? Thanks a lot.



At first glance, the test is wrong - it shouldn't rely on default buffer
size and it should explicitly specify what the buffer size is by using:
BufferedOutputStream(OutputStream out, int size)
   Parameters:
   out - the underlying output stream.
   size - the buffer size.

Yes, we can fix the test case this way. Here I just want to confirm that 
the default buf size is implementation detail, we are free to be 
different with RI.


I will raise a JIRA to fix this test.

Thanks a lot.

Thanks,
Stepan.



   public void test_write$BII() {
   // Test for method void java.io.BufferedOutputStream.write(byte
[], int,
   // int)
   try {
   os = new java.io.BufferedOutputStream(
   baos = new java.io.ByteArrayOutputStream());
   os.write(fileString.getBytes(), 0, 500);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes written, not buffered, 0,
bais.available());
   os.flush();
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertEquals(Bytes not written after flush, 500,
bais.available());
   os.write(fileString.getBytes(), 500, 513);
   bais = new java.io.ByteArrayInputStream(baos.toByteArray());
   assertTrue(Bytes not written when buffer full,
   bais.available() = 1000);
   byte[] wbytes = new byte[1013];
   bais.read(wbytes, 0, 1013);
   assertTrue(Incorrect bytes written,
fileString.substring(0, 1013)
   .equals(new String(wbytes, 0, wbytes.length)));
   } catch (java.io.IOException e) {
   fail(Flush test failed);
   }

   }

--
Richard Liang
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]



--
Richard Liang
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]



Re: [classlib][instrument]Using Support_Exec framework(was Re: [classlib][Instrument] Documents for non-unit-tests)

2006-08-17 Thread Anton Luht

Jimmy,


Ah, we are trying to catch the exact exception name, not its message. I
agree parsing the message is a bad idea, but find an exact exception
name in the output is still stable, am I right?


Yes, it's stable.


In fact, I have no idea to catch an exception in exec, it surely
contains no such function, right?


No, it doesn't.

--
Regards,
Anton Luht,
Intel Middleware Products Division

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



Re: [drlvm] sanity check - can someone build from svn and test ActiveMQ?

2006-08-17 Thread Anton Luht

Hello,

Please try to apply patch

Index: vm/vmcore/src/verifier/ver_utils.cpp
===
--- vm/vmcore/src/verifier/ver_utils.cpp(revision 432184)
+++ vm/vmcore/src/verifier/ver_utils.cpp(working copy)
@@ -1391,6 +1391,9 @@

// get stack reference class
class_handler source = vf_resolve_class( constraint-source, true, ctex );
+if(source == NULL) {
+   source = vf_resolve_class( constraint-source, false, ctex );
+}
if( !source ) {
VERIFY_DEBUG( verifying class   class_get_name( ctex-m_class )
  (method   method_get_name( constraint-method )



Unfortunately I cannot attach it to the  JIRA issue because the issue is closed.

On 8/16/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:

I'm trying to create snapshots, and when testing w/ ActiveMQ, I still
have the same problems w/ ActiveMQ as reported originally in HARMONY-956.

Can someone do a sanity check?  it's a release build.

geir

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





--
Regards,
Anton Luht,
Intel Middleware Products Division

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



Re: [drlvm] sanity check - can someone build from svn and test ActiveMQ?

2006-08-17 Thread Pavel Rebriy

Anton, your patch is a dutty hacking.

With and without the patch ActiveMQ crashes as Gregory described.

On 17/08/06, Anton Luht [EMAIL PROTECTED] wrote:


Hello,

Please try to apply patch

Index: vm/vmcore/src/verifier/ver_utils.cpp
===
--- vm/vmcore/src/verifier/ver_utils.cpp(revision 432184)
+++ vm/vmcore/src/verifier/ver_utils.cpp(working copy)
@@ -1391,6 +1391,9 @@

 // get stack reference class
 class_handler source = vf_resolve_class( constraint-source, true,
ctex );
+if(source == NULL) {
+   source = vf_resolve_class( constraint-source, false, ctex );
+}
 if( !source ) {
 VERIFY_DEBUG( verifying class   class_get_name( ctex-m_class
)
   (method   method_get_name( constraint-method )



Unfortunately I cannot attach it to the  JIRA issue because the issue is
closed.

On 8/16/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
 I'm trying to create snapshots, and when testing w/ ActiveMQ, I still
 have the same problems w/ ActiveMQ as reported originally in
HARMONY-956.

 Can someone do a sanity check?  it's a release build.

 geir

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




--
Regards,
Anton Luht,
Intel Middleware Products Division

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





--
Best regards,
Pavel Rebriy


Re: [drlvm][vm, mmtk] adding thread-local storage functionality to vmmagic

2006-08-17 Thread Weldon Washburn

On 17 Aug 2006 14:01:51 +0700, Egor Pasko [EMAIL PROTECTED] wrote:

On the 0x1C8 day of Apache Harmony Weldon Washburn wrote:
 Windows uses ia32 segment register fs:14 for fast thread-local storage
 access.  I think Linux somehow uses the gs segment register.

In general, it is implementation-specific (not older kernels).

Here is a good link for that:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4915203


I took a look.  It mentions some kernels use GS register, some have an
TLS related API that uses the LDT and some use the upper 10 bits of
ESP as a unique thread value.  The upper 10 can then be used as an
index or hash into a JVM data struct that holds thread local data.

We need some approach to handle old linux kernels that use ESP.  Maybe
add a compiler instrinsic that returns the current ESP contents
shifted right by 22 bits.  Something like:

int index = espShiftedRightBy22Bits();



I wonder, how to handle system-dependent code with Java vmmagic :(
A simple if-then-else would make an #ifdef replacement?


Good point.  We should have a project-wide standard on java #ifdef.
Feel free to propose something.




--
Egor Pasko, Intel Managed Runtime Division


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





--
Weldon Washburn
Intel Middleware Products Division

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



RE: [DRLVM][GC] Goals for 2006/2007

2006-08-17 Thread Morozova, Nadezhda
All, 

I found some GC requirements description in the OPEN spec [1], section
5.3.5 and something inside 6.*. How does those suggestions relate to
what is being discussed? 

Do you think we can use that doc as the basis and maybe track major
decisions there? Mail threads tend to drop, and are not always a
convenient means of finding the final decision for an issue :) 
 
[1] http://issues.apache.org/jira/browse/HARMONY-459 

Best regards, 
Nadya Morozova
 
-Original Message-
From: Weldon Washburn [mailto:[EMAIL PROTECTED] 
Sent: Monday, August 14, 2006 9:23 PM
To: harmony-dev@incubator.apache.org
Subject: [DRLVM][GC] Goals for 2006/2007

All,

There is rough consensus that the immediate goal for Harmony JVM is to
reliably run simple commercial workloads with acceptable performance.
In regards to a garbage collector for a Harmony JVM in 2006 there are
some data points worth noting.  1) A quick survey shows most basic
commercial JVMs implement a generational collector. 2) While the
existing drlvm garbage collector, gcv4, implements some interesting
advanced concepts, it is not currently a generational collector.  3)
The MMTk port to drlvm is not yet finished.  Even assuming MMTk's
generational configuration is appropriate, it is still too early to
put this garbage collector on the roadmap for a 2006 Harmony JVM.  It
might be worth revisiting in 2007.  But it's too far away to debate at
this time.

Given the above data points, the following is a first stab at
requirements for Harmony GCV5.  The intention is to set down some
basic parameters.

1)
Generational Collector with mark/compacting mature object space

2)
Parallel collection, no concurrent collection (Editor's note: parallel
collection is a specific term meaning that during gc collection, most
CPUs in an SMP box are busy collecting garbage.  This is fairly
straight forward to build.  Concurrent collection is a specific term
meaning that Java application threads make forward progress while
special GC threads are simultaneously collecting.  This is hard to
build)

3)
Parallel allocation. (Again, this is very straight forward.  Basically
each Java thread gets private chunks of memory to allocate out of.)

4)
Write barriers.  A generational collector benefits from write barriers
that detect whenever a pointer to a younger object is written inside
an older object.

5)
For expediency, GCV5 should try to plug into the existing JVM/GC
interface.  However, if this interface is broken, we need to jump at
the opportunity to make it right.

6)
The goal is to make this code readable/modifiable/debuggable by non-GC
engineers.  The code should read as nothing more than a basic
generational GC.  No experimental code should ever be checked into
Harmony GCV5 source base.

7)
Performance goals should be discussed after the initial implementation
is committed.

8)
Object pinning is not required at this time.  However, be prepared
that at a later date we might discover pinning is needed to get
acceptable performance from native methods that use JNI.

9)
Supports Java 1.5.  This means GCV5 must implement functionality such
as weak/soft/phantom references and finalization.

10)
Though this work will be an investment, it is ultimately necessary for
Harmony to meet medium term goals, eg., being maintainable, passing
TcK successfully, etc.  and be a platform for future, more advanced
work, which is a requirement that v4 cannot meet.


Thoughts on the above?

-- 
Weldon Washburn
Intel Middleware Products Division

-
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]



Re: [drlvm][vm, mmtk] adding thread-local storage functionality to vmmagic

2006-08-17 Thread Mikhail Fursov

Weldon,
I agree that we need TLS access in vmmagic, but I thought about slightly
different and more primitive implementation.
Writing something like this:
SegmentRegisterFS  segFs = new SegmentRegisterFS();
or this:
SegmentRegisterGS  segGs = new SegmentRegisterGS();

we add the knowledge of the platform to Java code. (+ 'new' operation is not
used (constructor is private) for the most of the MMTk types)
My proposal is to write something like this:

Address addr = TLS.getAddressByOffset(offset_in_TLS)

and to forget about platform related problems. Leave it to JIT or VM to
decide how to access to TLS on particular platform.



Egor,
Why do you think we need to support platform specific issues in helpers? Is
there any example that shows that we can't write a helper without reference
platform details? I think we should avoid #ifdef's in Java as much as we
can.




--
Mikhail Fursov


[classlib][tools] Announcement: JNI-style C Header File Generator contribution

2006-08-17 Thread Dmitry M. Kononov

Hi all,

I have developed a tool to generate JNI-style headers. This tool is a
replacement for javah tool from the JavaSE 1.5.0. I would like it to
be included in Harmony tools sections.

The archive can be found there:
http://issues.apache.org/jira/browse/HARMONY-1217

The archive contains the source files of the tool, an ant task
adapter, samples, building scripts and several text files. One of the
text files is README, which explains in detail how the tool can be
built and how you can use it as a standalone application.

All the code is pure Java.

There is an integration patch which integrates the ijh tool into
Harmony build system.
The patch is attached to the HARMONY-1217 JIRA.

Please don't hesitate to contact me for more details.

Thanks a lot.
--
Dmitry M. Kononov
Intel Managed Runtime Division

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



Re: [classlib][luni] Enable tests.api.java.net.DatagramSocketTest?

2006-08-17 Thread Mark Hindess

On 17 August 2006 at 17:25, Andrew Zhang [EMAIL PROTECTED] wrote:

 Hi folks,

 After applying Harmony-1024, tests.api.java.net.DatagramSocketTest passes
 against Harmony on my machine.
 
 Before enabling it, I'd like to hear more feedbacks from community. Would
 you please provide your test result on running DatagramSocketTest against
 Harmony?
 
 Thank you very much in advance!

Works for me on linux (using both Harmony and RI).

Regards,
 Mark.



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



Re: [drlvm] sanity check - can someone build from svn and test ActiveMQ?

2006-08-17 Thread Geir Magnusson Jr.
Right - what I was worried about was that I *thought* that  
HARMONY-956 got me to where Gergory is describing, but he's applying  
HARMONY-1179.


I'll just stop worrying about this for the snapshot, post it, and  
move on w/ 1179 and keep going.


Thanks all for looking into this - I could *swear* that 956 had a  
visible effect, but I was clearly mistaken.


And what is dutty hacking? :)

geir


On Aug 17, 2006, at 8:11 AM, Pavel Rebriy wrote:


Anton, your patch is a dutty hacking.

With and without the patch ActiveMQ crashes as Gregory described.

On 17/08/06, Anton Luht [EMAIL PROTECTED] wrote:


Hello,

Please try to apply patch

Index: vm/vmcore/src/verifier/ver_utils.cpp
===
--- vm/vmcore/src/verifier/ver_utils.cpp(revision 432184)
+++ vm/vmcore/src/verifier/ver_utils.cpp(working copy)
@@ -1391,6 +1391,9 @@

 // get stack reference class
 class_handler source = vf_resolve_class( constraint-source,  
true,

ctex );
+if(source == NULL) {
+   source = vf_resolve_class( constraint-source, false, ctex );
+}
 if( !source ) {
 VERIFY_DEBUG( verifying class   class_get_name( ctex- 
m_class

)
   (method   method_get_name( constraint-method )



Unfortunately I cannot attach it to the  JIRA issue because the  
issue is

closed.

On 8/16/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
 I'm trying to create snapshots, and when testing w/ ActiveMQ, I  
still

 have the same problems w/ ActiveMQ as reported originally in
HARMONY-956.

 Can someone do a sanity check?  it's a release build.

 geir

  
-

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





--
Regards,
Anton Luht,
Intel Middleware Products Division

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






--
Best regards,
Pavel Rebriy



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



[app-bug] mx4j

2006-08-17 Thread Anton Luht

Hello,

Now some people in this list are trying to make ActiveMQ run on
Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
tests. Results of those tests:

BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
810 tests, 1 failure, 1 error (99.75%)

Harmony DRLVM version 11.2.0
766 tests,  2 failures, 110 errors (85.38%)

Maybe it's worth to consider MX4j JUnit tests first and then try to
fix ActiveMQ?

MX4J is used not only in ActiveMQ but in other apps like Tomcat as well.

[1] http://mx4j.sourceforge.net
--
Regards,
Anton Luht,
Intel Middleware Products Division

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



Re: [app-bug] mx4j

2006-08-17 Thread Geir Magnusson Jr.

that's a great idea.

Have you isolated any of the errors?

geir

On Aug 17, 2006, at 10:40 AM, Anton Luht wrote:


Hello,

Now some people in this list are trying to make ActiveMQ run on
Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
tests. Results of those tests:

BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
810 tests, 1 failure, 1 error (99.75%)

Harmony DRLVM version 11.2.0
766 tests,  2 failures, 110 errors (85.38%)

Maybe it's worth to consider MX4j JUnit tests first and then try to
fix ActiveMQ?

MX4J is used not only in ActiveMQ but in other apps like Tomcat as  
well.


[1] http://mx4j.sourceforge.net
--
Regards,
Anton Luht,
Intel Middleware Products Division

-
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]



Re: [testing] trying to run freemind with harmony

2006-08-17 Thread Tim Ellison
FYI : cannot reproduce on the classlib r432241 running on IBM VME
Windows XP.  Freemind seems to work fine there[1].

[1] http://people.apache.org/~tellison/Harmony-1209.jpg

Regards,
Tim

Alexey Petrenko wrote:
 Salikh,
 
 as far as I understood he runs a snapshot...
 
 SY, Alexey
 
 2006/8/17, Salikh Zakirov [EMAIL PROTECTED]:
 Iñigo wrote:
  C:\Archivos de programa\FreeMind\libjava -Xmx1g -verbose:gc* -jar
  freemind.jar
  GC v4 M1-39 (2006-03-28)
  GC will incrementally slide compact at each GC, using algorithm = 2
  Chunks will be swept on allocation
  WARNING: final heap size is too large, reduced to 900 Mb
  java heap initial size 64 Mb, maximum size 900 Mb (3840h),
 addresses
  range 2
  002 - 5842
  java.lang.OutOfMemoryError
  no stack trace available

 Iñigo, the log above doesn't have any collection messages, thus
 no collection had taken place, and the OutOfMemoryError is most likely
 caused by some other reason -- not the java heap shortage.

 I have just grepped DRLVM and found about 25 places where OOM is thrown
 explicitly in the VM.

 Applying following patch and running with '-verbose:oom -verbose:gc*'
 may shed some light on the reason of the problem.

 -- 8 --
 diff --git vm/vmcore/src/class_support/Class_File_Loader.cpp
 vm/vmcore/src/class_support/Class_File_Loader.cpp
 index 0ec087f..259cc87 100644
 --- vm/vmcore/src/class_support/Class_File_Loader.cpp
 +++ vm/vmcore/src/class_support/Class_File_Loader.cpp
 @@ -518,6 +518,7 @@ bool Field::parse(Class *clss, Const_Poo
 //std::stringstream ss;
 //ss  clss-name-bytes  : could not create type
 descriptor for field   get_name();
 //jthrowable exn = exn_create(java/lang/OutOfMemoryError,
 ss.str().c_str());
 +INFO2(oom, out of memory when creating type desc);

 exn_raise_only(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return false;
 }
 diff --git vm/vmcore/src/class_support/classloader.cpp
 vm/vmcore/src/class_support/classloader.cpp
 index ea4e231..12e9ea1 100644
 --- vm/vmcore/src/class_support/classloader.cpp
 +++ vm/vmcore/src/class_support/classloader.cpp
 @@ -1139,8 +1139,7 @@ Class* ClassLoader::AllocateAndReportIns
 if(new_java_lang_Class == NULL)
 {
 tmn_suspend_enable();
 -// couldn't allocate java.lang.Class instance for this class
 -// ppervov: TODO: throw OutOfMemoryError
 +INFO2(oom, couldn't allocate java.lang.Class instance
 for this class);
 exn_raise_only(
 VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return NULL;
 diff --git vm/vmcore/src/exception/exceptions.cpp
 vm/vmcore/src/exception/exceptions.cpp
 index f37a0af..996d9c4 100644
 --- vm/vmcore/src/exception/exceptions.cpp
 +++ vm/vmcore/src/exception/exceptions.cpp
 @@ -153,6 +153,8 @@ static jthrowable create_exception(const

 if (!e) {
 tmn_suspend_enable();
 +INFO2(oom, out of memory on creating exception object 
 + exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }

 @@ -180,6 +182,8 @@ static jthrowable create_exception(const

 if (!e) {
 tmn_suspend_enable();
 +INFO2(oom, out of memory on creating exception object 
 + exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }

 @@ -216,6 +220,8 @@ static jthrowable create_exception(const

 if (!exc_obj) {
 tmn_suspend_enable();
 +INFO2(oom, out of memory on creating exception object 
 + exception_name);
 return VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }

 @@ -230,6 +236,8 @@ static jthrowable create_exception(const

 if (!arg_obj) {
 tmn_suspend_enable();
 +INFO2(oom, out of memory on creating exception object 
 + exception_name);
 return
 VM_Global_State::loader_env-java_lang_OutOfMemoryError;
 }

 diff --git vm/vmcore/src/jit/jit_runtime_support.cpp
 vm/vmcore/src/jit/jit_runtime_support.cpp
 index de30891..88d547c 100644
 --- vm/vmcore/src/jit/jit_runtime_support.cpp
 +++ vm/vmcore/src/jit/jit_runtime_support.cpp
 @@ -1834,6 +1834,7 @@ void *vm_malloc_with_thread_pointer(
 assert(!tmn_is_suspend_enabled());
 void *result = gc_alloc(size,ah,tp);
 if (!result) {
 +INFO2(oom, out of gc heap memory);

 exn_throw(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 return 0; // whether this return is reached or not is solved
 via is_unwindable state
 }
 @@ -1863,6 +1864,7 @@ #endif //VM_STATS
 gc_alloc(c-instance_data_size,
 c-allocation_handle, vm_get_gc_thread_local());
 if (!o) {
 +INFO2(oom, out of gc heap memory);
 exn_throw(
 VM_Global_State::loader_env-java_lang_OutOfMemoryError);
 //tmn_suspend_enable();
 @@ -1887,6 

Re: [classlib][luni] Enable tests.api.java.net.DatagramSocketTest?

2006-08-17 Thread Tim Ellison
Andrew Zhang wrote:
 Hi folks,
 
 After applying Harmony-1024, tests.api.java.net.DatagramSocketTest passes
 against Harmony on my machine.
 
 Before enabling it, I'd like to hear more feedbacks from community. Would
 you please provide your test result on running DatagramSocketTest against
 Harmony?
 
 Thank you very much in advance!

Did you mean HARMONY-1024?  that's a JNDI issue.

Regards,
Tim

-- 

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.

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



RE: [build-test-infra] Build Test Infrastructure

2006-08-17 Thread Fedotov, Alexei A
Vladimir,
I was trying a buildtest module from svn repository.

You wrote,
When I tried to run it for the first time I saw problems with get
and svn commands - they did not work in my environment due to:
 - no proxy settings for get and exec svn command.
 - some problems with my certificate for apache site.

Is there any progress with making get command work? I tried to make it
work.

1. I succeed to make get work through proxy by changing cc/config.xml
(= config/config-full.xml) in a following way:

schedule interval=300
ant antWorkingDir=projects/classlib/trunk
target=fetch-depends
jvmarg arg=-Dhttp.proxyHost=***.com/
jvmarg arg=-Dhttp.proxyPort=***/
/ant
/schedule

2. Setting CC_OPTS (like ANT_OPTS) doesn't help me to rewrite the
configuration file in a following way.
schedule interval=300
ant antWorkingDir=projects/classlib/trunk
target=fetch-depends
jvmarg arg=-Dhttp.proxyHost=${http.proxyHost}/
jvmarg arg=-Dhttp.proxyPort=${http.proxyPort}/
/ant
/schedule

So I've created config/cc.properties and used
?xml version=1.0 encoding=UTF-8?
 cruisecontrol
+property file=cc.properties/

Using this approach I managed to make classlib-deps and drlvm-deps. Do
you think this is a correct direction to develop proxy support?


BTW, why the config file is called config-full.xml? I prefer to call it
cc-config.xml.



With best regards,
Alexei Fedotov,
Intel Middleware Products Division

-Original Message-
From: Vladimir Ivanov [mailto:[EMAIL PROTECTED]
Sent: Thursday, July 27, 2006 3:56 PM
To: harmony-dev@incubator.apache.org; [EMAIL PROTECTED]
Subject: Re: [build-test-infra] Build Test Infrastructure

On 7/26/06, Geir Magnusson Jr  [EMAIL PROTECTED] wrote:




 That's what the buildtest subproject is for.  Have you looked at it?



Yes. When I tried to run it for the first time I saw problems with
get
and
svn commands - they did not work in my environment due to:
 - no proxy settings for get and exec svn command.
 - some problems with my certificate for apache site.

I propose to do the following:
 - specify in README.txt that if you work via proxy, then, specify in
property file values for proxy host/port and checks proxy settings into
your
SVN configuration files.
 - specify in README.txt that the certificate to work with apache site
should be accepted.

Does it make sense?
Issue 995 was created to support proxy settings for the 'get' target.



  4.   Full testing - the whole set of Harmony tests are run on
 regular
  builds, results are published.
  Goal: to see what happened with Harmony quality on the whole set of
  automated tests, see new bugs, see quality of Harmony runtimes.
  Users should be able to do this kind of testing on their specific
 platforms
  and publish results on Harmony web site.
  This script (prototype) I implemented, see issue 984.

 I thought that the classlib tests are run as well w/ the CC script
right
 now, but will check.


Yes, but I hope in the future we will have more test suites
(functional,
stress etc).
Will we run all of them in code integrity testing? - I suppose no, once
we
see that running all tests takes more then hour.

 Thanks, Vladimir

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



Re: [testing] trying to run freemind with harmony

2006-08-17 Thread Geir Magnusson Jr.

well, yeah.  clearly it's DRLVM

geir

On Aug 17, 2006, at 11:34 AM, Tim Ellison wrote:


FYI : cannot reproduce on the classlib r432241 running on IBM VME
Windows XP.  Freemind seems to work fine there[1].

[1] http://people.apache.org/~tellison/Harmony-1209.jpg

Regards,
Tim

Alexey Petrenko wrote:

Salikh,

as far as I understood he runs a snapshot...

SY, Alexey

2006/8/17, Salikh Zakirov [EMAIL PROTECTED]:

Iñigo wrote:

C:\Archivos de programa\FreeMind\libjava -Xmx1g -verbose:gc* -jar
freemind.jar
GC v4 M1-39 (2006-03-28)
GC will incrementally slide compact at each GC, using algorithm = 2
Chunks will be swept on allocation
WARNING: final heap size is too large, reduced to 900 Mb
java heap initial size 64 Mb, maximum size 900 Mb (3840h),

addresses

range 2
002 - 5842
java.lang.OutOfMemoryError
no stack trace available


Iñigo, the log above doesn't have any collection messages, thus
no collection had taken place, and the OutOfMemoryError is most  
likely

caused by some other reason -- not the java heap shortage.

I have just grepped DRLVM and found about 25 places where OOM is  
thrown

explicitly in the VM.

Applying following patch and running with '-verbose:oom - 
verbose:gc*'

may shed some light on the reason of the problem.

-- 8 --
diff --git vm/vmcore/src/class_support/Class_File_Loader.cpp
vm/vmcore/src/class_support/Class_File_Loader.cpp
index 0ec087f..259cc87 100644
--- vm/vmcore/src/class_support/Class_File_Loader.cpp
+++ vm/vmcore/src/class_support/Class_File_Loader.cpp
@@ -518,6 +518,7 @@ bool Field::parse(Class *clss, Const_Poo
//std::stringstream ss;
//ss  clss-name-bytes  : could not create type
descriptor for field   get_name();
//jthrowable exn = exn_create(java/lang/OutOfMemoryError,
ss.str().c_str());
+INFO2(oom, out of memory when creating type desc);

exn_raise_only(VM_Global_State::loader_env- 
java_lang_OutOfMemoryError);

return false;
}
diff --git vm/vmcore/src/class_support/classloader.cpp
vm/vmcore/src/class_support/classloader.cpp
index ea4e231..12e9ea1 100644
--- vm/vmcore/src/class_support/classloader.cpp
+++ vm/vmcore/src/class_support/classloader.cpp
@@ -1139,8 +1139,7 @@ Class* ClassLoader::AllocateAndReportIns
if(new_java_lang_Class == NULL)
{
tmn_suspend_enable();
-// couldn't allocate java.lang.Class instance for  
this class

-// ppervov: TODO: throw OutOfMemoryError
+INFO2(oom, couldn't allocate java.lang.Class  
instance

for this class);
exn_raise_only(
VM_Global_State::loader_env- 
java_lang_OutOfMemoryError);

return NULL;
diff --git vm/vmcore/src/exception/exceptions.cpp
vm/vmcore/src/exception/exceptions.cpp
index f37a0af..996d9c4 100644
--- vm/vmcore/src/exception/exceptions.cpp
+++ vm/vmcore/src/exception/exceptions.cpp
@@ -153,6 +153,8 @@ static jthrowable create_exception(const

if (!e) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env- 
java_lang_OutOfMemoryError;

}

@@ -180,6 +182,8 @@ static jthrowable create_exception(const

if (!e) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env- 
java_lang_OutOfMemoryError;

}

@@ -216,6 +220,8 @@ static jthrowable create_exception(const

if (!exc_obj) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception object 
+ exception_name);
return VM_Global_State::loader_env- 
java_lang_OutOfMemoryError;

}

@@ -230,6 +236,8 @@ static jthrowable create_exception(const

if (!arg_obj) {
tmn_suspend_enable();
+INFO2(oom, out of memory on creating exception  
object 

+ exception_name);
return
VM_Global_State::loader_env-java_lang_OutOfMemoryError;
}

diff --git vm/vmcore/src/jit/jit_runtime_support.cpp
vm/vmcore/src/jit/jit_runtime_support.cpp
index de30891..88d547c 100644
--- vm/vmcore/src/jit/jit_runtime_support.cpp
+++ vm/vmcore/src/jit/jit_runtime_support.cpp
@@ -1834,6 +1834,7 @@ void *vm_malloc_with_thread_pointer(
assert(!tmn_is_suspend_enabled());
void *result = gc_alloc(size,ah,tp);
if (!result) {
+INFO2(oom, out of gc heap memory);

exn_throw(VM_Global_State::loader_env-java_lang_OutOfMemoryError);
return 0; // whether this return is reached or not is solved
via is_unwindable state
}
@@ -1863,6 +1864,7 @@ #endif //VM_STATS
gc_alloc(c-instance_data_size,
c-allocation_handle, vm_get_gc_thread_local());
if (!o) {
+INFO2(oom, out of gc heap memory);
exn_throw(
VM_Global_State::loader_env- 
java_lang_OutOfMemoryError);

//tmn_suspend_enable();
@@ -1887,6 +1889,7 

Re: [classlib][tools] Announcement: JNI-style C Header File Generator contribution

2006-08-17 Thread Alexey Petrenko

Great! Thanks.
This is very useful tool.

SY, Alexey

2006/8/17, Dmitry M. Kononov [EMAIL PROTECTED]:

Hi all,

I have developed a tool to generate JNI-style headers. This tool is a
replacement for javah tool from the JavaSE 1.5.0. I would like it to
be included in Harmony tools sections.

The archive can be found there:
http://issues.apache.org/jira/browse/HARMONY-1217

The archive contains the source files of the tool, an ant task
adapter, samples, building scripts and several text files. One of the
text files is README, which explains in detail how the tool can be
built and how you can use it as a standalone application.

All the code is pure Java.

There is an integration patch which integrates the ijh tool into
Harmony build system.
The patch is attached to the HARMONY-1217 JIRA.

Please don't hesitate to contact me for more details.

Thanks a lot.
--
Dmitry M. Kononov
Intel Managed Runtime Division

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





--
Alexey A. Petrenko
Intel Middleware Products Division

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



OT: JFontChooser

2006-08-17 Thread theUser BL

Hi!

Have a look at

http://common.l2fprod.com/
https://l2fprod.dev.java.net/
https://l2fprod-common.dev.java.net/

there existing a JFontChooser
https://l2fprod-common.dev.java.net/images/FontChooser.jpg
under the Apache License. :-)

And at
http://jfontchooser.sourceforge.net/
is one under the BSD license.

(just looking for extensions for JDK 7, if Sun makes its JDK OpenSource) :-)

Greatings
theuserbl



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



Re: OT: JFontChooser

2006-08-17 Thread Geir Magnusson Jr.

I'm sure they'll make JDK7 open source...

geir

On Aug 17, 2006, at 2:35 PM, theUser BL wrote:


Hi!

Have a look at

http://common.l2fprod.com/
https://l2fprod.dev.java.net/
https://l2fprod-common.dev.java.net/

there existing a JFontChooser
https://l2fprod-common.dev.java.net/images/FontChooser.jpg
under the Apache License. :-)

And at
http://jfontchooser.sourceforge.net/
is one under the BSD license.

(just looking for extensions for JDK 7, if Sun makes its JDK  
OpenSource) :-)


Greatings
theuserbl



-
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]



Re: [app-bug] mx4j

2006-08-17 Thread Anton Luht

Not yet. I think that making minimal test cases from JUnit tests is
simpler than making ones from an application though. I'm going to get
down to it soon - I just wanted to discuss it before acting to make
sure that nobody objects such approach.

On 8/17/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:

that's a great idea.

Have you isolated any of the errors?

geir

On Aug 17, 2006, at 10:40 AM, Anton Luht wrote:

 Hello,

 Now some people in this list are trying to make ActiveMQ run on
 Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
 tests. Results of those tests:

 BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
 810 tests, 1 failure, 1 error (99.75%)

 Harmony DRLVM version 11.2.0
 766 tests,  2 failures, 110 errors (85.38%)

 Maybe it's worth to consider MX4j JUnit tests first and then try to
 fix ActiveMQ?

 MX4J is used not only in ActiveMQ but in other apps like Tomcat as
 well.

 [1] http://mx4j.sourceforge.net


--
Regards,
Anton Luht,
Intel Middleware Products Division

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



Re: [app-bug] mx4j

2006-08-17 Thread Geir Magnusson Jr.


On Aug 17, 2006, at 3:28 PM, Anton Luht wrote:


Not yet. I think that making minimal test cases from JUnit tests is
simpler than making ones from an application though. I'm going to get
down to it soon - I just wanted to discuss it before acting to make
sure that nobody objects such approach.


Oh - when I've tallked about app oriented testing, I didn't mean we  
have to slap the app into a test framework, but rather that we go out  
and find 'real-world' software (which I lazily labeled  
applications) to help flush out bugs.


So, yes, this is really great if you've used the mx4j test suite to  
find Harmony bugs, and if you turn them into tests for us.  Go!


geir



On 8/17/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:

that's a great idea.

Have you isolated any of the errors?

geir

On Aug 17, 2006, at 10:40 AM, Anton Luht wrote:

 Hello,

 Now some people in this list are trying to make ActiveMQ run on
 Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
 tests. Results of those tests:

 BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
 810 tests, 1 failure, 1 error (99.75%)

 Harmony DRLVM version 11.2.0
 766 tests,  2 failures, 110 errors (85.38%)

 Maybe it's worth to consider MX4j JUnit tests first and then try to
 fix ActiveMQ?

 MX4J is used not only in ActiveMQ but in other apps like Tomcat as
 well.

 [1] http://mx4j.sourceforge.net


--
Regards,
Anton Luht,
Intel Middleware Products Division

-
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]



[vote] HARMONY-1044 : Contribution of RMI Registry Service

2006-08-17 Thread Geir Magnusson Jr.

All is in order and in SVN for Harmony-1044 wrt BCC and ACQ.

Please vote to accept or reject this codebase into the Apache Harmony
class library :

[ ] + 1 Accept
[ ] -1 Reject  (provide reason below)

Lets let this run a minimum of 3 days unless a) someone states they need
more time or b) we get all committer votes before then.

geir


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



[vote] HARMONY-1105 : Accept Java Management Console

2006-08-17 Thread Geir Magnusson Jr.

All is in order and in SVN for Harmony-1105 wrt BCC and ACQ.

Please vote to accept or reject this codebase into the Apache Harmony
class library :

[ ] + 1 Accept
[ ] -1 Reject  (provide reason below)

Lets let this run a minimum of 3 days unless a) someone states they need
more time or b) we get all committer votes before then.

geir


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



[vote] HARMONY-1125 : thread manager patch for DRLVM

2006-08-17 Thread Geir Magnusson Jr.

All is in order and in SVN for Harmony-1125 wrt BCC and ACQ.

Please vote to accept or reject this codebase into the Apache Harmony
class library :

[ ] + 1 Accept
[ ] -1 Reject  (provide reason below)

Lets let this run a minimum of 3 days unless a) someone states they need
more time or b) we get all committer votes before then.

geir


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



Re: [app-bug] mx4j

2006-08-17 Thread Alexey Petrenko

2006/8/17, Geir Magnusson Jr. [EMAIL PROTECTED]:


On Aug 17, 2006, at 3:28 PM, Anton Luht wrote:

 Not yet. I think that making minimal test cases from JUnit tests is
 simpler than making ones from an application though. I'm going to get
 down to it soon - I just wanted to discuss it before acting to make
 sure that nobody objects such approach.

Oh - when I've tallked about app oriented testing, I didn't mean we
have to slap the app into a test framework,

But if the application fails in some way we need to minimize test case
somehow...
I think that Anton is talking about this situation.


but rather that we go out
and find 'real-world' software (which I lazily labeled
applications) to help flush out bugs.

So, yes, this is really great if you've used the mx4j test suite to
find Harmony bugs, and if you turn them into tests for us.  Go!

geir


 On 8/17/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
 that's a great idea.

 Have you isolated any of the errors?

 geir

 On Aug 17, 2006, at 10:40 AM, Anton Luht wrote:

  Hello,
 
  Now some people in this list are trying to make ActiveMQ run on
  Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
  tests. Results of those tests:
 
  BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
  810 tests, 1 failure, 1 error (99.75%)
 
  Harmony DRLVM version 11.2.0
  766 tests,  2 failures, 110 errors (85.38%)
 
  Maybe it's worth to consider MX4j JUnit tests first and then try to
  fix ActiveMQ?
 
  MX4J is used not only in ActiveMQ but in other apps like Tomcat as
  well.
 
  [1] http://mx4j.sourceforge.net

 --
 Regards,
 Anton Luht,
 Intel Middleware Products Division

 -
 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]





--
Alexey A. Petrenko
Intel Middleware Products Division

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



Re: [vote] HARMONY-1044 : Contribution of RMI Registry Service

2006-08-17 Thread Geir Magnusson Jr
+1

Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1044 wrt BCC and ACQ.
 
 Please vote to accept or reject this codebase into the Apache Harmony
 class library :
 
 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)
 
 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.
 
 geir
 
 
 -
 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]



Re: [vote] HARMONY-1105 : Accept Java Management Console

2006-08-17 Thread Geir Magnusson Jr
+1

Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1105 wrt BCC and ACQ.
 
 Please vote to accept or reject this codebase into the Apache Harmony
 class library :
 
 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)
 
 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.
 
 geir
 
 
 -
 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]



Re: [vote] HARMONY-1125 : thread manager patch for DRLVM

2006-08-17 Thread Geir Magnusson Jr
+1

Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1125 wrt BCC and ACQ.
 
 Please vote to accept or reject this codebase into the Apache Harmony
 class library :
 
 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)
 
 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.
 
 geir
 
 
 -
 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]



Re: [app-bug] mx4j

2006-08-17 Thread Geir Magnusson Jr


Alexey Petrenko wrote:
 2006/8/17, Geir Magnusson Jr. [EMAIL PROTECTED]:

 On Aug 17, 2006, at 3:28 PM, Anton Luht wrote:

  Not yet. I think that making minimal test cases from JUnit tests is
  simpler than making ones from an application though. I'm going to get
  down to it soon - I just wanted to discuss it before acting to make
  sure that nobody objects such approach.

 Oh - when I've tallked about app oriented testing, I didn't mean we
 have to slap the app into a test framework,
 But if the application fails in some way we need to minimize test case
 somehow...
 I think that Anton is talking about this situation.

And I'm trying to agree! :)

 
 but rather that we go out
 and find 'real-world' software (which I lazily labeled
 applications) to help flush out bugs.

 So, yes, this is really great if you've used the mx4j test suite to
 find Harmony bugs, and if you turn them into tests for us.  Go!

 geir

 
  On 8/17/06, Geir Magnusson Jr. [EMAIL PROTECTED] wrote:
  that's a great idea.
 
  Have you isolated any of the errors?
 
  geir
 
  On Aug 17, 2006, at 10:40 AM, Anton Luht wrote:
 
   Hello,
  
   Now some people in this list are trying to make ActiveMQ run on
   Harmony. ActiveMQ is based on MX4J [1] . MX4J 3.0.1 has 812 unit
   tests. Results of those tests:
  
   BEA WebLogic JRockit(TM) 1.4.2_04 JVM :
   810 tests, 1 failure, 1 error (99.75%)
  
   Harmony DRLVM version 11.2.0
   766 tests,  2 failures, 110 errors (85.38%)
  
   Maybe it's worth to consider MX4j JUnit tests first and then try to
   fix ActiveMQ?
  
   MX4J is used not only in ActiveMQ but in other apps like Tomcat as
   well.
  
   [1] http://mx4j.sourceforge.net
 
  --
  Regards,
  Anton Luht,
  Intel Middleware Products Division
 
  -
  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]


 
 

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



Re: [drlvm][vm, mmtk] adding thread-local storage functionality to vmmagic

2006-08-17 Thread Weldon Washburn

On 8/17/06, Mikhail Fursov [EMAIL PROTECTED] wrote:

Weldon,
I agree that we need TLS access in vmmagic, but I thought about slightly
different and more primitive implementation.
Writing something like this:
SegmentRegisterFS  segFs = new SegmentRegisterFS();
or this:
SegmentRegisterGS  segGs = new SegmentRegisterGS();

we add the knowledge of the platform to Java code. (+ 'new' operation is not
used (constructor is private) for the most of the MMTk types)
My proposal is to write something like this:

Address addr = TLS.getAddressByOffset(offset_in_TLS)


Good idea!


and to forget about platform related problems. Leave it to JIT or VM to
decide how to access to TLS on particular platform.



Egor,
Why do you think we need to support platform specific issues in helpers? Is
there any example that shows that we can't write a helper without reference
platform details? I think we should avoid #ifdef's in Java as much as we
can.




--
Mikhail Fursov





--
Weldon Washburn
Intel Middleware Products Division

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



Re: [DRLVM][GC] Goals for 2006/2007

2006-08-17 Thread Weldon Washburn

On 8/17/06, Morozova, Nadezhda [EMAIL PROTECTED] wrote:

All,

I found some GC requirements description in the OPEN spec [1], section
5.3.5 and something inside 6.*. How does those suggestions relate to
what is being discussed?


Actually section 5.3.5 describes an interface between GC and JVM.
What is being discussed on this thread is the design of the GC itself.



Do you think we can use that doc as the basis and maybe track major
decisions there? Mail threads tend to drop, and are not always a
convenient means of finding the final decision for an issue :)


I rather hold a conversation using email.  A spec is not the right
tool for the discussion.  When we have agreement on what we are
building and have some code working, we can think about moving chunks
of the dialog in the spec.  Its still too early.



[1] http://issues.apache.org/jira/browse/HARMONY-459

Best regards,
Nadya Morozova

-Original Message-
From: Weldon Washburn [mailto:[EMAIL PROTECTED]
Sent: Monday, August 14, 2006 9:23 PM
To: harmony-dev@incubator.apache.org
Subject: [DRLVM][GC] Goals for 2006/2007

All,

There is rough consensus that the immediate goal for Harmony JVM is to
reliably run simple commercial workloads with acceptable performance.
In regards to a garbage collector for a Harmony JVM in 2006 there are
some data points worth noting.  1) A quick survey shows most basic
commercial JVMs implement a generational collector. 2) While the
existing drlvm garbage collector, gcv4, implements some interesting
advanced concepts, it is not currently a generational collector.  3)
The MMTk port to drlvm is not yet finished.  Even assuming MMTk's
generational configuration is appropriate, it is still too early to
put this garbage collector on the roadmap for a 2006 Harmony JVM.  It
might be worth revisiting in 2007.  But it's too far away to debate at
this time.

Given the above data points, the following is a first stab at
requirements for Harmony GCV5.  The intention is to set down some
basic parameters.

1)
Generational Collector with mark/compacting mature object space

2)
Parallel collection, no concurrent collection (Editor's note: parallel
collection is a specific term meaning that during gc collection, most
CPUs in an SMP box are busy collecting garbage.  This is fairly
straight forward to build.  Concurrent collection is a specific term
meaning that Java application threads make forward progress while
special GC threads are simultaneously collecting.  This is hard to
build)

3)
Parallel allocation. (Again, this is very straight forward.  Basically
each Java thread gets private chunks of memory to allocate out of.)

4)
Write barriers.  A generational collector benefits from write barriers
that detect whenever a pointer to a younger object is written inside
an older object.

5)
For expediency, GCV5 should try to plug into the existing JVM/GC
interface.  However, if this interface is broken, we need to jump at
the opportunity to make it right.

6)
The goal is to make this code readable/modifiable/debuggable by non-GC
engineers.  The code should read as nothing more than a basic
generational GC.  No experimental code should ever be checked into
Harmony GCV5 source base.

7)
Performance goals should be discussed after the initial implementation
is committed.

8)
Object pinning is not required at this time.  However, be prepared
that at a later date we might discover pinning is needed to get
acceptable performance from native methods that use JNI.

9)
Supports Java 1.5.  This means GCV5 must implement functionality such
as weak/soft/phantom references and finalization.

10)
Though this work will be an investment, it is ultimately necessary for
Harmony to meet medium term goals, eg., being maintainable, passing
TcK successfully, etc.  and be a platform for future, more advanced
work, which is a requirement that v4 cannot meet.


Thoughts on the above?

--
Weldon Washburn
Intel Middleware Products Division

-
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]





--
Weldon Washburn
Intel Middleware Products Division

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



Re: [vote] HARMONY-1044 : Contribution of RMI Registry Service

2006-08-17 Thread Stefano Mazzocchi
Geir Magnusson Jr wrote:
 +1

+1

 
 Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1044 wrt BCC and ACQ.

 Please vote to accept or reject this codebase into the Apache Harmony
 class library :

 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)

 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.

 geir


 -
 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]
 


-- 
Stefano.


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



Re: [vote] HARMONY-1105 : Accept Java Management Console

2006-08-17 Thread Stefano Mazzocchi
Geir Magnusson Jr wrote:
 +1

+1

 Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1105 wrt BCC and ACQ.

 Please vote to accept or reject this codebase into the Apache Harmony
 class library :

 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)

 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.

 geir


 -
 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]
 


-- 
Stefano.


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



Re: [vote] HARMONY-1125 : thread manager patch for DRLVM

2006-08-17 Thread Stefano Mazzocchi
Geir Magnusson Jr wrote:
 +1

+0, I don't know enough to understand if this is good or bad

don't take this as diplomatic negative vote, I just don't like to vote
on things I don't know enough about.


 Geir Magnusson Jr. wrote:
 All is in order and in SVN for Harmony-1125 wrt BCC and ACQ.

 Please vote to accept or reject this codebase into the Apache Harmony
 class library :

 [ ] + 1 Accept
 [ ] -1 Reject  (provide reason below)

 Lets let this run a minimum of 3 days unless a) someone states they need
 more time or b) we get all committer votes before then.

 geir


 -
 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]
 


-- 
Stefano.


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



Re: [classlib][luni] Enable tests.api.java.net.DatagramSocketTest?

2006-08-17 Thread Richard Liang



Tim Ellison wrote:

Andrew Zhang wrote:
  

Hi folks,

After applying Harmony-1024, tests.api.java.net.DatagramSocketTest passes
against Harmony on my machine.

Before enabling it, I'd like to hear more feedbacks from community. Would
you please provide your test result on running DatagramSocketTest against
Harmony?

Thank you very much in advance!



Did you mean HARMONY-1024?  that's a JNDI issue.
  

Hello Tim,

I think it should be  HARMONY-1204 :-)

Richard

Regards,
Tim

  


--
Richard Liang
China Software Development Lab, IBM 



Re: [classlib][instrument]Using Support_Exec framework(was Re: [classlib][Instrument] Documents for non-unit-tests)

2006-08-17 Thread Leo Li

Hi, all:
I wonder if we need to get the exception from the exec framework. As an
exec result, we need only get whether it succeeds or not. Besides, I do not
think it is so reliable to parse error message to get exception.
   We can design sophisticated testcase to deduce whether the expected
exception has been thrown out from the status of exec.
   For example, during VM init there are some errors that can be caught by
some java class.
   If we add a null object as Transformer, the VM will go down by
nullpointerexception. But it can be  caught be its caller:
   public static void premain(String agentArgs, Instrumentation inst)
{
 try
 {
  inst.addTransformer(null);
  //should throw NullPointerException
  System.exit(1);
 }
 catch(NullPointerException e)
 {
  //expected
 }
}

 From the exec result, if there is no error, that is return value is 0, we
can deduce that the expected exception is thrown.
  As for those fault errors raised from VM init, if they cannot be caught
by any java class, they are just error messages that can be got from
console. I do not think some application will depend on such message.
Furthermore, some of these messages cannot be classified to any exception
type: some are errors about runtime environment, some are related to VM.
 Actually, in reality, some error events are related to Harmony's
implemenation. For example, in our instrumentation impl class, there are two
methods executePremain and transform, which are called duirng VM and might
cause VM to die if these methods cannot be invoked. In such circumstances,
we cannot behave just like RI.
 So in my opinion, if the exception can be caught by any java class, we try
to design testcase to verify it; or else, they are just error messages that
are related to implementation.

On 8/17/06, Anton Luht [EMAIL PROTECTED] wrote:


Jimmy,

 Ah, we are trying to catch the exact exception name, not its message. I
 agree parsing the message is a bad idea, but find an exact exception
 name in the output is still stable, am I right?

Yes, it's stable.

 In fact, I have no idea to catch an exception in exec, it surely
 contains no such function, right?

No, it doesn't.

--
Regards,
Anton Luht,
Intel Middleware Products Division

-
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


Re: [classlib][luni] Enable tests.api.java.net.DatagramSocketTest?

2006-08-17 Thread Paulex Yang

Tim Ellison wrote:

Andrew Zhang wrote:
  

Hi folks,

After applying Harmony-1024, tests.api.java.net.DatagramSocketTest passes
against Harmony on my machine.

Before enabling it, I'd like to hear more feedbacks from community. Would
you please provide your test result on running DatagramSocketTest against
Harmony?

Thank you very much in advance!



Did you mean HARMONY-1024?  that's a JNDI issue.
  

I guess he meant HARMONY-1204:).

Regards,
Tim

  



--
Paulex Yang
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]



Re: [continuum] BUILD FAILURE: Classlib/linux.ia32 Build/Test

2006-08-17 Thread Vladimir Ivanov

build of drlvm failed today on my pc with message:

  [cc] compile.cpp
  [cc] C:\harmony\drlvm1.5\vm\vmcore\src\jit\compile.cpp(750) : error
C3861: 'get_default_stack_size': identifier not found, even with
argument-dependent lookup


Could anybody reproduce it or it is my local failure?

Thanks, Vladimir
On 8/17/06, Mark Hindess [EMAIL PROTECTED] wrote:



On 16 August 2006 at 8:50, Stefano Mazzocchi [EMAIL PROTECTED] wrote:
 Geir Magnusson Jr. wrote:
 
  On Aug 16, 2006, at 2:30 AM, Paulex Yang wrote:
 
  Oops...It's my fault, there is a error in the makefile for Linux,
  fixed at revision r431842.
 
  Thank you to point out this, I thought the linux build error is
caused
  by network problem like windows
 
  I thought that it was clear - BUILD FAILURE versus BUILD ERROR

 Didn't even read the subject line, honestly.

 My suggestion would be to send build error messages only to those who
 can do something about it instead of spamming all of us.

I should point out that continuum is configured to send only 'Success'
and 'Failure' messages to the commit list.  However this distinction
seems to be ignored and it sends 'Errors' too.

I will stop the windows build messages (all of them Success, Failures
and Errors) until the banned proxies and other issues can be fixed.

-Mark.





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




Re: [drlvm][vm, mmtk] adding thread-local storage functionality to vmmagic

2006-08-17 Thread Egor Pasko
On the 0x1C8 day of Apache Harmony Mikhail Fursov wrote:
 Egor,
 Why do you think we need to support platform specific issues in helpers? Is
 there any example that shows that we can't write a helper without reference
 platform details? 

It depends on how much of a helper code we want to write in Java. We
can always say: hey, this is platform-dependent, let it be a whole
vmmagic and let JIT take care. If it is a large piece of code,
it is not good to code it down in JIT IR(s) and is better written in
Java. I think, we all agree here.

As a 1 more example ... maybe some day we decide to inline fast-path
of spinlocks. 

Which is a) a helper b) is platfrom-dependent. 

Implementing fast-path-spins in JIT IR is not a lot to do. But
specifying the interface and updating all components (JITs) to handle
that way of interaction on all platforms .. may make a burden. Coding
spin-locking in Java would make it difficult to write optimal (think of
explicitly parallel architectures...)

Both approaches seem to be quite complicated here. But all-in-JIT
approach seems to have more chances to be faster here.

Thus, it would be good to have both:
* vmmagic (inlined by JITs)
* helpers (partially) written in Java (using vmmagic)
and decide how fine-grained those magics should be depending on
specific situation.

 I think we should avoid #ifdef's in Java as much as we can.

Yes, my vision is the same. At least, until we come accross a large
piece of system-dependent code that is good to be inlined by JIT. I
think, it is not likely to happen, large pieces of code tend to work
longer :) and inlining them does not give so much benefit..

-- 
Egor Pasko, Intel Managed Runtime Division


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