This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 42274 - System.IO.Compression.ZipArchive vs System.Xml.XmlReader
Summary: System.IO.Compression.ZipArchive vs System.Xml.XmlReader
Status: RESOLVED FIXED
Alias: None
Product: Class Libraries
Classification: Mono
Component: Other (show other bugs)
Version: master
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: João Matos
URL:
Depends on:
Blocks:
 
Reported: 2016-06-30 11:43 UTC by RichardW
Modified: 2016-06-30 13:23 UTC (History)
2 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments

Description RichardW 2016-06-30 11:43:08 UTC
Related to 

https://github.com/OfficeDev/Open-XML-SDK/issues/64
https://bugzilla.xamarin.com/show_bug.cgi?id=39282


As described at: https://github.com/OfficeDev/Open-XML-SDK/issues/64#issuecomment-228791344

If you have a zip file which contains a single xml file and try to process it with the following code using Mono 4.4.0 then the operation completes, but on the current Master you get a System.NotSupportedException from System.IO.Compression.DeflateStream.get_Length().

public static void Main(string[] args)
{
    var fileStream = new FileStream("monoTest.zip", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
    var zipArchive = new ZipArchive(fileStream, ZipArchiveMode.Update);

    var firstStream = zipArchive.Entries[0].Open();

    var xmlReader = System.Xml.XmlReader.Create(firstStream);
}

Which looks to be because XmlReader is trying to query the length on the stream you give it, which fails because it's a DeflateStream whose length can't be queried.

This test successfully loads the XML data on MS.NET/Windows.
Comment 1 João Matos 2016-06-30 13:23:43 UTC
https://github.com/mono/mono/pull/3225

Note You need to log in before you can comment on or make changes to this bug.