Closed Bug 326367 Opened 19 years ago Closed 19 years ago

PR_SendFile doesn't send data on AIX

Categories

(NSPR :: NSPR, defect, P1)

Other
AIX
defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: julien.pierre, Assigned: julien.pierre)

Details

(Keywords: regression)

There is a regression in PR_TransmitFile introduced by bug 292899 in NSPR 4.6. Somehow, the invocation of odm_initialize and odm_terminate cause PR_TransmitFile to fail to send the data on AIX . Removing those calls fixes the problem.
Priority: -- → P1
Target Milestone: --- → 4.6.2
bryner: The AIX implementation of PR_GetPhysicalMemorySize breaks the NSPR function PR_TransmitFile (used by servers). If we can't fix this bug and have to unimplement PR_GetPhysicalMemorySize on AIX, will the Mozilla clients be able to handle that gracefully? Julien: the NSPR test program "socket.c" tests the PR_TransmitFile function. Is the "socket.c" test failing on AIX? Since Sun runs NSPR test suite on AIX, which is why bug 307589 was discovered, I'm wondering why this bug wasn't discovered by the "socket.c" test. I can't work on this bug because I don't have an AIX system.
Assignee: wtchang → julien.pierre.bugs
Keywords: regression
Version: 4.6.1 → 4.6
We run the test every night on AIX. Here is the output of the "socket" test: BEGIN TEST: socket 'PR_NewSem' is obsolete. Use 'locks & condition variables' instead. 'PR_WaitSem' is obsolete. Use 'locks & condition variables' instead. 'PR_PostSem' is obsolete. Use 'locks & condition variables' instead. TCP Client/Server Test - IPv4/Ipv4 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv6/Ipv4 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv4/Ipv6 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed TCP Client/Server Test - IPv6/Ipv6 TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv4/Ipv4 UDP_Socket_Client_Server_Test: 1 Server 10 Clients : 5 datagrams_per_client 128 bytes_per_datagram UDP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv6/Ipv4 UDP_Socket_Client_Server_Test: 1 Server 10 Clients : 5 datagrams_per_client 128 bytes_per_datagram UDP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv4/Ipv6 UDP_Socket_Client_Server_Test: 1 Server 10 Clients : 5 datagrams_per_client 128 bytes_per_datagram UDP_Socket_Client_Server_Test Passed UDP Client/Server Test - IPv6/Ipv6 UDP_Socket_Client_Server_Test: 1 Server 10 Clients : 5 datagrams_per_client 128 bytes_per_datagram UDP_Socket_Client_Server_Test Passed Socket_Misc_Test : 1 Server 4 Clients : Sizes of Transmitted Files - 3 KB, 3 MB Socket_Misc_Test passed TCP_Socket_Client_Server_Test: 1 Server 5 Clients 5 connections_per_client : 10 messages_per_connection 1024 bytes_per_message TCP_Socket_Client_Server_Test Passed END TEST: socket
Wan-Teh, I haven't been able to directly verify that PR_TransmitFile is failing due to the problem with switching optimized and debug bits, but it is a pretty good bet. The symptom is that our web server fails to serve static pages. It successfully serves other pages that are dynamically generated, such as error responses. Is it possible that the OS function returns success and that makes the NSPR test pass ? I ran the test myself and it passed, but did not try to debug it. Anyway, Christophe installed the AIX maintenance package 5100-09, and this problem disappeared. So I am going to close this as WORKSFORME.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
Julien, I don't know.
The web server uses PR_SendFile, not PR_TransmitFile, so the problem couldn't have been in PR_TransmitFile. Correcting the description. I didn't study the NSPR test cases long enough to figure out why they didn't pick up this problem on the unpatched machine.
Summary: PR_TransmitFile doesn't send data on AIX → PR_SendFile doesn't send data on AIX
You need to log in before you can comment on or make changes to this bug.