New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest beta not unzipping ModernHttpClient #2518

Closed
kentcb opened this Issue Apr 11, 2016 · 16 comments

Comments

Projects
None yet
8 participants
@kentcb

kentcb commented Apr 11, 2016

Using NuGet 3.4.2 beta instead of latest stable has resulted in my ModernHttpClient dependency failing to restore correctly:

image

As you can see, it does not unzip the zip file. Reverting to 3.3.0.212 works fine.

@davidfowl

This comment has been minimized.

Show comment
Hide comment
@davidfowl

davidfowl Apr 11, 2016

Member

Can you give some more details? Which NuGet client? What did you run?

Member

davidfowl commented Apr 11, 2016

Can you give some more details? Which NuGet client? What did you run?

@kentcb

This comment has been minimized.

Show comment
Hide comment
@kentcb

kentcb Apr 11, 2016

Command-line client, running on Mac/Mono as part of a build script. Annoyingly, it seems to work if I run directly from the CLI:

mono ../nuget.exe install modernhttpclient -outputdirectory Src/packages/

However, it definitely doesn't work using 3.4.2 in combination with FAKE 4.23.5. Using 3.3.0.212 with same FAKE version does work. My FAKE target looks like this:

Target "restore-packages" (fun _ ->
    !! "./**/packages.config"
    |> Seq.iter (
        RestorePackage (fun defaults ->
            {
                defaults with
                    OutputPath = (srcDir @@ "packages")
            })
        )
)

TBH, not sure if this is NuGet or FAKE bug now.

kentcb commented Apr 11, 2016

Command-line client, running on Mac/Mono as part of a build script. Annoyingly, it seems to work if I run directly from the CLI:

mono ../nuget.exe install modernhttpclient -outputdirectory Src/packages/

However, it definitely doesn't work using 3.4.2 in combination with FAKE 4.23.5. Using 3.3.0.212 with same FAKE version does work. My FAKE target looks like this:

Target "restore-packages" (fun _ ->
    !! "./**/packages.config"
    |> Seq.iter (
        RestorePackage (fun defaults ->
            {
                defaults with
                    OutputPath = (srcDir @@ "packages")
            })
        )
)

TBH, not sure if this is NuGet or FAKE bug now.

@davidfowl

This comment has been minimized.

Show comment
Hide comment
@davidfowl

davidfowl Apr 11, 2016

Member

Sounds like a fake issue with the new nuget? If it works from the command line, not sure what else it could be..

Member

davidfowl commented Apr 11, 2016

Sounds like a fake issue with the new nuget? If it works from the command line, not sure what else it could be..

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Apr 11, 2016

Thanks for reporting this issue. Can you please help us with unfolding what fake is doing differently from the command line?

yishaigalatzer commented Apr 11, 2016

Thanks for reporting this issue. Can you please help us with unfolding what fake is doing differently from the command line?

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Apr 11, 2016

I do see one big difference between the two operations

In fake it looks like you would run nuget.exe restore packages.config and in the cli you run mono nuget.exe install XXX

yishaigalatzer commented Apr 11, 2016

I do see one big difference between the two operations

In fake it looks like you would run nuget.exe restore packages.config and in the cli you run mono nuget.exe install XXX

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Apr 11, 2016

This is what FAKE does: https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/RestorePackageHelper.fs#L150

It's calling "mono nuget.exe install [FullPath packages.config] -OutputDirectory [FullPath outpath] [sources]"

one quick check that you can do to see if it's the expected nuget tool:

!! "./**/packages.config"
|> Seq.iter (
    RestorePackage (fun defaults ->
        failwithf "%A" defaults.ToolPath
        {
            defaults with
                OutputPath = (srcDir @@ "packages")
        })
    )

In other words: it's not doing some magic here, but relative vs. absolute paths have always been some trouble for us in combination with nuget.exe (especially on mono)

forki commented Apr 11, 2016

This is what FAKE does: https://github.com/fsharp/FAKE/blob/master/src/app/FakeLib/RestorePackageHelper.fs#L150

It's calling "mono nuget.exe install [FullPath packages.config] -OutputDirectory [FullPath outpath] [sources]"

one quick check that you can do to see if it's the expected nuget tool:

