harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Deakin <oliver.dea...@googlemail.com>
Subject Re: [result] Accept JDWP contribution in HARMONY-6187
Date Wed, 15 Jul 2009 08:38:42 GMT
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 

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?


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() 
  4: 0x962f57ee  jdwp::PacketDispatcher::Run(JNIEnv_External*) 
  5: 0x962f70a6  jdwp::PacketDispatcher::StartFunction(jvmtiEnv_struct*, 
JNIEnv_External*, void*) (TransportManager_pd.cpp:-1)
  6: 0xb76ea846  jthread_wrapper_start_proc(void*) 
  7: 0xb7f274b8  thread_start_func (thread_os.c:106)
  8: 0xb7c86f3b  start_thread (??:-1)
  9: 0xb7e84bee  __clone (??:-1)
<end of stack trace>

Crashed module:
(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<oliver.deakin@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.
>>>>> 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
>>>>> 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
>>>>> 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
>>>>> that work out in the open once it is committed. Please let me know if
>>>>> are any objections/comments to this contribution! I'll give it a few
>>>>> 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

View raw message