This seems like it'd a nice thing to be able to possibly toggle on and
off. I haven't seen anything about it since it was posted. Does anyone
have any thoughts? I know i've run into this issue in the past too.
Adam
--- Begin Message ---
Hello,
>From what I've read, Apache should understand that it needs to apply the
byterange filter whenever $r->sendfile is called and the Range: header is
present in the incoming request. However what I'm seeing is that the entire
file is returned for each byte range requested by the client.
Access log serving off disk in Apache2:
*.*.*.* - - [17/Jun/2009:19:50:30 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 1 "-" "-"
*.*.*.* - - [17/Jun/2009:19:50:31 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 435996 "-" "-"
*.*.*.* - - [17/Jun/2009:19:50:30 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 2097152 "-" "-"
Serving from perl handler:
*.*.*.* - - [18/Jun/2009:10:11:43 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
*.*.*.* - - [18/Jun/2009:10:11:45 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
*.*.*.* - - [18/Jun/2009:10:11:45 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:
Hello,
From what I've read, Apache should understand that it needs to apply the
byterange filter whenever $r->sendfile is called and the Range: header is
present in the incoming request. However what I'm seeing is that the entire
file is returned for each byte range requested by the client.
Access log serving off disk in Apache2:
*.*.*.* - - [17/Jun/2009:19:50:30 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 1 "-" "-"
*.*.*.* - - [17/Jun/2009:19:50:31 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 435996 "-" "-"
*.*.*.* - - [17/Jun/2009:19:50:30 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 206 2097152 "-" "-"
Serving from perl handler:
*.*.*.* - - [18/Jun/2009:10:11:43 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
*.*.*.* - - [18/Jun/2009:10:11:45 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
*.*.*.* - - [18/Jun/2009:10:11:45 -0400] "GET /mygcx/test/flvplayernew17.flv
HTTP/1.1" 200 2533148 "-" "-"
2. Used Components and their Configuration:
*** mod_perl version 2.000004
*** using
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/Apache2/BuildConfig.pm
*** Makefile.PL options:
MP_APR_CONFIG => /usr/bin/apr-1-config
MP_APR_LIB => aprext
MP_APXS => /usr/sbin/apxs
MP_COMPAT_1X => 1
MP_GENERATE_XS => 1
MP_LIBNAME => mod_perl
MP_USE_DSO => 1
*** httpd
Server version: Apache/2.2.3
Server built: May 10 2009 11:14:09
Server's Module Magic Number: 20051115:3
Server loaded: APR 1.2.7, APR-Util 1.2.7
Compiled using: APR 1.2.7, APR-Util 1.2.7
Architecture: 32-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/prefork"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_LOCKFILE="logs/accept.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
*** (apr|apu)-config linking info
-laprutil-1 -lldap -llber -ldb-4.3 -lexpat
-lapr-1 -lpthread -ldl
*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=linux, osvers=2.6.18-128.1.1.el5, archname=i386-linux-thread-multi
uname='linux hs20-bc2-5.build.redhat.com 2.6.18-128.1.1.el5 #1 smp mon jan
26 13:58:24 est 2009 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2
-fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
-mtune=generic -fasynchronous-unwind-tables -Dversion=5.8.8
-Dmyhostname=localhost -dperladmin=r...@localhost -Dcc=gcc -Dcf_by=Red Hat,
Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
-Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads
-Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow
-Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005
-Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto
-Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto
-Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto
-Dinc_version_list=5.8.7 5.8.6 5.8.5 -Dscriptdir=/usr/bin'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='4.1.2 20080704 (Red Hat 4.1.2-44)',
gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.5.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.5'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E
-Wl,-rpath,/usr/lib/perl5/5.8.8/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic
-fasynchronous-unwind-tables -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
PERL_MALLOC_WRAP USE_ITHREADS USE_LARGE_FILES
USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Mar 25 2009 11:14:47
%ENV:
PERL_LWP_USE_HTTP_10="1"
@INC:
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/vendor_perl/5.8.7
/usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/5.8.8
.
*** Packages of interest status:
Apache2 : -
Apache2::Request : -
CGI : 3.15
ExtUtils::MakeMaker: 6.52
LWP : 5.805
mod_perl : -
mod_perl2 : 2.000004
3. This is the core dump trace: (if you get a core dump):
[CORE TRACE COMES HERE]
This report was generated by /usr/bin/mp2bug on Thu Jun 25 17:58:16 2009 GMT.
-------------8<---------- End Bug Report --------------8<----------
Note: Complete the rest of the details and post this bug report to
modperl <at> perl.apache.org. To subscribe to the list send an empty
email to modperl-subscr...@perl.apache.org.
mod_perl2-sendfile-bug.tar.gz
Description: GNU Zip compressed data
--- End Message ---
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@perl.apache.org
For additional commands, e-mail: dev-h...@perl.apache.org