You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by re...@apache.org on 2009/10/13 09:35:56 UTC

svn commit: r824625 - in /harmony/enhanced/classlib/trunk/modules/nio/src: main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Author: regisxu
Date: Tue Oct 13 07:35:56 2009
New Revision: 824625

URL: http://svn.apache.org/viewvc?rev=824625&view=rev
Log:
return value of Selector.select() should be same with selectedKeys.size()

Modified:
    harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java
    harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java?rev=824625&r1=824624&r2=824625&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java Tue Oct 13 07:35:56 2009
@@ -496,7 +496,10 @@
 
                     doCancel();
 
-                    return selected;
+                    if (selected != 0) {
+                        return selectedKeys.size();
+                    }
+                    return 0;
                 }
             }
         }

Modified: harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java?rev=824625&r1=824624&r2=824625&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java Tue Oct 13 07:35:56 2009
@@ -398,6 +398,7 @@
         thread.start();
         do {
             assertEquals(0, selector.select(5000)); // blocks
+            assertEquals(0, selector.selectedKeys().size());
         } while (!complete.get()); // avoid spurious interrupts
         assertFalse(key.isValid());
 



Re: svn commit: r824625 - in /harmony/enhanced/classlib/trunk/modules/nio/src: main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Posted by Regis <xu...@gmail.com>.
Mark Hindess wrote:
> In message <4A...@gmail.com>, Regis writes:
>> Regis wrote:
>>> regisxu@apache.org wrote:
>>>
>>> This commit is incorrect and causes SelectorTest failed on Windows,
>>> I'll fix it soon.
>>
>> Fixed at r824652. I found SelectorTest is in exclude list of linux,
>> but it passes on my linux machine. It excluded in HARMONY-4116, does
>> anyone can reproduce this issue?
> 
> I ran the test 100 times on linux/x86_64 with no failures.
> Wondering if it was a port selection problem (it is using the
> doomed-to-intermittent-failure Support_PortManager), I ran 100 times in
> parallel on two sessions on linux/x86.  I saw no failures.  If I'd have
> stopped here I'd probably have been happy.  But a further 100 runs on
> x86 on debian oldstable (etch) had one crash out of 100 runs with the
> following stack trace:
> 
> Program terminated with signal 11, Segmentation fault.
> #0  0xf7f986e7 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
> (gdb) bt
> #0  0xf7f986e7 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
> #1  0xf7f98b07 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
> #2  0xf7f9c2f9 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
> #3  0xf7f9c090 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
> #4  0xf7f4a7f1 in port_thread_set_priority (os_thread=3592702896, priority=5)
>     at /home/hindessm/hy/fed.x86/working_vm/vm/port/src/thread/linux/thread_os.c:519
> #5  0xf7f47ba1 in hythread_set_priority (thread=0x8f32ae8, priority=5)
>     at /home/hindessm/hy/fed.x86/working_vm/vm/thread/src/thread_native_attrs.c:41
> #6  0xf7f44a1b in hythread_wrapper_start_proc (arg=0x8f34c40)
>     at /home/hindessm/hy/fed.x86/working_vm/vm/thread/src/thread_native_basic.c:804
> #7  0xf7f49d0c in thread_start_func (arg=0x8f34c40)
>     at /home/hindessm/hy/fed.x86/working_vm/vm/port/src/thread/linux/thread_os.c:106
> #8  0xf7cc20bd in start_thread () from /lib/tls/libpthread.so.0
> #9  0xf7eb201e in clone () from /lib/tls/libc.so.6
> 
> This is unlikely to relate to the HARMONY-4116 issue.
> 
> Regards,
> -Mark.
> 
> 
> 

Thanks Mark for testing this. I removed SelectorTest from exclude list at r825372.

-- 
Best Regards,
Regis.

Re: svn commit: r824625 - in /harmony/enhanced/classlib/trunk/modules/nio/src: main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Posted by Mark Hindess <ma...@googlemail.com>.
In message <4A...@gmail.com>, Regis writes:
>
> Regis wrote:
> > regisxu@apache.org wrote:
> > 
> > This commit is incorrect and causes SelectorTest failed on Windows,
> > I'll fix it soon.
>
>
> Fixed at r824652. I found SelectorTest is in exclude list of linux,
> but it passes on my linux machine. It excluded in HARMONY-4116, does
> anyone can reproduce this issue?

