Hi Alan,

Below is the response we got from the AIX team.

===>what happens if pthread_kill(thread, SGRTMAX-1) is called and the target 
thread is NOT in the read/write syscalls
The expected behavior is thread will get interrupted and it will call the 
signal handler. in the case of this process it has a special signal handler for 
the signal 56. It will continue from the instruction it was in after returning 
back from the signal handler.


Thanks
Shruthi

________________________________
From: Shruthi . <shruthi.shrut...@ibm.com>
Sent: Saturday, February 22, 2025 11:05 AM
To: Alan Bateman <alan.bate...@oracle.com>; net-dev@openjdk.org 
<net-dev@openjdk.org>
Cc: Syed Moinudeen <smoin...@in.ibm.com>
Subject: Re: [EXTERNAL] Re: Suggestion needed to port the fix to JDK17 and 
JDK11S

Hi Alan,

We have reached out to the AIX team regarding your query and we are waiting 
their response. Meanwhile, we are also investigating the issue. Based on the 
logs, it appears that the block is occurring between the close and preClose() 
calls, ans poll() in a parked state.

Thanks
Shruthi

________________________________
From: Alan Bateman <alan.bate...@oracle.com>
Sent: Friday, February 14, 2025 2:14 PM
To: Shruthi . <shruthi.shrut...@ibm.com>; net-dev@openjdk.org 
<net-dev@openjdk.org>
Cc: Syed Moinudeen <smoin...@in.ibm.com>
Subject: [EXTERNAL] Re: Suggestion needed to port the fix to JDK17 and JDK11S

This Message Is From an External Sender
This message came from outside your organization.
Report 
Suspicious<https://us-phishalarm-ewt.proofpoint.com/EWT/v1/AdhS1Rd-!99FRGBbSkiWx1TbZ5KTKMrLTSRtWg0uRPhJQ9gyMzN2en9jnS860BbMMokSeYtQbELmk-cTHRf_7dCL17AOuY030w9uiJjlEIL4sog$>

On 14/02/2025 08:18, Shruthi . wrote:
Hi Alan,

Reordering preClose() in AIX resolves the customer issue. We have validated the 
fix, and the customer has confirmed it as well.

It may have resolved your customer issue but I'm not yet convinced it's a 
robust workaround for the AIX issue.  Can you check with your AIX team on how 
happens if pthread_kill(thread, SGRTMAX-1) is called and the target thread is 
in not in the read/write syscalls. It looks to me that the signal won't be 
handled and the thread may continue on and block in read/write. With your patch 
then thread calling the close method will do the dup2 and hang as before. It's 
the window between setting readerThread/writerThread and blocking in the 
read/write syscalls that you need to look at.

-Alan

Reply via email to