!! "./**/packages.config"
|> Seq.iter (
    RestorePackage (fun defaults ->
        failwithf "%A" defaults.ToolPath
        {
            defaults with
                OutputPath = (srcDir @@ "packages")
        })
    )

In other words: it's not doing some magic here, but relative vs. absolute paths have always been some trouble for us in combination with nuget.exe (especially on mono)

@spadapet

This comment has been minimized.

Show comment
Hide comment
@spadapet

spadapet Apr 12, 2016

OK I can reproduce this on Linux with Mono on the command line.
So far I only repro with the ModernHttpClient package. I tried Newtonsoft.Json and it works. So maybe there is something messed up about the zipped files in ModernHttpClient.nupkg.
Or... there is something messed up about the mono implementation of System.IO.Compression. Don't know where the problem is yet.

spadapet commented Apr 12, 2016

OK I can reproduce this on Linux with Mono on the command line.
So far I only repro with the ModernHttpClient package. I tried Newtonsoft.Json and it works. So maybe there is something messed up about the zipped files in ModernHttpClient.nupkg.
Or... there is something messed up about the mono implementation of System.IO.Compression. Don't know where the problem is yet.

@spadapet

This comment has been minimized.

Show comment
Hide comment
@spadapet

spadapet Apr 12, 2016

If I repackage ModernHttpClient then it works. The file times in the original ModernHttpClient.2.4.2 are bogus times in the future. Some code is failing to apply those files times to the extracted files on disk. I need to see if it's the NuGet code. That original package isn't good though.

spadapet commented Apr 12, 2016

If I repackage ModernHttpClient then it works. The file times in the original ModernHttpClient.2.4.2 are bogus times in the future. Some code is failing to apply those files times to the extracted files on disk. I need to see if it's the NuGet code. That original package isn't good though.

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Apr 12, 2016

Ok that sounds indeed like a known mono zip bug. We ran into this in paket and built workarounds. If this is the same bug then many packages have the same problem. Repackaging one package does not help here.

forki commented Apr 12, 2016

Ok that sounds indeed like a known mono zip bug. We ran into this in paket and built workarounds. If this is the same bug then many packages have the same problem. Repackaging one package does not help here.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Apr 12, 2016

Thanks @forki ! we have a fix in progress, if you have any feedback on the fix, please let us know.

yishaigalatzer commented Apr 12, 2016

Thanks @forki ! we have a fix in progress, if you have any feedback on the fix, please let us know.

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Apr 12, 2016

Yeah I guess we have a pretty similar fix. But unfortunately that's only the first of many mono zipping issues ;-(

forki commented Apr 12, 2016

Yeah I guess we have a pretty similar fix. But unfortunately that's only the first of many mono zipping issues ;-(

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Apr 12, 2016

Did you file bugs on mono for these issues? Do you have links?

yishaigalatzer commented Apr 12, 2016

Did you file bugs on mono for these issues? Do you have links?

@forki

This comment has been minimized.

Show comment
Hide comment
@forki

forki Apr 12, 2016

Yes we filed everything. But it's hidden in closed paket issues since we
created workarounds or it got fixed in mono eventually. I just wanted you
to know about the situation so that you never trust that API...
On Apr 12, 2016 20:21, "Yishai Galatzer" notifications@github.com wrote:

Did you file bugs on mono for these issues? Do you have links?


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#2518 (comment)

forki commented Apr 12, 2016

Yes we filed everything. But it's hidden in closed paket issues since we
created workarounds or it got fixed in mono eventually. I just wanted you
to know about the situation so that you never trust that API...
On Apr 12, 2016 20:21, "Yishai Galatzer" notifications@github.com wrote:

Did you file bugs on mono for these issues? Do you have links?


You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
#2518 (comment)

@spadapet

This comment has been minimized.

Show comment
Hide comment
@spadapet

spadapet Apr 13, 2016

Fixed for 3.4.3

spadapet commented Apr 13, 2016

Fixed for 3.4.3

@migueldeicaza

This comment has been minimized.

Show comment
Hide comment
@migueldeicaza

migueldeicaza May 2, 2016

Which bugs are these System.IO.Compression bugs in Mono?

