Premature end of response header

alex

Well-Known Member
#1
I was experimenting with turning gzip off and on to see if it made a performance difference as we have been experiencing very high loads.
Turning it off didn't seem to make any difference but we used a lot more bandwidth.
I turned it back on and you can view the boards but you can't login or post
The litespeed log is showing:
2006-06-10 13:07:03.933 [NOTICE] [65.35.238.174:1092-0#disboards] Premature end of response header.
2006-06-10 13:07:04.717 [NOTICE] [72.30.101.142:35751-0#disboards] Premature end of response header.
2006-06-10 13:07:07.616 [NOTICE] [72.30.111.29:49311-0#disboards] Premature end of response header.
2006-06-10 13:07:07.982 [NOTICE] [72.30.110.159:58989-0#disboards] Premature end of response header.
2006-06-10 13:07:08.867 [NOTICE] [72.30.132.226:59901-0#disboards] Premature end of response header.
2006-06-10 13:07:10.039 [NOTICE] [72.65.185.16:50705-0#disboards] Premature end of response header.
2006-06-10 13:07:20.259 [NOTICE] [72.30.103.155:34902-0#disboards] Premature end of response header.
2006-06-10 13:07:23.110 [NOTICE] [72.30.103.19:52149-0#disboards] Premature end of response header.
2006-06-10 13:07:23.641 [NOTICE] [72.30.132.155:47149-0#disboards] Premature end of response header.
2006-06-10 13:07:25.974 [NOTICE] [68.64.254.43:2983-0#disboards]

When I look at the source of a page that is having an error it says:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=windows-1252"></HEAD>
<BODY></BODY></HTML>

I have tried turning it off and on again but it doesnt seem to help
 

alex

Well-Known Member
#2
I found the error in debug loggins, here is the part of the log around it:

06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] processContextPath() return 0
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] readyCacheData() return 0
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] Written to client: 1315
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] m_pHandler->onWrite() return 0
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] HttpConnection::flush()!
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-3#disboards] HttpConnection::nextRequest()!
2006-06-10 13:52:42.135 DEBUG [70.53.109.104:61647-4] processNewReq() return 0.
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] HttpIOLink::handleEvents() events=1!
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] HttpConnection::eek:nReadEx(), state: 0!
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] readToHeaderBuf().
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] Read from client: 882
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] read 882 bytes to header buffer
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] processHeader() return 0, header state: 3.
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6] readToHeaderBuf() return 0.
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] New request:
Method=[GET], URI=[/images/smilies/ms.gif],
QueryString=[]
Content Length=0
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] processContextPath() return 0
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] readyCacheData() return 0
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] HttpConnection::flush()!
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] Written to client: 134
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-6#disboards] HttpConnection::nextRequest()!
2006-06-10 13:52:42.138 DEBUG [66.161.213.29:2476-7] processNewReq() return 0.
2006-06-10 13:52:42.154 DEBUG [68.142.250.16:32779-0#disboards:lsapi] ExtConn::eek:nRead()
2006-06-10 13:52:42.154 DEBUG [68.142.250.16:32779-0#disboards:lsapi] LsapiConn::doRead()
2006-06-10 13:52:42.154 DEBUG [68.142.250.16:32779-0#disboards:lsapi] process packet header 8 bytes
2006-06-10 13:52:42.154 DEBUG [68.142.250.16:32779-0#disboards:lsapi] process response stream 2639 bytes, packet left: 2631
2006-06-10 13:52:42.154 DEBUG [68.142.250.16:32779-0#disboards:lsapi] process packet header 8 bytes
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] [EXT] EndResponse( endCode=0, protocolStatus=0 )
2006-06-10 13:52:42.155 NOTICE [68.142.250.16:32779-0#disboards:lsapi] Premature end of response header.
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpIOLink::continueWrite()...
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] write resumed!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] call pConn->writeRespBody() to write 400 bytes
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] Written to client: 2565
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] pConn->writeRespBody() return 400
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] ReqBody: 0, RespBody: 400, HEC_COMPLETE!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] m_pHandler->onWrite() return 0
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpConnection::flush()!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpConnection::nextRequest()!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpExtConnector::cleanUp() ...
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] abort request...
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] [LSAPI] send abort packet!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] release ExtProcessor!
2006-06-10 13:52:42.155 DEBUG [idle] [ExtConn] close()
2006-06-10 13:52:42.155 DEBUG [uds://tmp/lshttpd/lsphp.sock] add recycled connection to connection pool!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] Non-KeepAlive, CLOSING!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpIOLink::continueWrite()...
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] write resumed!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] HttpIOLink::handleEvents() events=4!
2006-06-10 13:52:42.155 DEBUG [68.142.250.16:32779-0#disboards:lsapi] Shutting down out-bound socket ...
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] ExtConn::eek:nRead()
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] LsapiConn::doRead()
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] process packet header 8 bytes
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] [EXT] EndResponse( endCode=0, protocolStatus=0 )
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] release ExtProcessor!
2006-06-10 13:52:42.161 DEBUG [uds://tmp/lshttpd/lsphp.sock] add recycled connection to connection pool!
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] HttpIOLink::continueWrite()...
2006-06-10 13:52:42.161 DEBUG [68.254.12.117:54827-0#disboards:lsapi] write resumed!
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] HttpIOLink::handleEvents() events=1!
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] HttpConnection::eek:nReadEx(), state: 0!
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] readToHeaderBuf().
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] Read from client: 722
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] read 722 bytes to header buffer
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] processHeader() return 0, header state: 3.
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3] readToHeaderBuf() return 0.
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3#disboards] New request:
Method=[GET], URI=[/images/avatars/ahappycat.gif],
QueryString=[]
Content Length=0
2006-06-10 13:52:42.162 DEBUG [71.106.138.91:4216-3#disboards] processContextPath() return
 

xing

LiteSpeed Staff
#3
Gzip compression has little to no performance impact on server operations. You can leave it on. It only requires cpu cycles which most servers have plenty to spare.

The increased load is caused by the mysql queries on the vbulletin setup when traffic exceed IO capacity.

It looks like your problem just sprung up out of no-where.

1) Did you make any changes that led to this problem? Looks like your PHP backend is having issues.

