You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Oliver Deakin <ol...@googlemail.com> on 2009/06/25 16:40:57 UTC

Re: [result] Accept JDWP contribution in HARMONY-6187

Just a heads up, Im going to start working on committing the accepted 
JDWP contribution into the Java 6 branch.

Regards,
Oliver

Oliver Deakin wrote:
> +1 votes from Sean, Jimmy, Gregory, Jim, Alexey, Nathan, Regis, Kevin, 
> Pavel, Sian, Alexei, Mark, Tim, Tony and Ilya.
>
> No other votes, so the vote passes.
>
> Thanks all for voting - I will wait until after M10 to check in the 
> code since we are about to enter feature freeze.
>
> Regards,
> Oliver
>
>
> Oliver Deakin wrote:
>> Hi all,
>>
>> It's been a week since I sent out the initial mail about this 
>> contribution and opinion seems positive so I'd like to open a vote to 
>> officially accept the contribution.
>>
>> [ ] +1 Accept this contribution
>> [ ] -1 Reject this contribution because...
>>
>> I'll conclude the vote in 3 days as usual, unless anyone needs more 
>> time.
>>
>> Regards,
>> Oliver
>>
>>
>> Oliver Deakin wrote:
>>> Hi all,
>>>
>>> A little while ago, IBM created a mirror of the Java 6 jdktools 
>>> branch so that we could start bringing Harmony JDWP into the IBM 
>>> Java releases. We began working in that mirror because it was 
>>> convenient for our internal builds, with a plan to reflect all 
>>> changes we made back into Harmony as we went. Unfortunately, as 
>>> deadlines drew in and releases came and went those plans did not 
>>> come into fruition - until now :)
>>>
>>> I'd like to announce the contribution of an enhanced Java 6 level 
>>> JDWP agent and socket transport layer. It has been attached to 
>>> HARMONY-6187 [1] for everyone to try out - please take a look. It 
>>> has the following enhancements:
>>> - A large number of bug fixes.
>>> - Ported to a wide variety of platforms - Linux x86/x86_64, Linux 
>>> PPC 32/64, zLinux 31/64, Windows x86/x86_64, AIX PPC 32/64 and zOS 
>>> 31/64.
>>> - As part of the porting process, all non-portable C++ usage has 
>>> been removed and rewritten, particularly use of C++ standard libraries.
>>> - JSR 45 support implemented. The new JDWP agent allows debugging of 
>>> non-Java stratum code running on the VM, for example JSPs.
>>> - Significant performance improvements.
>>>
>>> All authors already have ACQs recorded. There may be some more work 
>>> to be done to get the new JDWP functioning 100% with Harmony, but 
>>> I'd rather do that work out in the open once it is committed. Please 
>>> let me know if there are any objections/comments to this 
>>> contribution! I'll give it a few days and then start a vote.
>>>
>>> Regards,
>>> Oliver
>>>
>>> [1] https://issues.apache.org/jira/browse/HARMONY-6187
>>>
>>>
>>
>

-- 
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Oliver Deakin <ol...@googlemail.com>.
I have committed the jdktools changes into the Java 6 branch at r794726.

I am going to raise JIRAs for the known issues and test failures bit by 
bit so they are visible by all, and of course help fixing them is very 
welcome :)

Regards,
Oliver

Oliver Deakin wrote:
> Tim Ellison wrote:
>> On 15/Jul/2009 09:38, Oliver Deakin wrote:
>>  
>>> I committed the classlib part of this patch last week and am ready to
>>> commit the working_jdktools part now. There are two issues I have come
>>> across:
>>>
>>> <SNIP>
>>>
>>> Does anyone have any comments/objections to my committing the code in
>>> it's current state?
>>>     
>>
>> Go for it.  Assuming it does not break any of the existing committer
>> tests then you'll have time to fix it up before the next milestone.
>>   
>
> I have been running the JDWP junit tests we have in Harmony today and 
> I am seeing a few failures, most of which seem to be caused by 
> receiving an unexpected event (in this case VM_DEATH). From the JDWP 
> trace it actually looks like we get the expected events for the test 
> followed by VM_DEATH to indicate the debugee is shutting down, but 
> there is perhaps a timing hole in some of the tests which cause us to 
> miss the events we are looking for. I'm investigating  the cause at 
> the moment, but I would still like to commit the code so it's out of 
> my local sandbox (and so some more eyes can take a look).
>
> If noone objects, Ill commit the code tomorrow.
>
> Regards,
> Oliver
>
>> Regards,
>> Tim
>>
>>   
>

