I'm +1 for committing to java6 branch and fixing in the community.
-Mark.
In message <4a5d9592.1040...@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