[
  {
    "Id": "170962",
    "ThreadId": "51017",
    "Html": "I have a .gz file that is a 10G file compressed down to 900Mb.<br>\r\n<br>\r\nWhen I read it in using GZipStream in finishes after just a little over 1G of data.<br>\r\n<br>\r\nBoth WinRar and WinZip extract a 10G file from this gz.<br>\r\n<br>\r\nThe file is located <a href=\"http://www.averipools.com/joseph@superfund.com-ES_Tick_Jan96-Dec08-N3689872-part001.csv.gz\">here</a>. This file is generated by a vendor, so I have no control over what software creates it. <br>\r\n<br>\r\nThe same behavior happens with System.IO.GZipStream. Is there some idiosyncrasy that WinRar and WinZip handle that the &quot;normal&quot; code doesn't?<br>\r\n<br>\r\nThanks!<br>\r\n<br>\r\n- Brian \r\n",
    "PostedDate": "2009-03-23T11:57:42.307-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "171060",
    "ThreadId": "51017",
    "Html": "I will have to have a look... \r\n",
    "PostedDate": "2009-03-23T15:14:56.423-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "171256",
    "ThreadId": "51017",
    "Html": "Ok, thanks!<br>\r\n",
    "PostedDate": "2009-03-24T03:51:30.26-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "173907",
    "ThreadId": "51017",
    "Html": "Hi Cheeso,<br>\r\n<br>\r\nHave you had any chance to look into this?<br>\r\n<br>\r\nI appreciate it.<br>\r\n<br>\r\n- Brian<br>\r\n",
    "PostedDate": "2009-03-31T07:50:10.337-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "174007",
    "ThreadId": "51017",
    "Html": "I'm downloading it now, Brian.  I'll let you know what I find.\r\n",
    "PostedDate": "2009-03-31T11:41:30.913-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "175279",
    "ThreadId": "51017",
    "Html": "Hi Cheeso, were you able to reproduce this problem?<br>\r\n<br>\r\n- Brian<br>\r\n",
    "PostedDate": "2009-04-03T07:20:44.897-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "840447",
    "ThreadId": "51017",
    "Html": "\r\n<p>Hi there, I have the same problem too; with a file located <a href=\"http://z.spondle.com/public/tm.xml.gz\">\r\nhere</a>.&nbsp;Here's what I know about the file:-</p>\r\n<ul>\r\n<li>It's created on a Unix system outside my control. I'm trying to decompress it on Windows 7 64bit.\r\n</li><li>It uncompresses in Winzip, 7-Zip and WinRAR just fine </li><li>When &#65279;I look at the file with gzip.exe from <a href=\"http://www.gzip.org\">www.gzip.org</a> (download win32 exe\r\n<a href=\"http://gnuwin32.sourceforge.net/packages/gzip.htm\">here</a>) using the command line\r\n<strong>gzip -l -v tm.xml.gz</strong> it reports the uncompressed size to be 1981 and the compression ratio to be -9415.2% (obviously incorrect).&nbsp;\r\n</li><li>Also, testing it with gzip using the -t -v command line arguments it says the file is &quot;<strong>OK</strong>&quot;\r\n</li><li>The actual uncompressed size should be about 807,183 </li><li>It always decompresses the file to a size of 4,103 bytes. </li><li>I have run your code through on the VS debugger and it seems the <strong>&#65279;Inflate.InflateFast\r\n</strong>returns <strong>&#65279;&#65279;ZlibConstants.Z_STREAM_END </strong>too early, based on the evaluation on&nbsp;&#65279;line 1367,\r\n<strong>else if((e &amp; 32) != 0) </strong>In other implementations I have seen, usually this condition would indicate an end of block, rather than end of stream, however, this is a guess!\r\n</li></ul>\r\n<p>After&nbsp;a while in debugging I had to stop because I don't have enough knowledge of GZip.</p>\r\n<p><strong>UPDATE: </strong>I have found multiple GZip header signatures throughout the file (202 to be precise).&nbsp; I'm thinking this may be a Multipart Gzip File as described\r\n<a href=\"http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4691425\">here</a>&nbsp;(BGZF &quot;Blocked GNU Zip Format&quot;&nbsp;format)</p>\r\n<p><strong>UPDATE_2</strong>: I have split out the file into 202 separate chunks and each chunk is indeed a valid gzip file.&nbsp; The file as a whole is compliant with the GZip spec, however, the Java and DotNet GZipStream classes don't seem to support multi-part\r\n &quot;Blocked GZip&quot; files.&nbsp;</p>\r\n<p>It would be really great to either support it, or detect that it's a multi-part GZip file and return a meaningful error message.&nbsp; At the moment, it just decompresses the first GZip block and ignores the rest of the file. I'm now going to look into how\r\n I can alter the code to support this, or have some kind of pre-processor which concatenates all the chunks and strips out the Block level GZip headers.</p>\r\n<p>thanks</p>\r\n<p>Kris</p>\r\n",
    "PostedDate": "2012-05-24T07:33:09.62-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]