Closed Bug 326367 Opened 18 years ago Closed 18 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: 18 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.