2) Are you using the latest PHP LSAPI, LiteSpeed? Just making sure.

3) It's strange that the vbulletin setup can read fine but post operations return errors.

The most important question is 1. Since something changed that caused this problem to happen. Finding out what changed will reveal the source of the problem. Increase in traffic should not cause this problem. Test your php binary by going "/lswsinstall/fcgi-bin/lsphp -i" to see if you get any errors from the command or in the "/lswsinstall/logs" log files.
 

alex

Well-Known Member
#5
Here is the lsphp output:

phpinfo()
PHP Version => 4.4.0

System => Linux linux11444.dn.net 2.4.23 #1 SMP Wed Dec 3 11:53:35 EST 2003 i686
Build Date => Sep 29 2005 23:12:48
Configure Command => './configure' '--with-litespeed' '--with-config-file-path=../conf' '--with-zlib' '--with-zlib-dir=..' '--with-gd' '--with-jpeg-dir=..' '--with-png-dir=..' '--enable-shmop' '--enable-track-vars' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-magic-quotes'
Server API => LiteSpeed
Virtual Directory Support => disabled
Configuration File (php.ini) Path => /usr/local/lsws/conf/php.ini
PHP API => 20020918
PHP Extension => 20020429
Zend Extension => 20050606
Debug Build => no
Zend Memory Manager => enabled
Thread Safety => disabled
Registered PHP Streams => php, http, ftp, compress.zlib


This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies
with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies


_______________________________________________________________________


Configuration

PHP Core