What I gather from other commits referenced here is that we throw an exception if we find an invalid date in the package, but such a bug has not been filed against Mono.

I could not find any bugs related to this in our bug tracking system.

Alternatively, can someone provide us with reproduction instructions? I tried downloading NuGet 3.4.2, but it is no longer available for download from: https://dist.nuget.org/index.html I also tried faking the urls without success.

migueldeicaza commented May 2, 2016

Which bugs are these System.IO.Compression bugs in Mono?

What I gather from other commits referenced here is that we throw an exception if we find an invalid date in the package, but such a bug has not been filed against Mono.

I could not find any bugs related to this in our bug tracking system.

Alternatively, can someone provide us with reproduction instructions? I tried downloading NuGet 3.4.2, but it is no longer available for download from: https://dist.nuget.org/index.html I also tried faking the urls without success.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer May 2, 2016

This bug was about setting the date time to min, 3.4.2 nuget.exe was never released, we only released 3.4.3.

I need to dig up the original bug (this one is a regression in a fix over the mono behavior).

yishaigalatzer commented May 2, 2016

This bug was about setting the date time to min, 3.4.2 nuget.exe was never released, we only released 3.4.3.

I need to dig up the original bug (this one is a regression in a fix over the mono behavior).

tritao added a commit to tritao/mono that referenced this issue Jun 17, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

@zhili1208 zhili1208 modified the milestones: 3.5 Beta2, 3.4.3 Jun 22, 2016

alexanderkyte added a commit to alexanderkyte/mono that referenced this issue Jun 22, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

---

This is a backport to mono-4.4.0-branch-c7sr0, with merge conflicts
fixed.

alexanderkyte pushed a commit to alexanderkyte/mono that referenced this issue Jul 5, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

---

This is a backport to mono-4.4.0-branch-c7sr0, with merge conflicts
fixed.

alexanderkyte pushed a commit to alexanderkyte/mono that referenced this issue Jul 5, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

---

This is a backport to mono-4.4.0-branch-c7sr0, with merge conflicts
fixed.

alexanderkyte pushed a commit to alexanderkyte/mono that referenced this issue Jul 5, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

---

This is a backport to mono-4.4.0-branch-c7sr0, with merge conflicts
fixed.

tritao added a commit to tritao/mono that referenced this issue Jul 7, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

baulig added a commit to mono/mono that referenced this issue Jul 12, 2016

Switch over to track mono-4.6.0-branch.
commit d0b2dac
Author: João Matos <joao@tritao.eu>
Date:   Tue Jul 12 16:59:26 2016 +0100

    [aot] Fixes strip tool invocation in to wrap paths in AOT compilation.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=34498.

commit 361cbb0
Author: Andi McClure <andi.mcclure@xamarin.com>
Date:   Tue Jul 12 11:23:02 2016 -0400

    Defer bridge processor init until after sgen init (bug 42469)

    mono_gc_register_bridge_callbacks is a function which the android implementation calls before initializing the runtime. One of the things this function previously did was initialize the default bridge processor if none has been initialized yet. However, because the function gets called before initializing the runtime, a bridge processor was never initialized. This lead to two bad effects:

    - If a bridge processor was ever manually specified, the bridge processor would get initialized twice
    - Tarjan crashes if initialized before sgen, so when Tarjan became the default bridge processor Android always crashed on launch

    The default bridge processor is now initialized at the end of sgen_gc_init.

commit aa705e5
Author: Andi McClure <andi.mcclure@xamarin.com>
Date:   Tue Jul 12 11:22:55 2016 -0400

    More verbose error message when sgen_register_fixed_internal_mem_type fails

commit fa603f3
Author: Miguel de Icaza <miguel@gnome.org>
Date:   Tue Jun 14 23:24:48 2016 -0700

    [main] replace computed value by a constant

    The reason why mkbundle is not working is that for some reason
    this constant expression is producing different code than the
    -24 that it is supposed to.

    What is odd is that the return value from the lseek system
    call is the same, but yet, read fails with an end-of-file with
    this value, and otherwise it passes.

    With this call:

         lseek (fd, -(16+sizeof(uint64_t)), SEEK_END)

    strace displays:

    lseek(0x3, 0xFFFFFFE8, 0x2)		 = 19375512 0

    With this call:

         lseek (fd, -24, SEEK_END)

    strace displays:

    lseek(0x3, 0xFFFFFFFFFFFFFFE8, 0x2)	 = 19375512 0

    Now, while both results from lseek are the same, a subsequent read
    with 24 bytes to read returns zero on the former case, and 24 on
    the latter case.