-- 
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Oliver Deakin <ol...@googlemail.com>.
Tim Ellison wrote:
> On 15/Jul/2009 09:38, Oliver Deakin wrote:
>   
>> I committed the classlib part of this patch last week and am ready to
>> commit the working_jdktools part now. There are two issues I have come
>> across:
>>
>> <SNIP>
>>
>> Does anyone have any comments/objections to my committing the code in
>> it's current state?
>>     
>
> Go for it.  Assuming it does not break any of the existing committer
> tests then you'll have time to fix it up before the next milestone.
>   

I have been running the JDWP junit tests we have in Harmony today and I 
am seeing a few failures, most of which seem to be caused by receiving 
an unexpected event (in this case VM_DEATH). From the JDWP trace it 
actually looks like we get the expected events for the test followed by 
VM_DEATH to indicate the debugee is shutting down, but there is perhaps 
a timing hole in some of the tests which cause us to miss the events we 
are looking for. I'm investigating  the cause at the moment, but I would 
still like to commit the code so it's out of my local sandbox (and so 
some more eyes can take a look).

If noone objects, Ill commit the code tomorrow.

Regards,
Oliver

> Regards,
> Tim
>
>   

-- 
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Tim Ellison <t....@gmail.com>.
On 15/Jul/2009 09:38, Oliver Deakin wrote:
> I committed the classlib part of this patch last week and am ready to
> commit the working_jdktools part now. There are two issues I have come
> across:
> 
> 1) In trace output, the seconds part of the time stamp is garbled. I'm
> not sure exactly what is causing this right now, but I get a feeling
> there might be a problem in our str_ftime port library function.
> 2) On Linux, I see a crash during shutdown when debugging. It appears
> that as the JDWP agent is shutting down it starts freeing up some of the
> resources it's been using, including the sockets, before other parts of
> the agent are finished using them. We then make a
> hysock_set_nonblocking() call with what appears to be a null/bad socket,
> and this crashes having passed that socket to ioctl() [1]. It looks to
> be a timing issue - I think the shutdown phase of the agent needs closer
> inspection to make sure that resources are not freed while they are
> still being used.
> 
> Although these issues still exist, I would like to commit the code to
> the Java 6 branch so I can continue working on fixes for them directly
> in Harmony, rather than my local workspace, and also to allow others to
> try out the new agent. Once committed, Ill raise a JIRA for both of
> these issues to keep track of them.
> 
> Does anyone have any comments/objections to my committing the code in
> it's current state?

Go for it.  Assuming it does not break any of the existing committer
tests then you'll have time to fix it up before the next milestone.

Regards,
Tim

Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Mark Hindess <ma...@googlemail.com>.
I'm +1 for committing to java6 branch and fixing in the community.
-Mark.