Directive => Local Value => Master Value
allow_call_time_pass_reference => Off => Off
allow_url_fopen => On => On
always_populate_raw_post_data => Off => Off
arg_separator.input => & => &
arg_separator.output => & => &
asp_tags => Off => Off
auto_append_file => no value => no value
auto_prepend_file => no value => no value
browscap => no value => no value
default_charset => no value => no value
default_mimetype => text/html => text/html
define_syslog_variables => Off => Off
disable_classes => no value => no value
disable_functions => no value => no value
display_errors => On => Off
display_startup_errors => Off => Off
doc_root => no value => no value
docref_ext => no value => no value
docref_root => no value => no value
enable_dl => On => On
error_append_string => no value => no value
error_log => no value => no value
error_prepend_string => no value => no value
error_reporting => 2039 => 2039
expose_php => On => On
extension_dir => ./ => ./
file_uploads => On => On
gpc_order => GPC => GPC
highlight.bg => #FFFFFF => #FFFFFF
highlight.comment => #FF8000 => #FF8000
highlight.default => #0000BB => #0000BB
highlight.html => #000000 => #000000
highlight.keyword => #007700 => #007700
highlight.string => #DD0000 => #DD0000
html_errors => Off => On
ignore_repeated_errors => Off => Off
ignore_repeated_source => Off => Off
ignore_user_abort => Off => Off
implicit_flush => On => Off
include_path => .:/usr/local/lib/php => .:/usr/local/lib/php
log_errors => On => On
log_errors_max_len => 1024 => 1024
magic_quotes_gpc => Off => Off
magic_quotes_runtime => Off => Off
magic_quotes_sybase => Off => Off
max_execution_time => 0 => 30
max_input_time => 60 => 60
open_basedir => no value => no value
output_buffering => 0 => 4096
output_handler => no value => no value
post_max_size => 8M => 8M
precision => 14 => 14
register_argc_argv => On => Off
register_globals => On => On
report_memleaks => On => On
safe_mode => Off => Off
safe_mode_exec_dir => no value => no value
safe_mode_gid => Off => Off
safe_mode_include_dir => no value => no value
sendmail_from => me@localhost.com => me@localhost.com
sendmail_path => /usr/sbin/sendmail -t -i => /usr/sbin/sendmail -t -i
serialize_precision => 100 => 100
short_open_tag => On => On
SMTP => localhost => localhost
smtp_port => 25 => 25
sql.safe_mode => Off => Off
track_errors => Off => Off
unserialize_callback_func => no value => no value
upload_max_filesize => 2M => 2M
upload_tmp_dir => no value => no value
user_dir => no value => no value
variables_order => GPCS => GPCS
xmlrpc_error_number => 0 => 0
xmlrpc_errors => Off => Off
y2k_compliance => On => On

Zend Optimizer

Optimization Pass 1 => enabled
Optimization Pass 2 => enabled
Optimization Pass 3 => enabled
Optimization Pass 4 => enabled
Optimization Pass 9 => disabled
Zend Loader => enabled
License Path =>

ctype

ctype functions => enabled

gd

GD Support => enabled
GD Version => bundled (2.0.28 compatible)
GIF Read Support => enabled
GIF Create Support => enabled
JPG Support => enabled
PNG Support => enabled
WBMP Support => enabled
XBM Support => enabled

mysql

MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => 3.23.49
MYSQL_MODULE_TYPE => builtin
MYSQL_SOCKET => /tmp/mysql.sock
MYSQL_INCLUDE =>
MYSQL_LIBS =>

Directive => Local Value => Master Value
mysql.allow_persistent => Off => Off
mysql.connect_timeout => -1 => -1
mysql.default_host => no value => no value
mysql.default_password => no value => no value
mysql.default_port => no value => no value
mysql.default_socket => no value => no value
mysql.default_user => no value => no value
mysql.max_links => Unlimited => Unlimited
mysql.max_persistent => Unlimited => Unlimited
mysql.trace_mode => Off => Off

overload

User-Space Object Overloading Support => enabled

pcre

PCRE (Perl Compatible Regular Expressions) Support => enabled
PCRE Library Version => 5.0 13-Sep-2004

posix

Revision => $Revision: 1.51.2.4 $

session

Session Support => enabled
Registered save handlers => files user

Directive => Local Value => Master Value
session.auto_start => Off => Off
session.bug_compat_42 => Off => Off
session.bug_compat_warn => On => On
session.cache_expire => 180 => 180
session.cache_limiter => nocache => nocache
session.cookie_domain => no value => no value
session.cookie_lifetime => 0 => 0
session.cookie_path => / => /
session.cookie_secure => Off => Off
session.entropy_file => no value => no value
session.entropy_length => 0 => 0
session.gc_divisor => 100 => 100
session.gc_maxlifetime => 1440 => 1440
session.gc_probability => 1 => 1
session.name => PHPSESSID => PHPSESSID
session.referer_check => no value => no value
session.save_handler => files => files
session.save_path => /tmp => /tmp
session.serialize_handler => php => php
session.use_cookies => On => On
session.use_only_cookies => Off => Off
session.use_trans_sid => Off => Off

shmop

shmop support => enabled

sockets

Sockets Support => enabled

standard

Regex Library => Bundled library enabled
Dynamic Library Support => enabled
Path to sendmail => /usr/sbin/sendmail -t -i
 

alex

Well-Known Member
#6
Directive => Local Value => Master Value
assert.active => 1 => 1
assert.bail => 0 => 0
assert.callback => no value => no value
assert.quiet_eval => 0 => 0
assert.warning => 1 => 1
auto_detect_line_endings => 0 => 0
default_socket_timeout => 60 => 60
safe_mode_allowed_env_vars => PHP_ => PHP_
safe_mode_protected_env_vars => LD_LIBRARY_PATH => LD_LIBRARY_PATH
url_rewriter.tags => a=href,area=href,frame=src,input=src,form=fakeentry => a=href,area=href,frame=src,input=src,form=fakeentry
user_agent => no value => no value