I ran the test 100 times on linux/x86_64 with no failures.
Wondering if it was a port selection problem (it is using the
doomed-to-intermittent-failure Support_PortManager), I ran 100 times in
parallel on two sessions on linux/x86.  I saw no failures.  If I'd have
stopped here I'd probably have been happy.  But a further 100 runs on
x86 on debian oldstable (etch) had one crash out of 100 runs with the
following stack trace:

Program terminated with signal 11, Segmentation fault.
#0  0xf7f986e7 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
(gdb) bt
#0  0xf7f986e7 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#1  0xf7f98b07 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#2  0xf7f9c2f9 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#3  0xf7f9c090 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#4  0xf7f4a7f1 in port_thread_set_priority (os_thread=3592702896, priority=5)
    at /home/hindessm/hy/fed.x86/working_vm/vm/port/src/thread/linux/thread_os.c:519
#5  0xf7f47ba1 in hythread_set_priority (thread=0x8f32ae8, priority=5)
    at /home/hindessm/hy/fed.x86/working_vm/vm/thread/src/thread_native_attrs.c:41
#6  0xf7f44a1b in hythread_wrapper_start_proc (arg=0x8f34c40)
    at /home/hindessm/hy/fed.x86/working_vm/vm/thread/src/thread_native_basic.c:804
#7  0xf7f49d0c in thread_start_func (arg=0x8f34c40)
    at /home/hindessm/hy/fed.x86/working_vm/vm/port/src/thread/linux/thread_os.c:106
#8  0xf7cc20bd in start_thread () from /lib/tls/libpthread.so.0
#9  0xf7eb201e in clone () from /lib/tls/libc.so.6

This is unlikely to relate to the HARMONY-4116 issue.

Regards,
-Mark.



Re: svn commit: r824625 - in /harmony/enhanced/classlib/trunk/modules/nio/src: main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Posted by Regis <xu...@gmail.com>.
Regis wrote:
> regisxu@apache.org wrote:
> 
> This commit is incorrect and causes SelectorTest failed on Windows, I'll 
> fix it soon.
> 

Fixed at r824652. I found SelectorTest is in exclude list of linux, but it 
passes on my linux machine. It excluded in HARMONY-4116, does anyone can 
reproduce this issue?

-- 
Best Regards,
Regis.

Re: svn commit: r824625 - in /harmony/enhanced/classlib/trunk/modules/nio/src: main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java

Posted by Regis <xu...@gmail.com>.
regisxu@apache.org wrote:
> Author: regisxu
> Date: Tue Oct 13 07:35:56 2009
> New Revision: 824625
> 
> URL: http://svn.apache.org/viewvc?rev=824625&view=rev
> Log:
> return value of Selector.select() should be same with selectedKeys.size()
> 
> Modified:
>     harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java
>     harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java
> 
> Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java?rev=824625&r1=824624&r2=824625&view=diff
> ==============================================================================
> --- harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java (original)
> +++ harmony/enhanced/classlib/trunk/modules/nio/src/main/java/common/org/apache/harmony/nio/internal/SelectorImpl.java Tue Oct 13 07:35:56 2009
> @@ -496,7 +496,10 @@
>  
>                      doCancel();
>  
> -                    return selected;
> +                    if (selected != 0) {
> +                        return selectedKeys.size();
> +                    }
> +                    return 0;
>                  }
>              }
>          }
> 
> Modified: harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java
> URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java?rev=824625&r1=824624&r2=824625&view=diff
> ==============================================================================
> --- harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java (original)
> +++ harmony/enhanced/classlib/trunk/modules/nio/src/test/java/common/org/apache/harmony/nio/tests/java/nio/channels/SelectorTest.java Tue Oct 13 07:35:56 2009
> @@ -398,6 +398,7 @@
>          thread.start();
>          do {
>              assertEquals(0, selector.select(5000)); // blocks
> +            assertEquals(0, selector.selectedKeys().size());
>          } while (!complete.get()); // avoid spurious interrupts
>          assertFalse(key.isValid());
>  
> 
> 
> 

This commit is incorrect and causes SelectorTest failed on Windows, I'll fix it 
soon.

-- 
Best Regards,
Regis.