In message <4A...@googlemail.com>, Oliver Deakin writes:
>
> I committed the classlib part of this patch last week and am ready to 
> commit the working_jdktools part now. There are two issues I have come 
> across:
> 
> 1) In trace output, the seconds part of the time stamp is garbled. I'm 
> not sure exactly what is causing this right now, but I get a feeling 
> there might be a problem in our str_ftime port library function.
> 2) On Linux, I see a crash during shutdown when debugging. It appears 
> that as the JDWP agent is shutting down it starts freeing up some of the 
> resources it's been using, including the sockets, before other parts of 
> the agent are finished using them. We then make a 
> hysock_set_nonblocking() call with what appears to be a null/bad socket, 
> and this crashes having passed that socket to ioctl() [1]. It looks to 
> be a timing issue - I think the shutdown phase of the agent needs closer 
> inspection to make sure that resources are not freed while they are 
> still being used.
> 
> Although these issues still exist, I would like to commit the code to 
> the Java 6 branch so I can continue working on fixes for them directly 
> in Harmony, rather than my local workspace, and also to allow others to 
> try out the new agent. Once committed, Ill raise a JIRA for both of 
> these issues to keep track of them.
> 
> Does anyone have any comments/objections to my committing the code in 
> it's current state?
> 
> Regards,
> Oliver
> 
> [1]
> Stack trace:
>   0: 0xb7f0c6f1  hysock_set_nonblocking (hysock.c:2724)
>   1: 0x95d2d0fb  SetSocketBlockingMode(_jdwpTransportEnv*, 
> hysocket_struct*, bool) (SocketTransport.cpp:-1)
>   2: 0x95d2d9f5  TCPIPSocketTran_Accept(_jdwpTransportEnv*, long long, 
> long long) (SocketTransport.cpp:-1)
>   3: 0x9630e7b0  jdwp::TransportManager::Connect() 
> (TransportManager_pd.cpp:-1)
>   4: 0x962f57ee  jdwp::PacketDispatcher::Run(JNIEnv_External*) 
> (TransportManager_pd.cpp:-1)
>   5: 0x962f70a6  jdwp::PacketDispatcher::StartFunction(jvmtiEnv_struct*, 
> JNIEnv_External*, void*) (TransportManager_pd.cpp:-1)
>   6: 0xb76ea846  jthread_wrapper_start_proc(void*) 
> (thread_java_basic.cpp:167)
>   7: 0xb7f274b8  thread_start_func (thread_os.c:106)
>   8: 0xb7c86f3b  start_thread (??:-1)
>   9: 0xb7e84bee  __clone (??:-1)
> <end of stack trace>
> 
> Crashed module:
> /home/odeakin/svn-checkouts/fed6/target/hdk/jdk/jre/bin/libhyprt.so
> (JNI native library)
> 
> VM attached threads:
> 
> --->[0x95ca9b90]  '_jdwp_PacketDispatcher'
>     [0x95d2ab90]  '_jdwp_EventDispatcher'
>     [0xb7c728e0]  'destroy'
> Segmentation fault



Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Oliver Deakin <ol...@googlemail.com>.
I committed the classlib part of this patch last week and am ready to 
commit the working_jdktools part now. There are two issues I have come 
across:

1) In trace output, the seconds part of the time stamp is garbled. I'm 
not sure exactly what is causing this right now, but I get a feeling 
there might be a problem in our str_ftime port library function.
2) On Linux, I see a crash during shutdown when debugging. It appears 
that as the JDWP agent is shutting down it starts freeing up some of the 
resources it's been using, including the sockets, before other parts of 
the agent are finished using them. We then make a 
hysock_set_nonblocking() call with what appears to be a null/bad socket, 
and this crashes having passed that socket to ioctl() [1]. It looks to 
be a timing issue - I think the shutdown phase of the agent needs closer 
inspection to make sure that resources are not freed while they are 
still being used.

Although these issues still exist, I would like to commit the code to 
the Java 6 branch so I can continue working on fixes for them directly 
in Harmony, rather than my local workspace, and also to allow others to 
try out the new agent. Once committed, Ill raise a JIRA for both of 
these issues to keep track of them.

Does anyone have any comments/objections to my committing the code in 
it's current state?

Regards,
Oliver

[1]
Stack trace:
  0: 0xb7f0c6f1  hysock_set_nonblocking (hysock.c:2724)
  1: 0x95d2d0fb  SetSocketBlockingMode(_jdwpTransportEnv*, 
hysocket_struct*, bool) (SocketTransport.cpp:-1)
  2: 0x95d2d9f5  TCPIPSocketTran_Accept(_jdwpTransportEnv*, long long, 
long long) (SocketTransport.cpp:-1)
  3: 0x9630e7b0  jdwp::TransportManager::Connect() 