commit 95dd6ea
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Mon Jul 11 23:46:01 2016 -0400

    [runtime] Make mono_thread_resume_interruption () work during shutdown as well by checking for ThreadState_StopRequested as well. Hopefully fixes #41644.

commit 24d6fe6
Author: Jb Evain <jb@evain.net>
Date:   Thu Jul 7 13:07:58 2016 -0700

    [runtime] Fix the CLI_FLAGS_PREFERRED32BIT value

commit 13e9655
Author: Jb Evain <jb@evain.net>
Date:   Thu Jul 7 13:06:08 2016 -0700

    [runtime] Fix the CLI Header flags check

commit 20cab46
Author: Henric Müller <hemuller@microsoft.com>
Date:   Wed Jul 6 16:28:58 2016 +0200

    Fix for lock release in SynchronizationAttribute

    * Making sure ownerThread is not nulled unless lockCount is zero.
    * Fixed so Locked property checks lockCount when determining if locked
       instead of _locked field which was never set.
    * Added test for setting Locked property.
    * Added test capturing the original issue.

commit a066fc6
Author: Aleksey Kliger (λgeek) <akliger@gmail.com>
Date:   Tue Jul 5 10:21:55 2016 -0400

    [profiler] Actually link against libmono where necessary (#3232)

    Previously $(LIBMONO) was empty and bitcode targets (which set
    -no-undefined) had linker errors.

commit 8be53f2
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Wed Jul 6 21:32:10 2016 +0200

    [System] Bump timeout in TimerTest a bit

    I saw this failing occasionally on iOS on Wrench:

    ```
    [FAIL] TimerTest.AutoResetEventFalseStopsFiringElapsed :   #2 wrong elapsedCount
      Expected: 1
      But was:  0

    	at MonoTests.System.Timers.TimerTest.AutoResetEventFalseStopsFiringElapsed () [0x00091] in /Users/builder/data/lanes/1411/b07703ed/source/xamarin-macios/external/mono/mcs/class/System/Test/System.Timers/TimerTest.cs:327
    	at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    	at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/data/lanes/1411/b07703ed/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
    ```

commit 0fba680
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Mon Jul 11 12:10:00 2016 +0200

    [eglib] Fix Windows build

commit c9a2f7e
Author: Alexander Köplinger <alex.koeplinger@outlook.com>
Date:   Mon Jul 11 11:31:29 2016 +0200

    [eglib] Fix compilation on Windows after 3bebb76

    eglib uses G_OS_WIN32 instead of HOST_WIN32 for the Windows-specific code.

commit f62d078
Merge: fe4e400 54252be
Author: Marcos Henrich <marcoshenrich@gmail.com>
Date:   Fri Jul 8 23:39:43 2016 +0100

    Merge pull request #3261 from esdrubal/sym-spec-4.6

    [C8] mono-symbolicate spec implementation

commit 54252be
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Fri Jul 8 14:12:55 2016 +0100

    [mono-symbolicate] Use Mono.Options.

commit 4fc78ba
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Fri Jul 8 11:32:20 2016 +0100

    [corlib] Lowercase and no '-' in metadata guids.

    MVID and AOTID stacktrace metadata no longer displays guids with '-'.

    Metadata is now also using lowercase instead of uppercase.

    Changed mono-symbolicate and mono --aot to use the minimalistic GUIDs.

commit e1eee09
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Thu Jul 7 17:57:04 2016 +0100

    [corlib] StackTrace fixes.

    Replaced static constructor with delayed initialization.

    Fixed possible undeterministic order of dumped MVIDs.

    Used AppendFormat when possible.

    Added comment to StackTrace.AddMetadataHandler explaining that it can be
    used with reflection by outside code, to avoid removing it or changing
    its signature.

    Added StringComparer.Ordinal to dictionary.

commit 8ba00d6
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jul 5 18:10:06 2016 +0100

    [corlib] Ignore metadata on stacktrace tests

    StackTrace tests no longer fail with stacktrace metadata.

commit 0c783ab
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jul 5 17:53:37 2016 +0100

    [corlib] Add Metadata to inner exceptions.

commit 97361f5
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Mon Jul 4 11:02:16 2016 +0100

    [corlib] Skip MVID of stackframes without method.

    Fixes NRE caused by stackframes without any method assigned to them.

commit 24caf69
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Thu Jun 30 12:17:37 2016 +0100

    [corlib] GetAotId now returns null, if unavailable

    Also fixes issue when mono_domain still doesn't have any executing
    assembly set.

commit bcfd0bd
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jun 21 11:36:29 2016 +0100

    [runtime] AOTID is now properly stored.

commit 7d14111
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jun 21 11:32:16 2016 +0100

    [mono-symbolicate] Fixes last stacktrace issue.

    Extracted Symbolicate.Process stacktrace dump logic into DumpStackTrace
    method. Which can also be used to dump the last stack trace after the
    process loop.

commit e32eb29
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jun 21 11:31:29 2016 +0100

    [mono-symbolicate] Improved Makefile

    Makefile now stores managed assemblies into the msym dir.

    Each test now uses a separate directory to store stacktraces outputs and
    symbols.

commit d408ecc
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jun 21 11:26:57 2016 +0100

    [mono-symbolicate] Fixes symbolication of AOTed

    Sequence points are only required if native offsets are on the
    stacktrace.

    fix -- seq point info aot

commit edc150a
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue Jun 21 11:20:26 2016 +0100

    [mono-symbolicate] Adds store-symbols

    mono-symbolicate can now be called:
       symbolicate store-symbols <msym dir> [<dir>]+

    This will store in <msym dir> all the managed symbols found in the
    provided directories.

commit c36db18
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Thu Jun 9 15:10:18 2016 +0100

    [mono-symbolicate] Implemented metadata parsing.

    mono-symbolicate now parses stack traces with metadata at their end.

    All the stack trace and metada are read, so that symbolicate can use
    MVID and AOTID to retrieve the symbols from the msym directory..

commit 3ff4bc5
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue May 31 17:37:42 2016 +0100

    [runtime] Added aot=msym-dir=<DIR>

    Removed gen-seq-points-file.
    .msym files are now stored into a a subfolder of the provided msym-dir.
    The subfolder of each .msym are named as AOTID.

commit c9843e2
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue May 31 17:34:45 2016 +0100

    [runtime] aot-compiler.c now stores AOTID in image

    AOTID is now also displayed during compilation.

commit 10cd9ad
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Tue May 31 17:28:28 2016 +0100

    Moved ensure_directory_exists to eglib.

    Moved ensure_directory_exists in apdomain.c to g_ensure_directory_exists
    in eglib/src/gpath.c so it can be reused.

commit d7834ea
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Fri May 20 12:14:27 2016 +0100

    [corlib] Added MVID metadata to StackTrace

    The MVID metadata handler displays multiple MVID(s) followed by the
     comma separated list of StackFrame lines whose method belongs to the
    module with the displayed MVID.

commit 55e2293
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Fri May 20 12:03:46 2016 +0100

    [corlib] Added metadata handlers to StackTrace

    Added a reflectable static method that can be used to customize data
    displayed after a stack trace.

    Added metadata handler that display the AOTID of the executing assembly.

commit 1ebc5c3
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Fri May 20 11:54:59 2016 +0100

    [corlib] Added icall Assembly.GetAotId

commit 6f310cd
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Mon May 16 17:08:39 2016 +0100

    [runtime] Adds AOTID

    AOTID is a GUID generated by the AOT compiler and stored along with the
    native code.

    The AOTID uniquely identifies the generated native assembly.

    The AOTID is required when we want to map native offsets to IL offsets
    and the sequence points mapping those values need to be determined.

commit fe4e400
Merge: 5a919fe 2dbd0a3
Author: João Matos <joao@tritao.eu>
Date:   Fri Jul 8 22:58:37 2016 +0100

    Merge pull request #3246 from tritao/zip_c8_fixes

    [C8] [System.IO.Compression] Backporting of Zip fixes

commit 5a919fe
Author: Niklas Therning <niklas@therning.org>
Date:   Thu Jun 23 14:27:01 2016 +0200

    Don't pass -ggdb3 in CFLAGS on Windows builds as it somehow corrupts the
    libmonosgen-2.0.dll and breaks the build of monograph.exe which links against
    it.

    Also adds -O2 to CFLAGS on all platforms to align with how releases are built.

    (cherry picked from commit ba79e78)

commit 6680200
Author: lateralusX <lateralusx.github@gmail.com>
Date:   Thu Jun 2 16:37:54 2016 +0200

    Disable build of boehm GC on Windows x64.

    (cherry picked from commit 69e25e0)

commit 1b475c4
Author: Marek Safar <marek.safar@gmail.com>
Date:   Wed Jul 6 00:51:46 2016 +0200

    [Facades] netstandard 1.6 updates

commit 9967859
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Thu Jul 7 20:06:58 2016 -0400

    [jit] Emit memory barriers for volatile STFLD opcodes. Fixes #42413.

commit 2dbd0a3
Author: João Matos <joao@tritao.eu>
Date:   Sat Jul 2 02:02:25 2016 +0100

    [System.IO.Compression] Fixes ZipArchive to support non-seekable streams.

    This is the same behavior as documented on MSDN.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=30686.

commit 479353e
Author: João Matos <joao@tritao.eu>
Date:   Thu Jun 30 13:58:27 2016 +0100

    [System.IO.Compression] Fixed Zip entry stream length/position getters in Update mode.

    This does away with the lazy writeable entry scheme in Update mode and converts the stream to be writeable when its opened in Update mode.

    From local testing, .NET does the same in this case.

    Fixes another issue reported by @Numpsy in OfficeDev/Open-XML-SDK#64.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=42274.

commit 3e7a5e3
Author: João Matos <joao@tritao.eu>
Date:   Wed Jun 29 11:18:16 2016 +0100

    [System.IO.Compression] Fixed handling of Zip archives with duplicate entries with same name.

    .NET supports this, from MSDN: "If an entry with the specified path and name already exists in the archive, a second entry is created with the same path and name.".

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=42219.

commit 2528cd4
Author: João Matos <joao@tritao.eu>
Date:   Tue Jun 28 17:54:13 2016 +0100

    [System.IO.Compression] Fixed writes to newly-created Zip archive entries in Update mode.

    This regression was reported by RichardW of Open XML SDK project.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=39282.

commit 9b36ff0
Author: João Matos <joao@tritao.eu>
Date:   Fri Jun 24 01:12:33 2016 +0100

    [System.IO.Compression] Fixed stream writes when Zip archive is opened in Update mode.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=39282.

    Also helps with OfficeDev/Open-XML-SDK#64.

commit 3d266d3
Author: João Matos <joao@tritao.eu>
Date:   Tue Jun 21 23:59:03 2016 +0100

    [System.IO.Compression] Fixed stream length/position getters for ZIP entries.

    Partial fix for https://bugzilla.xamarin.com/show_bug.cgi?id=39282.

    Partial fix for OfficeDev/Open-XML-SDK#64.

commit b51d4bf
Author: João Matos <joao@tritao.eu>
Date:   Fri Jun 17 18:19:19 2016 +0100

    [System.IO.Compression] Fixed Zip entries with unset last write time to return the same as .NET.

    .NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

    See also: NuGet/Home#2518

commit e3e7d6f
Author: João Matos <joao@tritao.eu>
Date:   Thu Jun 16 12:12:32 2016 +0100

    [System.IO.Compression] Fixed version needed to extract value in Zip central directory record entry.

    This should fix some problem with Nuget archives created by Mono.

    No test case for this one because it would involve writing a mini-ZIP file parser to make sure the value is written correctly (or hardcore the value offset in the generated file, which could lead to a very flakey test).

    Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=41775.

    (cherry picked from commit 90ee90b)
    This was committed to the C7SR0 branch but missed from the main C7 branch (i.e. mono-4.4.0-branch).

commit 62fc0d1
Author: Alexis Christoforides <alexis@thenull.net>
Date:   Wed Jul 6 08:48:39 2016 -0400

    Bump version -> 4.6.0

commit d6d9b1a
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Tue Jul 5 16:30:21 2016 -0400

    [bcl] Fix a random failure in a DataView test which happened because DataViewListener keeps a weak reference on the DataView and stops raising events if the view is GCd. Fixes #41035.

commit ab8a391
Author: Andi McClure <andi.mcclure@xamarin.com>
Date:   Tue Jul 5 13:29:58 2016 -0400

    Switch Android GC bridge default from new-bridge to tarjan-bridge

commit 7b7d32b
Author: Zoltan Varga <vargaz@gmail.com>
Date:   Sat Jul 2 20:25:06 2016 -0400

    [runtime] Abort the finalizer thread first instead of stopping it, to allow an orderly shutdown and to avoid hitting the 'finalizer_thread_exited' assert. Hopefully fixes #41833. (#3233)

commit c887be3
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Thu Jun 30 17:59:21 2016 +0100

    [System.Web.Services] Fixes bad XmlMapping.Key.

    Fixes #41564

    Calling xmlImporter.ImportMembersMapping would set the key with the
    underlying message type [1], thus if a service had remote calls using
    the same types a key already exists exception would be thrown.

    Furthermore reference source has special logic to set headers
    XmlMappings key [2].

    This pull request fixes the issue by overriding the XmlMappings.Key with
    the values similar to those used in the reference source version.

    [1] http://referencesource.microsoft.com/#System.Xml/System/Xml/Serialization/XmlMembersMapping.cs,28
    [2] http://referencesource.microsoft.com/#System.Web.Services/System/Web/Services/Protocols/SoapReflector.cs,515

commit cdad88d
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Thu Jun 30 13:42:42 2016 +0100

    [System.Web.Services] Test Header sharing issue.

    Covers #41564

    When multiple methods shared soap header a duplicate key exception would
    be thrown.

    This issue only occurs on XAMMAC and MOBILE where the non reference
    source serializer is still used.

commit 0935e38
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Mon Jun 27 10:00:01 2016 +0100

    [System] Fixes ConnectAsync UnhandledEx

    Fixes #41616

    ConnectAsyncCallback now throws an exception when called a second time.
    ConnectAsync reuses SocketAsyncEventArgs in BeginConnect which
    already updates its state and calls ConnectAsyncCallback.

    The changes make sure that ConnectAsyncCallback no longer called on
    ConnectAsync catch block, while the state is still updated with the
    exception.

commit 0d5c493
Author: Marcos Henrich <marcos.henrich@xamarin.com>
Date:   Mon Jun 27 09:50:48 2016 +0100

    [System] Test Unhandled Ex on ConnectAsync

    Covers #41616

    Our console runner is currently swallowing this test unhandled
    exceptions.

    To make it test show the failure I had to set legacyUnhandledExceptionPolicy
    to 0 in mcs/class/lib/net_4_x/nunit-console.exe.config

    Then running we can observe the crash by running:
    make -C mcs/class/System check TESTNAME=System.Net.Sockets.SocketTest.ConnectAsyncUnhandledEx

    Other tests appear to crash with legacyUEP set to 0, while the runner
    shows no errors.

commit 3a4ccc0
Author: Marek Safar <marek.safar@gmail.com>
Date:   Mon Jul 4 15:01:00 2016 +0200

    [mcs] More tweaks in betterness improvements. Fixes #42057

commit fed6c32
Author: Marek Safar <marek.safar@gmail.com>
Date:   Mon Jul 4 12:39:42 2016 +0200

    [System.Numerics.Vectors] Update type forwarders

commit 2b87f36
Author: Marek Safar <marek.safar@gmail.com>
Date:   Mon Jul 4 11:23:23 2016 +0200

    [System.Numerics] Update .net 4.6 api

madewokherd pushed a commit to madewokherd/mono that referenced this issue Sep 30, 2016

[System.IO.Compression] Fixed Zip entries with unset last write time …
…to return the same as .NET.

.NET on Windows returns a fixed date for this, replicate the same behaviour in Mono.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=40916.

See also: NuGet/Home#2518

(cherry picked from commit bd938a4)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment