PR_SendFile doesn't send data on AIX

RESOLVED WORKSFORME

Status

NSPR
NSPR
P1
normal
RESOLVED WORKSFORME
12 years ago
12 years ago

People

(Reporter: Julien Pierre, Assigned: Julien Pierre)

Tracking

({regression})

4.6.2
Other
AIX
regression

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

12 years ago
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.
(Assignee)

Updated

12 years ago
Priority: -- → P1
Target Milestone: --- → 4.6.2

Comment 1

12 years ago
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

Comment 2

12 years ago
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


(Assignee)

Comment 3

12 years ago
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
Last Resolved: 12 years ago
Resolution: --- → WORKSFORME

Comment 4

12 years ago
Julien, I don't know.
(Assignee)

Comment 5

12 years ago
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.