harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Hindess <mark.hind...@googlemail.com>
Subject Re: [result] Accept JDWP contribution in HARMONY-6187
Date Wed, 15 Jul 2009 10:08:59 GMT
I'm +1 for committing to java6 branch and fixing in the community.
-Mark.

In message <4A5D9592.1040404@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



Mime
View raw message