Summary: | Apache is only serving the first character in the requested file. | ||
---|---|---|---|
Product: | Apache httpd-2 | Reporter: | Devin Samarin <eboyjr14> |
Component: | All | Assignee: | Apache HTTPD Bugs Mailing List <bugs> |
Status: | RESOLVED LATER | ||
Severity: | major | CC: | eboyjr14 |
Priority: | P2 | Keywords: | MassUpdate |
Version: | 2.2.11 | ||
Target Milestone: | --- | ||
Hardware: | Other | ||
OS: | Linux | ||
Attachments: | Patch to fix segfaults and incorrect realm values in mod_auth_digest |
Description
Devin Samarin
2009-05-04 20:23:46 UTC
Any difference after disabling sendfile and MMAP? http://httpd.apache.org/docs/2.2/mod/core.html#enablemmap http://httpd.apache.org/docs/2.2/mod/core.html#enablesendfile Eric, the "Content-Length: 1" is from stat() unless there's a very odd filter enabled, right? Whoops... in the response header in the example.. I left out 'Accept-Ranges: bytes'. Maybe it is a problem with the range requests? I added EnableMMAP Off EnableSendfile Off and no success I commented out each one separately and also no success Agreed that this is weird. On the off chance that it's a compiler or runtime library bug, you might try with the latest gcc or glibc. Wow ugh this sucks :P I installed the latest GCC (4.4.0) and Glibc (2.10.1) and still the same problem... I wonder what I could mention to make it easier to find the problem... ****************** root[ /srv/www/htdocs ] # gcc -v Using built-in specs. Target: i686-pc-linux-gnu Configured with: ../gcc-4.4.0/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++ --disable-multilib --disable-bootstrap Thread model: posix gcc version 4.4.0 (GCC) root[ /srv/www/htdocs ] # locale -V locale (GNU libc) 2.10.1 Copyright (C) 2009 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Ulrich Drepper. root[ /srv/www/htdocs ] # ****************** I compiled as root. I'll post the output of 'env' (which is when I compiled glibc and apache) ****************** GNU nano 2.0.7 File: /root/ugh HZ=100 SHELL=/bin/bash TERM=linux HUSHLOGIN=TRUE USER=root LS_COLORS=rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;3$MAIL=/var/mail/root PATH=/sbin:/bin:/usr/sbin:/usr/bin PWD=/srv/www/htdocs PS1=$(if [ $? == 0 ]; then echo -e "\[\e[1;36m\]"; elif [ $? == 1 ]; then echo $SHLVL=1 HOME=/root LOGNAME=root _=/usr/bin/env OLDPWD=/srv/www [ line 1/16 (6%), col 1/7 (14%), char 0/1469 (0%) ] ^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text^T To Spell ******************** Oh duh, I could post the output of the compilation :) ******************** # ./configure --enable-layout=FHS --enable-mods-shared-all checking for chosen layout... FHS checking for working mkdir -p... yes checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu Configuring Apache Portable Runtime library ... checking for APR... yes setting CC to "gcc" setting CPP to "gcc -E" setting CFLAGS to " -pthread" setting CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE" setting LDFLAGS to " " Configuring Apache Portable Runtime Utility library... checking for APR-util... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E configure: Configuring PCRE regular expression library configuring package in srclib/pcre now checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking for an ANSI C-conforming const... yes checking for size_t... yes checking for bcopy... yes checking for memmove... yes checking for strerror... yes configure: creating ./config.status config.status: creating Makefile config.status: creating pcre.h config.status: creating pcre-config config.status: creating config.h config.status: executing default commands srclib/pcre configured properly setting AP_LIBS to "/sources/httpd-2.2.11/srclib/pcre/libpcre.la" setting INCLUDES to "-I$(top_builddir)/srclib/pcre" Configuring Apache httpd ... adding "-I." to INCLUDES adding "-I$(top_srcdir)/os/$(OS_DIR)" to INCLUDES adding "-I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME)" to INCLUDES adding "-I$(top_srcdir)/modules/http" to INCLUDES adding "-I$(top_srcdir)/modules/filters" to INCLUDES adding "-I$(top_srcdir)/modules/proxy" to INCLUDES adding "-I$(top_srcdir)/include" to INCLUDES adding "-I$(top_srcdir)/modules/generators" to INCLUDES adding "-I$(top_srcdir)/modules/mappers" to INCLUDES adding "-I$(top_srcdir)/modules/database" to INCLUDES adding "-I/usr/include/apache" to INCLUDES Applying OS-specific hints for httpd ... forcing SINGLE_LISTEN_UNSERIALIZED_ACCEPT to "1" forcing AP_NONBLOCK_WHEN_MULTI_LISTEN to "1" checking for rm... /bin/rm checking for pkg-config... /usr/bin/pkg-config checking for rsync... no checking for gawk... gawk checking whether ln -s works... yes checking for ranlib... ranlib checking for lynx... no checking for links... links checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking for library containing strerror... none required checking for APR version 1.2.0 or later... yes checking for APR-util version 1.2.0 or later... yes checking for ANSI C header files... (cached) yes checking for string.h... (cached) yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking for unistd.h... (cached) yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking pwd.h usability... yes checking pwd.h presence... yes checking for pwd.h... yes checking grp.h usability... yes checking grp.h presence... yes checking for grp.h... yes checking for strings.h... (cached) yes checking sys/prctl.h usability... yes checking sys/prctl.h presence... yes checking for sys/prctl.h... yes checking sys/processor.h usability... no checking sys/processor.h presence... no checking for sys/processor.h... no checking sys/sem.h usability... yes checking sys/sem.h presence... yes checking for sys/sem.h... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking for an ANSI C-conforming const... yes checking for library containing sqrt... -lm checking for getpwnam... yes checking for getgrnam... yes checking for initgroups... yes checking for bindprocessor... no checking for prctl... yes checking for timegm... yes checking for getpgid... yes checking for void pointer length... no checking for tm_gmtoff in struct tm... yes checking whether to enable mod_authn_file... shared (all) checking whether to enable mod_authn_dbm... shared (all) checking whether to enable mod_authn_anon... shared (all) checking whether to enable mod_authn_dbd... shared (all) checking whether to enable mod_authn_default... shared (all) checking whether to enable mod_authn_alias... no checking whether to enable mod_authz_host... shared (all) checking whether to enable mod_authz_groupfile... shared (all) checking whether to enable mod_authz_user... shared (all) checking whether to enable mod_authz_dbm... shared (all) checking whether to enable mod_authz_owner... shared (all) checking whether to enable mod_authnz_ldap... no checking whether to enable mod_authz_default... shared (all) checking whether to enable mod_auth_basic... shared (all) checking whether to enable mod_auth_digest... checking dependencies checking whether to enable mod_auth_digest... shared (all) checking whether to enable mod_isapi... no checking whether to enable mod_file_cache... no checking whether to enable mod_cache... no checking whether to enable mod_disk_cache... no checking whether to enable mod_mem_cache... no checking whether to enable mod_dbd... shared (all) checking whether to enable mod_bucketeer... no checking whether to enable mod_dumpio... shared (all) checking whether to enable mod_echo... no checking whether to enable mod_example... no checking whether to enable mod_case_filter... no checking whether to enable mod_case_filter_in... no checking whether to enable mod_ext_filter... shared (all) checking whether to enable mod_include... shared (all) checking whether to enable mod_filter... shared (all) checking whether to enable mod_substitute... shared (all) checking whether to enable mod_charset_lite... no checking whether to enable mod_deflate... checking dependencies checking for zlib location... /usr adding "-lz" to LIBS checking for zlib library... found forcing MOD_DEFLATE_LDADD to "-lz" removed "-lz" from LIBS checking whether to enable mod_deflate... shared (all) checking whether to enable mod_ldap... no checking whether to enable mod_log_config... shared (all) checking whether to enable mod_log_forensic... shared (all) adding "-I$(top_builddir)/server" to INCLUDES checking whether to enable mod_logio... shared (all) checking whether to enable mod_env... shared (all) checking whether to enable mod_mime_magic... shared (all) checking whether to enable mod_cern_meta... shared (all) checking whether to enable mod_expires... shared (all) checking whether to enable mod_headers... shared (all) checking whether to enable mod_ident... shared (all) checking whether to enable mod_usertrack... checking dependencies checking sys/times.h usability... yes checking sys/times.h presence... yes checking for sys/times.h... yes checking for times... yes checking whether to enable mod_usertrack... shared (all) checking whether to enable mod_unique_id... shared (all) checking whether to enable mod_setenvif... shared (all) checking whether to enable mod_version... shared (all) checking whether to enable mod_proxy... no checking whether to enable mod_proxy_connect... no checking whether to enable mod_proxy_ftp... no checking whether to enable mod_proxy_http... no checking whether to enable mod_proxy_ajp... no checking whether to enable mod_proxy_balancer... no adding "-I$(top_srcdir)/modules/proxy/../generators" to INCLUDES checking whether to enable mod_ssl... no adding "-I$(top_srcdir)/modules/ssl" to INCLUDES checking whether to enable mod_optional_hook_export... no checking whether to enable mod_optional_hook_import... no checking whether to enable mod_optional_fn_import... no checking whether to enable mod_optional_fn_export... no checking for target platform... unix checking for rlim_t... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking for sys/sem.h... (cached) yes checking sys/ipc.h usability... yes checking sys/ipc.h presence... yes checking for sys/ipc.h... yes checking for setsid... yes checking for killpg... yes checking bstring.h usability... no checking bstring.h presence... no checking for bstring.h... no checking for unistd.h... (cached) yes checking for syslog... yes checking for sys/times.h... (cached) yes checking for times... (cached) yes checking which MPM to use... prefork checking whether to enable mod_http... yes checking whether to enable mod_mime... shared (all) checking for extra modules... none checking whether to enable mod_dav... shared (all) adding "-I$(top_srcdir)/modules/dav/main" to INCLUDES checking whether to enable mod_status... shared (all) checking whether to enable mod_autoindex... shared (all) checking whether to enable mod_asis... shared (all) checking whether to enable mod_info... shared (all) checking whether to enable mod_suexec... no checking whether to enable mod_cgi... shared (all) checking whether to enable mod_cgid... no checking whether to enable mod_dav_fs... shared (all) checking whether to enable mod_dav_lock... no checking whether to enable mod_vhost_alias... shared (all) checking whether to enable mod_negotiation... shared (all) checking whether to enable mod_dir... shared (all) checking whether to enable mod_imagemap... shared (all) checking whether to enable mod_actions... shared (all) checking whether to enable mod_speling... shared (all) checking whether to enable mod_userdir... shared (all) checking whether to enable mod_alias... shared (all) checking whether to enable mod_rewrite... shared (all) setting HTTPD_LDFLAGS to "-export-dynamic" checking whether to enable mod_so... yes Restore user-defined environment settings... restoring CPPFLAGS to "" setting EXTRA_CPPFLAGS to " -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE" restoring CFLAGS to "" setting EXTRA_CFLAGS to " -pthread" restoring CXXFLAGS to "" setting EXTRA_CXXFLAGS to "" restoring LDFLAGS to "" setting EXTRA_LDFLAGS to " " restoring LIBS to "" setting EXTRA_LIBS to " -lm" restoring INCLUDES to "" setting EXTRA_INCLUDES to "-I$(top_builddir)/srclib/pcre -I. -I$(top_srcdir)/os/$(OS_DIR) -I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME) -I$(top_srcdir)/modules/http -I$(top_srcdir)/modules/filters -I$(top_srcdir)/modules/proxy -I$(top_srcdir)/include -I$(top_srcdir)/modules/generators -I$(top_srcdir)/modules/mappers -I$(top_srcdir)/modules/database -I/usr/include/apache -I$(top_builddir)/server -I$(top_srcdir)/modules/proxy/../generators -I$(top_srcdir)/modules/ssl -I$(top_srcdir)/modules/dav/main" Construct makefiles and header files... creating config_vars.mk configure: creating ./config.status creating modules/aaa/Makefile creating modules/arch/win32/Makefile creating modules/cache/Makefile creating modules/database/Makefile creating modules/debug/Makefile creating modules/echo/Makefile creating modules/experimental/Makefile creating modules/filters/Makefile creating modules/ldap/Makefile creating modules/loggers/Makefile creating modules/metadata/Makefile creating modules/proxy/Makefile creating modules/ssl/Makefile creating modules/test/Makefile creating os/unix/Makefile creating server/mpm/Makefile creating server/mpm/prefork/Makefile creating modules/http/Makefile creating modules/dav/main/Makefile creating modules/generators/Makefile creating modules/dav/fs/Makefile creating modules/dav/lock/Makefile creating modules/mappers/Makefile creating Makefile creating modules/Makefile creating srclib/Makefile creating os/Makefile creating server/Makefile creating support/Makefile creating srclib/pcre/Makefile creating test/Makefile config.status: creating docs/conf/httpd.conf config.status: creating docs/conf/extra/httpd-autoindex.conf config.status: creating docs/conf/extra/httpd-dav.conf config.status: creating docs/conf/extra/httpd-default.conf config.status: creating docs/conf/extra/httpd-info.conf config.status: creating docs/conf/extra/httpd-languages.conf config.status: creating docs/conf/extra/httpd-manual.conf config.status: creating docs/conf/extra/httpd-mpm.conf config.status: creating docs/conf/extra/httpd-multilang-errordoc.conf config.status: creating docs/conf/extra/httpd-ssl.conf config.status: creating docs/conf/extra/httpd-userdir.conf config.status: creating docs/conf/extra/httpd-vhosts.conf config.status: creating include/ap_config_layout.h config.status: creating support/apxs config.status: creating support/apachectl config.status: creating support/dbmmanage config.status: creating support/envvars-std config.status: creating support/log_server_status config.status: creating support/logresolve.pl config.status: creating support/phf_abuse_log.cgi config.status: creating support/split-logfile config.status: creating build/rules.mk config.status: creating build/pkg/pkginfo config.status: creating build/config_vars.sh config.status: creating include/ap_config_auto.h config.status: executing default commands ********************* # make Here are some pastebins because I can't post large comments http://pastebin.ca/1485188 http://pastebin.com/f5b405643 ************************ Yeah that is a lot But this is very frustrating for me :/ Thank you so much for all your help so far! :D Smells of a filesystem bug. What does stat tell you about your index.txt? I've never used stat before but I wonder if this is what you need? root[ ~ ] # stat /srv/www/htdocs/index.txt File: `/srv/www/htdocs/index.txt' Size: 13 Blocks: 8 IO Block: 4096 regular file Device: 803h/2051d Inode: 645908 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 25/ apache) Gid: ( 25/ apache) Access: 2009-07-05 17:06:23.000000000 -0700 Modify: 2009-05-03 11:51:12.000000000 -0700 Change: 2009-07-05 16:36:51.000000000 -0700 root[ ~ ] # stat /srv/www/htdocs/index.txt -f File: "/srv/www/htdocs/index.txt" ID: ddcd1326d5af12b6 Namelen: 255 Type: ext2/ext3 Block size: 4096 Fundamental block size: 4096 Blocks: Total: 4128763 Free: 2320113 Available: 2152315 Inodes: Total: 1054704 Free: 684458 Created attachment 28530 [details]
Patch to fix segfaults and incorrect realm values in mod_auth_digest
(In reply to comment #8) > Created attachment 28530 [details] > Patch to fix segfaults and incorrect realm values in mod_auth_digest Please disregard this, the patch got associated with the wrong bug. Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd. As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd. If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question. If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with. Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated. |