(TransportManager_pd.cpp:-1)
  4: 0x962f57ee  jdwp::PacketDispatcher::Run(JNIEnv_External*) 
(TransportManager_pd.cpp:-1)
  5: 0x962f70a6  jdwp::PacketDispatcher::StartFunction(jvmtiEnv_struct*, 
JNIEnv_External*, void*) (TransportManager_pd.cpp:-1)
  6: 0xb76ea846  jthread_wrapper_start_proc(void*) 
(thread_java_basic.cpp:167)
  7: 0xb7f274b8  thread_start_func (thread_os.c:106)
  8: 0xb7c86f3b  start_thread (??:-1)
  9: 0xb7e84bee  __clone (??:-1)
<end of stack trace>

Crashed module:
/home/odeakin/svn-checkouts/fed6/target/hdk/jdk/jre/bin/libhyprt.so
(JNI native library)

VM attached threads:

--->[0x95ca9b90]  '_jdwp_PacketDispatcher'
    [0x95d2ab90]  '_jdwp_EventDispatcher'
    [0xb7c728e0]  'destroy'
Segmentation fault


Tony Wu wrote:
> Thanks Oliver, pls go ahead!
>
> On Thu, Jun 25, 2009 at 10:40 PM, Oliver
> Deakin<ol...@googlemail.com> wrote:
>   
>> Just a heads up, Im going to start working on committing the accepted JDWP
>> contribution into the Java 6 branch.
>>
>> Regards,
>> Oliver
>>
>> Oliver Deakin wrote:
>>     
>>> +1 votes from Sean, Jimmy, Gregory, Jim, Alexey, Nathan, Regis, Kevin,
>>> Pavel, Sian, Alexei, Mark, Tim, Tony and Ilya.
>>>
>>> No other votes, so the vote passes.
>>>
>>> Thanks all for voting - I will wait until after M10 to check in the code
>>> since we are about to enter feature freeze.
>>>
>>> Regards,
>>> Oliver
>>>
>>>
>>> Oliver Deakin wrote:
>>>       
>>>> Hi all,
>>>>
>>>> It's been a week since I sent out the initial mail about this
>>>> contribution and opinion seems positive so I'd like to open a vote to
>>>> officially accept the contribution.
>>>>
>>>> [ ] +1 Accept this contribution
>>>> [ ] -1 Reject this contribution because...
>>>>
>>>> I'll conclude the vote in 3 days as usual, unless anyone needs more time.
>>>>
>>>> Regards,
>>>> Oliver
>>>>
>>>>
>>>> Oliver Deakin wrote:
>>>>         
>>>>> Hi all,
>>>>>
>>>>> A little while ago, IBM created a mirror of the Java 6 jdktools branch
>>>>> so that we could start bringing Harmony JDWP into the IBM Java releases. We
>>>>> began working in that mirror because it was convenient for our internal
>>>>> builds, with a plan to reflect all changes we made back into Harmony as we
>>>>> went. Unfortunately, as deadlines drew in and releases came and went those
>>>>> plans did not come into fruition - until now :)
>>>>>
>>>>> I'd like to announce the contribution of an enhanced Java 6 level JDWP
>>>>> agent and socket transport layer. It has been attached to HARMONY-6187 [1]
>>>>> for everyone to try out - please take a look. It has the following
>>>>> enhancements:
>>>>> - A large number of bug fixes.
>>>>> - Ported to a wide variety of platforms - Linux x86/x86_64, Linux PPC
>>>>> 32/64, zLinux 31/64, Windows x86/x86_64, AIX PPC 32/64 and zOS 31/64.
>>>>> - As part of the porting process, all non-portable C++ usage has been
>>>>> removed and rewritten, particularly use of C++ standard libraries.
>>>>> - JSR 45 support implemented. The new JDWP agent allows debugging of
>>>>> non-Java stratum code running on the VM, for example JSPs.
>>>>> - Significant performance improvements.
>>>>>
>>>>> All authors already have ACQs recorded. There may be some more work to
>>>>> be done to get the new JDWP functioning 100% with Harmony, but I'd rather do
>>>>> that work out in the open once it is committed. Please let me know if there
>>>>> are any objections/comments to this contribution! I'll give it a few days
>>>>> and then start a vote.
>>>>>
>>>>> Regards,
>>>>> Oliver
>>>>>
>>>>> [1] https://issues.apache.org/jira/browse/HARMONY-6187
>>>>>
>>>>>
>>>>>           
>> --
>> Oliver Deakin
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with number
>> 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
>> PO6 3AU
>>
>>
>>     
>
>
>
>   

