DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17453>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17453

apache refuses to serve files > 2GB in size

           Summary: apache refuses to serve files > 2GB in size
           Product: Apache httpd-1.3
           Version: 1.3.23
          Platform: Sun
        OS/Version: Solaris
            Status: NEW
          Severity: Major
          Priority: Other
         Component: core
        AssignedTo: [email protected]
        ReportedBy: [EMAIL PROTECTED]


apache will not stream a large file.  server is syrinx.  client is
install-qrbldsp.  This happens with all versions including 2.0.43.

[EMAIL PROTECTED]:/export/ni> uname -a
SunOS syrinx 5.9 Generic sun4u sparc SUNW,Ultra-60
[EMAIL PROTECTED]:/export/ni> grep ^DocumentRoot /etc/apache/httpd.conf
DocumentRoot "/export"
[EMAIL PROTECTED]:/export/ni> /usr/apache/bin/httpd -version
Server version: Apache/1.3.12 (Unix)
Server built:   Oct 17 2000 14:52:39
[EMAIL PROTECTED]:/export/ni> pgrep httpd
2895
2899
2896
2897
2894
2900
4828
2898

[EMAIL PROTECTED]:/export/ni> ls -l *file
-rw-r--r--   1 root     other    2318311396 Nov 15 14:56 hugefile
-rw-r--r--   1 root     other         21 Nov 15 17:25 smallfile
[EMAIL PROTECTED]:/export/ni> cat smallfile
this is a small file


Now.. I go to another machine and try to get these files.  I can
retrieve the small one just fine.  The large one doesn't go so well:


[EMAIL PROTECTED]:/tmp> telnet syrinx 80
Trying 129.146.89.216...
Connected to syrinx.
Escape character is '^]'.
GET /ni/smallfile HTTP/1.0
Host: syrinx   

HTTP/1.1 200 OK
Date: Thu, 16 Nov 2000 01:28:11 GMT
Server: Apache/1.3.12 (Unix) mod_perl/1.24 ApacheJserv/1.1.2
Last-Modified: Thu, 16 Nov 2000 01:25:10 GMT
ETag: "4c50e-15-3a133776"
Accept-Ranges: bytes
Content-Length: 21
Connection: close
Content-Type: text/plain

this is a small file
Connection closed by foreign host.
[EMAIL PROTECTED]:/tmp> telnet syrinx 80
Trying 129.146.89.216...
Connected to syrinx.
Escape character is '^]'.
GET /ni/hugefile HTTP/1.0
Host: syrinx

HTTP/1.1 403 Forbidden
Date: Thu, 16 Nov 2000 01:28:24 GMT
Server: Apache/1.3.12 (Unix) mod_perl/1.24 ApacheJserv/1.1.2
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>403 Forbidden</TITLE>
</HEAD><BODY>
<H1>Forbidden</H1>
You don't have permission to access /ni/hugefile
on this server.<P>
<HR>
<ADDRESS>Apache/1.3.12 Server at syrinx Port 80</ADDRESS>
</BODY></HTML>
Connection closed by foreign host.

I got lucky and picked the right http process to truss.. Here's what
it gets:

# truss -p -f 4924
4924:   accept(16, 0xFFBEF9C4, 0xFFBEF9D4, 1) (sleeping...)
4924:   accept(16, 0xFFBEF9C4, 0xFFBEF9D4, 1)           = 5
4924:   fcntl(18, F_SETLKW, 0x00071158)                 = 0
4924:   sigaction(SIGUSR1, 0xFFBEF888, 0xFFBEF908)      = 0
4924:   getsockname(5, 0xFFBEF9B4, 0xFFBEF9D4, 1)       = 0
4924:   setsockopt(5, 6, 1, 0xFFBEF944, 4, 1)           = 0
4924:   read(5, 0x00083D50, 4096)       (sleeping...)
4924:   read(5, " G E T   / n i / h u g e".., 4096)     = 27
4924:   sigaction(SIGUSR1, 0xFFBED7B8, 0xFFBED838)      = 0
4924:   time()                                          = 974338384
4924:   read(5, " H o s t :   s y r i n x".., 4096)     = 14
4924:   read(5, 0x00083D50, 4096)       (sleeping...)
4924:   read(5, "\r\n", 4096)                           = 2
4924:   stat("/export/ni/hugefile", 0x000EBCE8)         Err#79 EOVERFLOW
4924:   time()                                          = 974338385
4924:   write(15, " [ W e d   N o v   1 5  ".., 131)    = 131
4924:   write(5, " H T T P / 1 . 1   4 0 3".., 461)     = 461
4924:   time()                                          = 974338385
4924:   write(17, " 1 9 2 . 1 6 8 . 9 0 . 6".., 83)     = 83
4924:   shutdown(5, 1, 1)                               = 0
4924:   poll(0xFFBEF618, 1, 2000)                       = 1
4924:   read(5, 0xFFBEF6C0, 512)                        = 0
4924:   close(5)                                        = 0
4924:   sigaction(SIGUSR1, 0xFFBEF888, 0xFFBEF908)      = 0
4924:   fcntl(18, F_SETLKW, 0x0007117C) (sleeping...)

So it's an EOVERFLOW.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to