Question
i installed the Dec, 01, 2000 production release. and i found that
the html content from twiki engine (perl) to my browser is incomplete.
i.e content is truncated.
please help.
thanks
- TWiki version: Dec, 01, 2000
- Web server: apache,
- Server OS: Solaris
--
DennisSeah - 12 Jun 2001
Answer
First of all, have a look at
IncompletePagesOnTWikiBeta15March2001, which is basically the same problem with a different TWiki release - three people have now had this problem. All three are using Apache, and two of the three are using Solaris.
Some questions:
- What browsers are you using, and what client OS?
- What Solaris version?
- What Apache version are you using exactly? (Easiest way to find out is to request a non-existent page on your webserver)
- Does this happen on a fast network, on a WAN, or on dialup, or some combination?
- Does the Apache error_log show any errors at the time of this problem?
The good news is that I did have this bug and it went away, and it doesn't appear to be a TWiki bug - most likely in Apache or the OS's TCP/IP somewhere. The bad news is that I don't know why it went away, and I didn't change the Apache or OS config...
Some relevant-looking Apache bugs are at:
- ApacheBug:3089
(looks extremely similar and has a simple test script)
- ApacheBug:3993
(includes some Solaris tweaking ideas)
- ApacheBug:4251
(Linux TCP sends TCP Reset -> browser warning)
-
ApacheBug:1292 (bug unclear but relates to POST method and Keepalive) - not really relevant on re-reading
Also,
http://httpd.apache.org/docs/misc/fin_wait_2.html
seems relevant - if the Apache server closes its TCP socket too early, the effect is that the client's TCP connection is finished early, and hence the page is truncated.
Some things to try:
- Turn off Keepalives in Apache temporarily, to see if this has an effect. If this helps, the impact for an intranet deployment is not too bad.
- Have a go at installing the test script from ApacheBug:3089
and see if it reproduces the problem. That would help in isolating it.
- Run tcpdump when requesting a page that gets truncated (see ApacheBug:1292
for details) to see exactly what is happening.
--
RichardDonkin - 12 Jun 2001
Reply
Answers:
- What browsers are you using, and what client OS? browser = MSIE5.0 and Netscape 4.75
- What Solaris version? - 2.8
- What Apache version are you using exactly? 1.3
- Does this happen on a fast network, on a WAN, or on dialup, or some combination? all the time, the content-length is ALWAYS 5095
- Does the Apache error_log show any errors at the time of this problem? nope
Some things to try:
- Turn off Keepalives in Apache temporarily, to see if this has an effect. If this helps, the impact for an intranet deployment is not too bad. - does not work for me
- Have a go at installing the test script from ApacheBug:3089
and see if it reproduces the problem. That would help in isolating it. - output is ok on shell but it is truncated on browser
- Run tcpdump when requesting a page that gets truncated (see ApacheBug:1292
for details) to see exactly what is happening. - did not try
Hmmm - maybe you should create a new bug in the Apache database, referring to
ApacheBug:3089
, as the test script proves this is nothing to do with TWiki.
I suspect the Apache people will need you to run tcpdump, as this is the only way to see what is really going on. This could be done on the server or client I think, e.g. if you don't have root on the server. Once you have tcpdump output, post it here and we can see if using Solaris
ndd as in
ApacheBug:3993
to tune TCP/IP parameters has an effect.
A few more questions:
- Have you checked that large static HTML pages are OK on this server?
- What sub-version of Apache are you running (e.g. 1.3.12)?
- What client OSes are you running (this can affect the TCP stack)?
- Does the problem go away on some other client OSes than those tried so far?
--
RichardDonkin - 15 Jun 2001
can you tell me more about tcpdump.
i cannot find this command.
thanks
--
DennisSeah - 15 Jun 2001
tcpdump is a command line tool for Unix/Linux that captures selected IP packets and dumps them to a file. Its home page is
http://www.tcpdump.org/
, the Solaris 8 version can be found at
http://www.sunfreeware.com/programlistsparc8.html#tcpdump
(.tar.gz of pkgadd format file). You will also need to install libpcap (openssl is optional, probably for encrypting the packet dumps), also available on that site.
You'll need to be root to install and run tcpdump. It's command line driven - here are some modified instructions from
ApacheBug:1292
that should apply:
Do this:
tcpdump -s 1514 -w dumpfile tcp port 80 and host client.ip.addr
on the webserver as root, and then launch browser on the client, and
cause the bug to occur. Then quit browser on the client. Then hit ^C
on the tcpdump session.
The '-s 1514' tells it to capture the whole packet (assume you are using standard ethernet 1500-byte type packets, not gigabit ethernet and jumbo frames). The '-w' writes the output to a file, and the rest specifies port 80 and the client IP (to avoid capturing unrelated packets). Any passwords used in the session will be included but that's not a problem for the test script.
Hope this helps - once you get a dump file, attach it here (gzip it first if it's large) and I'll have a look at it.
Please answer my other questions, as this will help in narrowing down the problem.
--
RichardDonkin - 16 Jun 2001
I'm also getting this problem with a fresh install of Twiki on my office box. The release I'm using is: Revision r1.16 - 24 Nov 2001.
It only happens when using Apache 2.0.35 on Windows 2k. I've gone back to the stable 1.3 apache and it now works fine.
The test script at
ApacheBug:3089
produces the problem as well. It stops at random amounts.
If anyone else sees this bug note that changing to Apache 1.3.24 worked just fine. I'll raise it for Apache2 as an issue.
--
MarcSutton - 17 Apr 2002