title: Incomplete HTTP Response from Tomcat
body: <ul>
  <li>Tomcat 8.0.17, residing on localhost.
  
  <ul>
  <li>Linux Mint 17.1 </li>
  <li>Oracle Java 8.0.1.40-b25</li>
  </ul></li>
  </ul>
  
  <p>I have a JSP which is very long: It contains a drop-down list with country codes and countries (named in Hebrew). When I try to load 
  the JSP from its address, I get in return a partial response. Cutting off at around Portugal (can be anywhere else, depending on the amount of code in the page).</p>
  
  <p>The page address is <strong>example.com/he/index2.jsp</strong></p>
  
  <p>I think it is related to the size of the page because when I remove some lines, I finally get the response correctly.</p>
  
  <p>I don't get any exceptions or errors, and the response returns with status 200.</p>
  
  <p>I have tried setting the buffer size to 8kb, 32kb, 128kb and 2048kb. When it was 8kb I did get a buffer overflow error, but at 32 and above I didn't get this error and the response was still partial.</p>
  
  <p>I tried to set auto flush to false.</p>
  
  <p>I have tried setting both <strong>maxSwallowSize</strong> and <strong>socketBuffer</strong> to 32768 in <strong>Connector</strong> node in <strong>server.xml</strong>.</p>
  
  <p>Narrowing down the code to minimum, I have an example for the evil page. I have removed all unnecessary Java code, includes, etc. The remarked includes are essential because I do need these CSS files. Just for the inspection I commented them out, but I still get the partial response.</p>
  
  <p>Don't know if it is related, I have a request filter that parses this address, sees that the the address starts with <strong>/he/</strong> and attaches a Session object to the request. The object contains a String as a session ID, A Locale and a String as the referrer. Then it forwards the request to <strong>index2.jsp</strong>.</p>
  
  <p>I would appreciate any help of solving this issue.</p>
  
  <p>The minimum page that causes the problem:
  The <strong>last paragraph</strong> element is used to indicate if the response is correct.</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;%@ page buffer="2048kb" autoFlush="false" %&gt;
  &lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt;
  &lt;!DOCTYPE HTML&gt;
  &lt;html&gt;
  &lt;head&gt;
      &lt;!--     &lt;link href="/css/bootstrap.css" rel='stylesheet' type='text/css'/&gt; --&gt;
      &lt;!--     &lt;link href="/css/bootstrap.min.css" rel='stylesheet' type='text/css'/&gt; --&gt;
      &lt;!--     &lt;link href="/css/theme-style.css" rel='stylesheet' type='text/css'/&gt; --&gt;
      &lt;!--     &lt;meta name="viewport" content="width=device-width, initial-scale=1"&gt; --&gt;
      &lt;!--     &lt;script src="/js/jquery.min.js"&gt;&lt;/script&gt; --&gt;
      &lt;!--     &lt;script src="/js/bootstrap.min.js"&gt;&lt;/script&gt; --&gt;
  &lt;/head&gt;
  &lt;body&gt;
      &lt;select&gt;
          &lt;option value="IL"&gt;ישראל&lt;/option&gt;
          &lt;option value="UG"&gt;אוגנדה&lt;/option&gt;
          &lt;option value="AT"&gt;אוסטריה&lt;/option&gt;
          &lt;option value="AU"&gt;אוסטרליה&lt;/option&gt;
          &lt;option value="UA"&gt;אוקראינה&lt;/option&gt;
          &lt;option value="UY"&gt;אורוגוואי&lt;/option&gt;
          &lt;option value="AZ"&gt;אזרבייג'ן&lt;/option&gt;
          &lt;option value="AE"&gt;איחוד האמירויות הערביות&lt;/option&gt;
          &lt;option value="IT"&gt;איטליה&lt;/option&gt;
          &lt;option value="BS"&gt;איי בהאמה&lt;/option&gt;
          &lt;option value="VG"&gt;איי הבתולה הבריטיים&lt;/option&gt;
          &lt;option value="TC"&gt;איי טורקס וקאיקוס&lt;/option&gt;
          &lt;option value="MH"&gt;איי מרשל&lt;/option&gt;
          &lt;option value="SJ"&gt;איי סבאלברד ויאן מאיין&lt;/option&gt;
          &lt;option value="SC"&gt;איי סיישל&lt;/option&gt;
          &lt;option value="FO"&gt;איי פארו&lt;/option&gt;
          &lt;option value="FK"&gt;איי פוקלנד&lt;/option&gt;
          &lt;option value="PN"&gt;איי פיטקרן&lt;/option&gt;
          &lt;option value="CK"&gt;איי קוק&lt;/option&gt;
          &lt;option value="KY"&gt;איי קיימן&lt;/option&gt;
          &lt;option value="SB"&gt;איי שלמה&lt;/option&gt;
          &lt;option value="ID"&gt;אינדונזיה&lt;/option&gt;
          &lt;option value="IS"&gt;איסלנד&lt;/option&gt;
          &lt;option value="IE"&gt;אירלנד&lt;/option&gt;
          &lt;option value="SV"&gt;אל סלוודור&lt;/option&gt;
          &lt;option value="AL"&gt;אלבניה&lt;/option&gt;
          &lt;option value="DZ"&gt;אלג'יריה&lt;/option&gt;
          &lt;option value="AI"&gt;אנגווילה&lt;/option&gt;
          &lt;option value="AO"&gt;אנגולה&lt;/option&gt;
          &lt;option value="AD"&gt;אנדורה&lt;/option&gt;
          &lt;option value="AG"&gt;אנטיגואה וברבודה&lt;/option&gt;
          &lt;option value="EE"&gt;אסטוניה&lt;/option&gt;
          &lt;option value="EC"&gt;אקוודור&lt;/option&gt;
          &lt;option value="AR"&gt;ארגנטינה&lt;/option&gt;
          &lt;option value="AW"&gt;ארובה&lt;/option&gt;
          &lt;option value="ER"&gt;אריתריאה&lt;/option&gt;
          &lt;option value="AM"&gt;ארמניה&lt;/option&gt;
          &lt;option value="US"&gt;ארצות הברית&lt;/option&gt;
          &lt;option value="ET"&gt;אתיופיה&lt;/option&gt;
          &lt;option value="BT"&gt;בהוטן&lt;/option&gt;
          &lt;option value="BW"&gt;בוטסואנה&lt;/option&gt;
          &lt;option value="BG"&gt;בולגריה&lt;/option&gt;
          &lt;option value="BO"&gt;בוליביה&lt;/option&gt;
          &lt;option value="BA"&gt;בוסניה והרצגובינה&lt;/option&gt;
          &lt;option value="BI"&gt;בורונדי&lt;/option&gt;
          &lt;option value="BF"&gt;בורקינה פאסו&lt;/option&gt;
          &lt;option value="BH"&gt;בחריין&lt;/option&gt;
          &lt;option value="BY"&gt;בלארוס&lt;/option&gt;
          &lt;option value="BE"&gt;בלגיה&lt;/option&gt;
          &lt;option value="BZ"&gt;בליז&lt;/option&gt;
          &lt;option value="BJ"&gt;בנין&lt;/option&gt;
          &lt;option value="BB"&gt;ברבדוס&lt;/option&gt;
          &lt;option value="BN"&gt;ברוניי&lt;/option&gt;
          &lt;option value="BR"&gt;ברזיל&lt;/option&gt;
          &lt;option value="GB"&gt;בריטניה&lt;/option&gt;
          &lt;option value="BM"&gt;ברמודה&lt;/option&gt;
          &lt;option value="DJ"&gt;ג'יבוטי&lt;/option&gt;
          &lt;option value="JM"&gt;ג'מייקה&lt;/option&gt;
          &lt;option value="GE"&gt;גאורגיה&lt;/option&gt;
          &lt;option value="GA"&gt;גבון&lt;/option&gt;
          &lt;option value="GT"&gt;גואטמלה&lt;/option&gt;
          &lt;option value="GP"&gt;גוואדלופ&lt;/option&gt;
          &lt;option value="GY"&gt;גיאנה&lt;/option&gt;
          &lt;option value="GF"&gt;גיאנה הצרפתית&lt;/option&gt;
          &lt;option value="GI"&gt;גיברלטר&lt;/option&gt;
          &lt;option value="GN"&gt;גינאה&lt;/option&gt;
          &lt;option value="GW"&gt;גינאה ביסאו&lt;/option&gt;
          &lt;option value="GM"&gt;גמביה&lt;/option&gt;
          &lt;option value="GL"&gt;גרינלנד&lt;/option&gt;
          &lt;option value="DE"&gt;גרמניה&lt;/option&gt;
          &lt;option value="GD"&gt;גרנדה&lt;/option&gt;
          &lt;option value="DM"&gt;דומיניקה&lt;/option&gt;
          &lt;option value="DK"&gt;דנמרק&lt;/option&gt;
          &lt;option value="ZA"&gt;דרום אפריקה&lt;/option&gt;
          &lt;option value="KR"&gt;דרום קוריאה&lt;/option&gt;
          &lt;option value="NF"&gt;האי נורפוק&lt;/option&gt;
          &lt;option value="AN"&gt;האנטילים ההולנדיים&lt;/option&gt;
          &lt;option value="IN"&gt;הודו&lt;/option&gt;
          &lt;option value="NL"&gt;הולנד&lt;/option&gt;
          &lt;option value="HK"&gt;הונג קונג&lt;/option&gt;
          &lt;option value="HU"&gt;הונגריה&lt;/option&gt;
          &lt;option value="HN"&gt;הונדורס&lt;/option&gt;
          &lt;option value="PH"&gt;הפיליפינים&lt;/option&gt;
          &lt;option value="DO"&gt;הרפובליקה הדומיניקנית&lt;/option&gt;
          &lt;option value="CD"&gt;הרפובליקה הדמוקרטית של קונגו&lt;/option&gt;
          &lt;option value="WF"&gt;ואליס ופוטונה&lt;/option&gt;
          &lt;option value="VN"&gt;וייטנאם&lt;/option&gt;
          &lt;option value="VU"&gt;ונואטו&lt;/option&gt;
          &lt;option value="VE"&gt;ונצואלה&lt;/option&gt;
          &lt;option value="ZW"&gt;זימבבואה&lt;/option&gt;
          &lt;option value="ZM"&gt;זמביה&lt;/option&gt;
          &lt;option value="CI"&gt;חוף השנהב&lt;/option&gt;
          &lt;option value="TW"&gt;טאיוואן&lt;/option&gt;
          &lt;option value="TJ"&gt;טג'יקיסטן&lt;/option&gt;
          &lt;option value="TV"&gt;טובאלו&lt;/option&gt;
          &lt;option value="TG"&gt;טוגו&lt;/option&gt;
          &lt;option value="TO"&gt;טונגה&lt;/option&gt;
          &lt;option value="TN"&gt;טוניסיה&lt;/option&gt;
          &lt;option value="TR"&gt;טורקיה&lt;/option&gt;
          &lt;option value="TM"&gt;טורקמניסטן&lt;/option&gt;
          &lt;option value="TZ"&gt;טנזניה&lt;/option&gt;
          &lt;option value="TT"&gt;טרינידד וטובגו&lt;/option&gt;
          &lt;option value="GR"&gt;יוון&lt;/option&gt;
          &lt;option value="JP"&gt;יפן&lt;/option&gt;
          &lt;option value="JO"&gt;ירדן&lt;/option&gt;
          &lt;option value="KW"&gt;כווית&lt;/option&gt;
          &lt;option value="LA"&gt;לאוס&lt;/option&gt;
          &lt;option value="LU"&gt;לוקסמבורג&lt;/option&gt;
          &lt;option value="LV"&gt;לטביה&lt;/option&gt;
          &lt;option value="LT"&gt;ליטא&lt;/option&gt;
          &lt;option value="LI"&gt;ליכטנשטיין&lt;/option&gt;
          &lt;option value="LS"&gt;לסוטו&lt;/option&gt;
          &lt;option value="MR"&gt;מאוריטניה&lt;/option&gt;
          &lt;option value="MU"&gt;מאוריציוס&lt;/option&gt;
          &lt;option value="YT"&gt;מאיוט&lt;/option&gt;
          &lt;option value="ML"&gt;מאלי&lt;/option&gt;
          &lt;option value="MG"&gt;מדגסקר&lt;/option&gt;
          &lt;option value="VA"&gt;מדינת קריית הוותיקן&lt;/option&gt;
          &lt;option value="MZ"&gt;מוזמביק&lt;/option&gt;
          &lt;option value="MD"&gt;מולדובה&lt;/option&gt;
          &lt;option value="MN"&gt;מונגוליה&lt;/option&gt;
          &lt;option value="ME"&gt;מונטנגרו&lt;/option&gt;
          &lt;option value="MS"&gt;מונטסראט&lt;/option&gt;
          &lt;option value="MC"&gt;מונקו&lt;/option&gt;
          &lt;option value="FM"&gt;מיקרונזיה&lt;/option&gt;
          &lt;option value="MW"&gt;מלאווי&lt;/option&gt;
          &lt;option value="MV"&gt;מלדיביים&lt;/option&gt;
          &lt;option value="MY"&gt;מלזיה&lt;/option&gt;
          &lt;option value="MT"&gt;מלטה&lt;/option&gt;
          &lt;option value="EG"&gt;מצרים&lt;/option&gt;
          &lt;option value="MK"&gt;מקדוניה&lt;/option&gt;
          &lt;option value="MX"&gt;מקסיקו&lt;/option&gt;
          &lt;option value="MA"&gt;מרוקו&lt;/option&gt;
          &lt;option value="MQ"&gt;מרטיניק&lt;/option&gt;
          &lt;option value="NR"&gt;נאורו&lt;/option&gt;
          &lt;option value="NO"&gt;נורווגיה&lt;/option&gt;
          &lt;option value="NG"&gt;ניגריה&lt;/option&gt;
          &lt;option value="NZ"&gt;ניו זילנד&lt;/option&gt;
          &lt;option value="NU"&gt;ניואה&lt;/option&gt;
          &lt;option value="NE"&gt;ניז'ר&lt;/option&gt;
          &lt;option value="NI"&gt;ניקרגואה&lt;/option&gt;
          &lt;option value="NA"&gt;נמיביה&lt;/option&gt;
          &lt;option value="NP"&gt;נפאל&lt;/option&gt;
          &lt;option value="ST"&gt;סאו תומה ופרינסיפה&lt;/option&gt;
          &lt;option value="SZ"&gt;סווזילנד&lt;/option&gt;
          &lt;option value="SO"&gt;סומליה&lt;/option&gt;
          &lt;option value="SR"&gt;סורינאם&lt;/option&gt;
          &lt;option value="SL"&gt;סיירה ליאונה&lt;/option&gt;
          &lt;option value="C2"&gt;סין&lt;/option&gt;
          &lt;option value="SG"&gt;סינגפור&lt;/option&gt;
          &lt;option value="SI"&gt;סלובניה&lt;/option&gt;
          &lt;option value="SK"&gt;סלובקיה&lt;/option&gt;
          &lt;option value="WS"&gt;סמואה&lt;/option&gt;
          &lt;option value="SM"&gt;סן מרינו&lt;/option&gt;
          &lt;option value="SN"&gt;סנגל&lt;/option&gt;
          &lt;option value="SH"&gt;סנט הלנה&lt;/option&gt;
          &lt;option value="VC"&gt;סנט וינסנט והגרנדינים&lt;/option&gt;
          &lt;option value="LC"&gt;סנט לוסיה&lt;/option&gt;
          &lt;option value="PM"&gt;סנט פייר ומיקלון&lt;/option&gt;
          &lt;option value="KN"&gt;סנט ריטס ונוויס אנגווילה&lt;/option&gt;
          &lt;option value="ES"&gt;ספרד&lt;/option&gt;
          &lt;option value="RS"&gt;סרביה&lt;/option&gt;
          &lt;option value="LK"&gt;סרי לנקה&lt;/option&gt;
          &lt;option value="OM"&gt;עומן&lt;/option&gt;
          &lt;option value="SA"&gt;ערב הסעודית&lt;/option&gt;
          &lt;option value="PL"&gt;פולין&lt;/option&gt;
          &lt;option value="PF"&gt;פולינזיה הצרפתית&lt;/option&gt;
          &lt;option value="PT"&gt;פורטוגל&lt;/option&gt;
          &lt;option value="FJ"&gt;פיג'י&lt;/option&gt;
          &lt;option value="FI"&gt;פינלנד&lt;/option&gt;
          &lt;option value="PW"&gt;פלאו&lt;/option&gt;
          &lt;option value="PA"&gt;פנמה&lt;/option&gt;
          &lt;option value="PG"&gt;פפואה גינאה החדשה&lt;/option&gt;
          &lt;option value="PY"&gt;פרגוואי&lt;/option&gt;
          &lt;option value="PE"&gt;פרו&lt;/option&gt;
          &lt;option value="TD"&gt;צ'אד&lt;/option&gt;
          &lt;option value="CL"&gt;צ'ילה&lt;/option&gt;
          &lt;option value="CZ"&gt;צ'כיה&lt;/option&gt;
          &lt;option value="FR"&gt;צרפת&lt;/option&gt;
          &lt;option value="CO"&gt;קולומביה&lt;/option&gt;
          &lt;option value="KM"&gt;קומורוס&lt;/option&gt;
          &lt;option value="CG"&gt;קונגו&lt;/option&gt;
          &lt;option value="CR"&gt;קוסטה ריקה&lt;/option&gt;
          &lt;option value="KZ"&gt;קזחסטן&lt;/option&gt;
          &lt;option value="QA"&gt;קטאר&lt;/option&gt;
          &lt;option value="CV"&gt;קייפ ורדה&lt;/option&gt;
          &lt;option value="KG"&gt;קירגיזסטן&lt;/option&gt;
          &lt;option value="KI"&gt;קיריבטי&lt;/option&gt;
          &lt;option value="NC"&gt;קלדוניה החדשה&lt;/option&gt;
          &lt;option value="KH"&gt;קמבודיה&lt;/option&gt;
          &lt;option value="CM"&gt;קמרון&lt;/option&gt;
          &lt;option value="CA"&gt;קנדה&lt;/option&gt;
          &lt;option value="KE"&gt;קניה&lt;/option&gt;
          &lt;option value="CY"&gt;קפריסין&lt;/option&gt;
          &lt;option value="HR"&gt;קרואטיה&lt;/option&gt;
          &lt;option value="RE"&gt;ראוניון&lt;/option&gt;
          &lt;option value="RW"&gt;רואנדה&lt;/option&gt;
          &lt;option value="RO"&gt;רומניה&lt;/option&gt;
          &lt;option value="RU"&gt;רוסיה&lt;/option&gt;
          &lt;option value="SE"&gt;שוודיה&lt;/option&gt;
          &lt;option value="CH"&gt;שוויץ&lt;/option&gt;
          &lt;option value="TH"&gt;תאילנד&lt;/option&gt;
          &lt;option value="YE"&gt;תימן&lt;/option&gt;
      &lt;/select&gt;
      &lt;p&gt;Last paragraph&lt;/p&gt;
  &lt;/body&gt;
  &lt;/html&gt;</code></pre>
  </div>
  </div>
  </p>