tokenizer

Tokenizer Support => enabled

xml

XML Support => active
XML Namespace Support => active
EXPAT Version => 1.95.6

zlib

ZLib Support => enabled
Compiled Version => 1.2.3
Linked Version => 1.2.3

Directive => Local Value => Master Value
zlib.output_compression => Off => Off
zlib.output_compression_level => -1 => -1
zlib.output_handler => no value => no value

Additional Modules

Module Name
sysvsem
sysvshm

Environment

Variable => Value
USER => root2
LOGNAME => root2
HOME => /home/root2
PATH => /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/etc
MAIL => /var/mail/root2
SHELL => /bin/tcsh
SSH_CLIENT => 10.1.1.2 1970 22
SSH_CONNECTION => 10.1.1.2 1970 198.104.131.75 22
SSH_TTY => /dev/pts/1
TERM => vt100
HOSTTYPE => i386-linux
VENDOR => intel
OSTYPE => linux
MACHTYPE => i386
SHLVL => 1
PWD => /usr/local/lsws/fcgi-bin
GROUP => root
HOST => linux11444.dn.net
REMOTEHOST => 10.1.1.2
HOSTNAME => linux11444.dn.net
LS_COLORS => no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:eek:r=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
LANG => en_US
SUPPORTED => en_US:en
LESSOPEN => |/usr/bin/lesspipe.sh %s
LD_LIBRARY_PATH => /usr/lib:/usr/local/lib
MANPATH => /usr/man:/usr/share/man:/usr/X11R6/man:/usr/local/man
VISUAL => vi

PHP Variables

Variable => Value
PHP_SELF =>
_SERVER["USER"] => root2
_SERVER["LOGNAME"] => root2
_SERVER["HOME"] => /home/root2
_SERVER["PATH"] => /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/etc
_SERVER["MAIL"] => /var/mail/root2
_SERVER["SHELL"] => /bin/tcsh
_SERVER["SSH_CLIENT"] => 10.1.1.2 1970 22
_SERVER["SSH_CONNECTION"] => 10.1.1.2 1970 198.104.131.75 22
_SERVER["SSH_TTY"] => /dev/pts/1
_SERVER["TERM"] => vt100
_SERVER["HOSTTYPE"] => i386-linux
_SERVER["VENDOR"] => intel
_SERVER["OSTYPE"] => linux
_SERVER["MACHTYPE"] => i386
_SERVER["SHLVL"] => 1
_SERVER["PWD"] => /usr/local/lsws/fcgi-bin
_SERVER["GROUP"] => root
_SERVER["HOST"] => linux11444.dn.net
_SERVER["REMOTEHOST"] => 10.1.1.2
_SERVER["HOSTNAME"] => linux11444.dn.net
_SERVER["LS_COLORS"] => no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:eek:r=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
_SERVER["LANG"] => en_US
_SERVER["SUPPORTED"] => en_US:en
_SERVER["LESSOPEN"] => |/usr/bin/lesspipe.sh %s
_SERVER["LD_LIBRARY_PATH"] => /usr/lib:/usr/local/lib
_SERVER["MANPATH"] => /usr/man:/usr/share/man:/usr/X11R6/man:/usr/local/man
_SERVER["VISUAL"] => vi
_SERVER["PHP_SELF"] =>
_SERVER["SCRIPT_NAME"] =>
_SERVER["SCRIPT_FILENAME"] =>
_SERVER["PATH_TRANSLATED"] =>
_SERVER["DOCUMENT_ROOT"] =>
_SERVER["argv"] => Array
(
)

_SERVER["argc"] => 0
 

xing

LiteSpeed Staff
#7
Alex, your PHP, lsphp binary is outdated. It was built/compiled in Sept of 2005. Not only do you not have the latest php with critical security patches but LSAPI is also not up to date.

Please recompile with latest PHP 4 from php.net and LSAPI from here.

I'm sure your problem will go away with the new build.
 

alex

Well-Known Member
#9
Interesting- that made a small bit of progress, now we can log in etc but still get a blank page when trying to reply to a thread
The really strange thing is that in these blank pages view source is empty and the log is no longer showing "premature end of response header" errors
any thoughts?
 

alex

Well-Known Member
#10
This appears to be fixed now. The new php fixed the log in problem and the blank page problem was caused by vbulletin settings. Even though I chaged them directly through a mysql query they didn't really change untill I went into the admin panel and clicked apply
strange
 
Top