-- 
Oliver Deakin
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


Re: [result] Accept JDWP contribution in HARMONY-6187

Posted by Tony Wu <wu...@gmail.com>.
Thanks Oliver, pls go ahead!

On Thu, Jun 25, 2009 at 10:40 PM, Oliver
Deakin<ol...@googlemail.com> wrote:
> Just a heads up, Im going to start working on committing the accepted JDWP
> contribution into the Java 6 branch.
>
> Regards,
> Oliver
>
> Oliver Deakin wrote:
>>
>> +1 votes from Sean, Jimmy, Gregory, Jim, Alexey, Nathan, Regis, Kevin,
>> Pavel, Sian, Alexei, Mark, Tim, Tony and Ilya.
>>
>> No other votes, so the vote passes.
>>
>> Thanks all for voting - I will wait until after M10 to check in the code
>> since we are about to enter feature freeze.
>>
>> Regards,
>> Oliver
>>
>>
>> Oliver Deakin wrote:
>>>
>>> Hi all,
>>>
>>> It's been a week since I sent out the initial mail about this
>>> contribution and opinion seems positive so I'd like to open a vote to
>>> officially accept the contribution.
>>>
>>> [ ] +1 Accept this contribution
>>> [ ] -1 Reject this contribution because...
>>>
>>> I'll conclude the vote in 3 days as usual, unless anyone needs more time.
>>>
>>> Regards,
>>> Oliver
>>>
>>>
>>> Oliver Deakin wrote:
>>>>
>>>> Hi all,
>>>>
>>>> A little while ago, IBM created a mirror of the Java 6 jdktools branch
>>>> so that we could start bringing Harmony JDWP into the IBM Java releases. We
>>>> began working in that mirror because it was convenient for our internal
>>>> builds, with a plan to reflect all changes we made back into Harmony as we
>>>> went. Unfortunately, as deadlines drew in and releases came and went those
>>>> plans did not come into fruition - until now :)
>>>>
>>>> I'd like to announce the contribution of an enhanced Java 6 level JDWP
>>>> agent and socket transport layer. It has been attached to HARMONY-6187 [1]
>>>> for everyone to try out - please take a look. It has the following
>>>> enhancements:
>>>> - A large number of bug fixes.
>>>> - Ported to a wide variety of platforms - Linux x86/x86_64, Linux PPC
>>>> 32/64, zLinux 31/64, Windows x86/x86_64, AIX PPC 32/64 and zOS 31/64.
>>>> - As part of the porting process, all non-portable C++ usage has been
>>>> removed and rewritten, particularly use of C++ standard libraries.
>>>> - JSR 45 support implemented. The new JDWP agent allows debugging of
>>>> non-Java stratum code running on the VM, for example JSPs.
>>>> - Significant performance improvements.
>>>>
>>>> All authors already have ACQs recorded. There may be some more work to
>>>> be done to get the new JDWP functioning 100% with Harmony, but I'd rather do
>>>> that work out in the open once it is committed. Please let me know if there
>>>> are any objections/comments to this contribution! I'll give it a few days
>>>> and then start a vote.
>>>>
>>>> Regards,
>>>> Oliver
>>>>
>>>> [1] https://issues.apache.org/jira/browse/HARMONY-6187
>>>>
>>>>
>>>
>>
>
> --
> Oliver Deakin
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number
> 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire
> PO6 3AU
>
>



-- 
Tony Wu
China Software Development Lab, IBM