Skip to content
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

Upgrade zlib-ng to 2.2.1 #105771

Merged
merged 5 commits into from
Sep 5, 2024
Merged

Upgrade zlib-ng to 2.2.1 #105771

merged 5 commits into from
Sep 5, 2024

Conversation

carlossanlop
Copy link
Member

Stable version 2.2.1 was released on July 2nd (a month ago).

Let's discuss if we want to include this update in .NET 9 or wait until after main points to .NET 10.

I am following the instructions we're adding for native dependency updates, to see if there's anything special that needs to be added: #105045 . For example: I decided to update the THIRD_PARTY_NOTICES.TXT to match the license exactly as it shows up in the 2.2.1 release commit, not on the develop branch, as we don't know if the license would change from one version to another. The contents are the same except for some line breaks.

Copy link
Contributor

Tagging subscribers to this area: @dotnet/area-system-io-compression
See info in area-owners.md if you want to be subscribed.

@stephentoub
Copy link
Member

Stable version 2.2.1 was released on July 2nd (a month ago).
Let's discuss if we want to include this update in .NET 9 or wait until after main points to .NET 10.

Am I understanding correctly that this is currently using 2.1.6 from January, such that by the time .NET 9 ships it'll be almost a year old?

@carlossanlop
Copy link
Member Author

Am I understanding correctly that this is currently using 2.1.6 from January, such that by the time .NET 9 ships it'll be almost a year old?

I started working on the zlib-ng migration before July 2nd, so the only other release available was a Release Candidate from June: https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.0

In a meeting with @GrabYourPitchforks and @blowdart we also discussed that we would like to give external dependencies some time after they're released before we take them in. This is mainly why I'm asking we decide if we want to take this version, as it is only 1 month old.

@stephentoub
Copy link
Member

Thanks. Assuming we do all the relevant due diligence, I think we should take it. Ensuring we're as up-to-date as possible makes it easier to absorb servicing changes if any arise, we've still got months before the actual release, and the currently-used version will be almost a year out-of-date by the time we release.

@carlossanlop
Copy link
Member Author

carlossanlop commented Aug 22, 2024

@jkotas Here are my microbenchmark results testing with and without our custom allocator.

I used this commit for the custom allocator removal (not yet included in this PR): carlossanlop@828545f

Summary:

  • We got slightly faster results when removing the custom allocator.
  • There were no cases where keeping the custom allocator was faster.
  • There was no change in the allocated and allocation ratio columns.

Deflate

Method Job Toolchain level file Mean Error StdDev Median Min Max Ratio RatioSD Gen0 Allocated Alloc Ratio
Compress Job-YSVCTM without custom allocator Optimal alice29.txt 2,916.37 μs 10.674 μs 9.985 μs 2,917.29 μs 2,902.90 μs 2,936.71 μs 0.99 0.00 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal alice29.txt 2,958.88 μs 10.353 μs 9.684 μs 2,956.42 μs 2,945.34 μs 2,979.15 μs 1.00 0.00 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal alice29.txt 397.90 μs 1.944 μs 1.819 μs 397.56 μs 394.73 μs 400.80 μs 0.99 0.01 - 8.24 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal alice29.txt 401.27 μs 1.972 μs 1.845 μs 400.92 μs 398.18 μs 404.97 μs 1.00 0.01 - 8.24 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal sum 547.96 μs 3.124 μs 2.770 μs 547.46 μs 544.48 μs 552.78 μs 0.94 0.01 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal sum 584.37 μs 7.197 μs 6.732 μs 580.71 μs 579.14 μs 596.69 μs 1.00 0.02 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal sum 68.81 μs 1.987 μs 2.288 μs 68.35 μs 66.29 μs 75.05 μs 0.99 0.05 0.2894 8.23 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal sum 69.54 μs 2.183 μs 2.514 μs 68.18 μs 67.31 μs 76.40 μs 1.00 0.05 0.2921 8.23 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 2,709.84 μs 10.633 μs 8.879 μs 2,711.08 μs 2,696.98 μs 2,721.65 μs 1.00 0.00 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 2,708.00 μs 11.485 μs 10.743 μs 2,704.15 μs 2,695.07 μs 2,731.28 μs 1.00 0.01 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 326.64 μs 0.937 μs 0.877 μs 326.57 μs 325.29 μs 328.28 μs 1.01 0.00 - 8.24 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 324.36 μs 1.187 μs 1.052 μs 324.80 μs 322.39 μs 325.86 μs 1.00 0.00 - 8.24 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest alice29.txt 936.95 μs 5.524 μs 5.167 μs 937.08 μs 927.39 μs 942.99 μs 0.99 0.01 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest alice29.txt 950.55 μs 5.808 μs 5.149 μs 951.18 μs 943.44 μs 959.67 μs 1.00 0.01 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest alice29.txt 516.84 μs 2.849 μs 2.526 μs 516.00 μs 512.96 μs 522.23 μs 0.99 0.01 - 8.23 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest alice29.txt 524.29 μs 3.479 μs 3.084 μs 523.44 μs 520.00 μs 530.55 μs 1.00 0.01 - 8.23 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest sum 249.61 μs 3.755 μs 3.512 μs 248.26 μs 246.21 μs 256.85 μs 0.84 0.02 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest sum 296.00 μs 4.240 μs 3.966 μs 295.95 μs 291.52 μs 305.00 μs 1.00 0.02 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest sum 73.65 μs 1.899 μs 2.110 μs 73.54 μs 71.02 μs 78.27 μs 0.99 0.03 0.3064 8.23 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest sum 74.44 μs 1.419 μs 1.578 μs 73.50 μs 72.90 μs 78.32 μs 1.00 0.03 0.3109 8.23 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 1,265.54 μs 8.724 μs 8.161 μs 1,262.51 μs 1,257.22 μs 1,279.14 μs 1.00 0.01 - 8.22 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 1,260.77 μs 4.294 μs 4.016 μs 1,261.65 μs 1,254.79 μs 1,265.78 μs 1.00 0.00 - 8.22 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 331.76 μs 0.602 μs 0.503 μs 331.74 μs 330.69 μs 332.72 μs 1.00 0.00 - 8.24 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 331.92 μs 1.090 μs 1.020 μs 331.83 μs 330.45 μs 334.11 μs 1.00 0.00 - 8.24 KB 1.00

GZip

Method Job Toolchain level file Mean Error StdDev Median Min Max Ratio RatioSD Gen0 Allocated Alloc Ratio
Compress Job-YSVCTM without custom allocator Optimal alice29.txt 3,092.28 μs 13.702 μs 12.817 μs 3,094.35 μs 3,073.88 μs 3,115.65 μs 0.99 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal alice29.txt 3,128.58 μs 11.340 μs 10.607 μs 3,125.02 μs 3,115.51 μs 3,148.59 μs 1.00 0.00 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal alice29.txt 410.38 μs 1.472 μs 1.229 μs 409.97 μs 408.31 μs 412.65 μs 0.99 0.01 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal alice29.txt 414.42 μs 2.382 μs 2.111 μs 413.56 μs 412.50 μs 418.60 μs 1.00 0.01 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal sum 566.11 μs 4.941 μs 4.622 μs 566.43 μs 558.69 μs 574.46 μs 0.94 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal sum 601.07 μs 6.776 μs 6.338 μs 597.76 μs 595.39 μs 613.79 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal sum 71.56 μs 2.287 μs 2.634 μs 71.31 μs 67.92 μs 76.47 μs 1.00 0.04 0.2976 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal sum 71.55 μs 1.686 μs 1.874 μs 70.68 μs 69.14 μs 76.05 μs 1.00 0.04 0.3019 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 2,765.56 μs 10.343 μs 9.675 μs 2,761.76 μs 2,753.35 μs 2,784.66 μs 1.00 0.00 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 2,771.55 μs 8.792 μs 7.794 μs 2,768.61 μs 2,762.94 μs 2,790.14 μs 1.00 0.00 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 327.00 μs 1.492 μs 1.395 μs 326.39 μs 325.66 μs 329.74 μs 1.01 0.01 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 325.29 μs 1.331 μs 1.180 μs 325.12 μs 323.64 μs 327.57 μs 1.00 0.00 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest alice29.txt 960.43 μs 5.991 μs 5.311 μs 959.00 μs 953.37 μs 973.42 μs 0.98 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest alice29.txt 979.64 μs 4.138 μs 3.668 μs 979.38 μs 973.99 μs 985.97 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest alice29.txt 515.84 μs 1.202 μs 1.066 μs 515.74 μs 514.03 μs 518.05 μs 0.98 0.00 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest alice29.txt 524.58 μs 1.857 μs 1.646 μs 524.29 μs 522.27 μs 527.00 μs 1.00 0.00 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest sum 255.82 μs 4.019 μs 3.760 μs 254.10 μs 251.98 μs 263.95 μs 0.83 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest sum 307.60 μs 3.991 μs 3.538 μs 306.85 μs 302.65 μs 314.94 μs 1.00 0.02 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest sum 74.22 μs 1.843 μs 2.122 μs 74.46 μs 71.24 μs 79.21 μs 0.98 0.04 0.3034 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest sum 75.48 μs 1.706 μs 1.896 μs 75.54 μs 73.05 μs 80.25 μs 1.00 0.03 0.3157 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 1,305.29 μs 11.096 μs 10.379 μs 1,302.27 μs 1,288.17 μs 1,325.69 μs 1.00 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 1,302.80 μs 7.118 μs 6.659 μs 1,303.62 μs 1,292.07 μs 1,313.95 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 343.18 μs 1.539 μs 1.364 μs 342.72 μs 341.82 μs 345.96 μs 1.00 0.00 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 343.73 μs 0.933 μs 0.827 μs 343.83 μs 342.50 μs 344.85 μs 1.00 0.00 - 8.27 KB 1.00

ZLib

Method Job Toolchain level file Mean Error StdDev Median Min Max Ratio RatioSD Gen0 Allocated Alloc Ratio
Compress Job-YSVCTM without custom allocator Optimal alice29.txt 2,928.34 μs 10.285 μs 8.588 μs 2,929.18 μs 2,911.31 μs 2,939.21 μs 0.98 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal alice29.txt 2,973.98 μs 18.508 μs 16.406 μs 2,970.56 μs 2,956.85 μs 3,012.49 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal alice29.txt 400.41 μs 3.422 μs 3.201 μs 399.63 μs 395.94 μs 405.79 μs 0.99 0.01 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal alice29.txt 403.53 μs 1.656 μs 1.383 μs 403.31 μs 401.36 μs 405.98 μs 1.00 0.00 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal sum 547.31 μs 3.959 μs 3.509 μs 546.54 μs 543.55 μs 554.45 μs 0.94 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal sum 584.32 μs 7.886 μs 7.377 μs 581.57 μs 577.08 μs 599.15 μs 1.00 0.02 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal sum 67.84 μs 1.431 μs 1.591 μs 67.81 μs 65.40 μs 71.22 μs 0.95 0.04 0.2867 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal sum 71.23 μs 2.307 μs 2.657 μs 70.59 μs 68.34 μs 75.99 μs 1.00 0.05 0.3005 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 2,701.55 μs 7.520 μs 6.666 μs 2,701.40 μs 2,691.01 μs 2,710.39 μs 0.99 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 2,721.83 μs 17.107 μs 15.165 μs 2,721.79 μs 2,697.94 μs 2,752.02 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Optimal TestDocument.pdf 326.13 μs 1.111 μs 1.039 μs 325.95 μs 324.91 μs 328.44 μs 1.00 0.01 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Optimal TestDocument.pdf 326.13 μs 1.512 μs 1.415 μs 325.50 μs 324.57 μs 328.34 μs 1.00 0.01 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest alice29.txt 937.92 μs 4.171 μs 3.483 μs 938.67 μs 931.24 μs 943.66 μs 0.99 0.00 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest alice29.txt 949.18 μs 3.242 μs 3.033 μs 948.89 μs 944.80 μs 953.85 μs 1.00 0.00 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest alice29.txt 527.59 μs 2.235 μs 1.982 μs 528.21 μs 524.48 μs 531.75 μs 1.01 0.00 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest alice29.txt 524.94 μs 1.634 μs 1.364 μs 524.89 μs 523.08 μs 527.70 μs 1.00 0.00 - 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest sum 248.28 μs 2.749 μs 2.437 μs 248.53 μs 243.77 μs 253.27 μs 0.84 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest sum 295.76 μs 4.967 μs 4.646 μs 295.12 μs 290.55 μs 304.22 μs 1.00 0.02 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest sum 74.43 μs 2.116 μs 2.436 μs 74.61 μs 70.16 μs 79.64 μs 0.99 0.04 0.3079 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest sum 75.26 μs 1.461 μs 1.500 μs 74.95 μs 73.49 μs 79.11 μs 1.00 0.03 0.3157 8.27 KB 1.00
Compress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 1,258.06 μs 5.261 μs 4.664 μs 1,256.50 μs 1,252.02 μs 1,265.21 μs 0.99 0.01 - 8.25 KB 1.00
Compress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 1,265.43 μs 10.390 μs 9.718 μs 1,261.92 μs 1,253.94 μs 1,283.95 μs 1.00 0.01 - 8.25 KB 1.00
Decompress Job-YSVCTM without custom allocator Fastest TestDocument.pdf 330.97 μs 0.844 μs 0.705 μs 331.10 μs 329.75 μs 332.03 μs 0.99 0.00 - 8.27 KB 1.00
Decompress Job-QGNCFR with custom allocator Fastest TestDocument.pdf 333.58 μs 0.714 μs 0.596 μs 333.73 μs 332.58 μs 334.52 μs 1.00 0.00 - 8.27 KB 1.00

@jkotas
Copy link
Member

jkotas commented Aug 22, 2024

There were no cases where keeping the custom allocator was faster.

The custom allocator is security mitigation. It is not meant to make things faster. It is expected to make things a bit slower, but the slowdown was assumed to be in the noise range (see #84604 for the perf numbers for when it was introduced).

It does not seem to be the case anymore for small payloads based on the results from the sum micro-benchmark.

@carlossanlop
Copy link
Member Author

The custom allocator is security mitigation. It is not meant to make things faster.

I understand that. I was just mentioning the notable differences between the microbenchmark results, among which one of them happened to be a tiny speed improvement, which I agree it's negligible as it is not in the range outside noise.

So what is your opinion on formally including the removal of the custom allocator in this PR? I say we do it.

@jkotas
Copy link
Member

jkotas commented Aug 22, 2024

So what is your opinion on formally including the removal of the custom allocator in this PR? I say we do it.

Now that zlib-ng allocates one big memory block and manages the small memory allocations with that big block internally, the custom allocator does not provide most of the benefits that it was originally introduced for. I think it is fine to remove it.

@carlossanlop
Copy link
Member Author

Ok great.

BTW Seems there are some tests failing. At first glance, it seems they expect a certain file size and it's not being met anymore. I need to investigate them.

@jkotas
Copy link
Member

jkotas commented Aug 27, 2024

#105771 (comment) from my earlier feedback is still unresolved

Also apply:
- https://github.com/dotnet/runtime/commit/ecdb625035e0e3fb7c51e908713d96d2cb2080c8.patch or cherry-pick ecdb625035e0e3fb7c51e908713d96d2cb2080c8 directly.
- https://github.com/dotnet/runtime/pull/105771.patch
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This links to a full 1000's lines bug patch. I think this should only link to a single commit with the specific change, similar to the previous line.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hold on, I'll have to squash everything. Sigh.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That should do it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am sorry, this is still the wrong 1000's lines commit.

These commits should be only the zlib-ng delta vs. upstream.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No worries, I want to do the right thing, but I am unsure how to get the correct delta that you expect.

The commit I used for the patch is the commit containing the squashed contents of this PR. That patch is showing a diff before and after updating zlib-ng (which does have a lot of changes since their last release). It's also excluding all the unnecessary files and folders, and also updating our informational json and txt files.

What am I missing?

Note: This comment thread is already old and pointing at the wrong patch (it's the patch of the PR itself). Are you looking at my most recent two commits?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I am looking at the two most recent commits. 

Take a look at #102231 for a good way to make these types of updates. Could you please update this PR to be composed of these 3 commits:

Commit 1: Verbatim copy of the zlib-ng v2.2.1 sources (with the specific directories and files excluded)
Commit 2: Our patches in zlib-ng sources. You can either keep the patches as multiple commits or they can be squashed into a single commit. Either way is fine.
Commit 3: Changes outside src/native/external/zlib-ng, including links to commit(s) 2 in zlib-ng-version.txt

It is nice to merge these PRs as "merge" instead of "squash" so that it is easier to tell what happened.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, done. If we merge this with a "merge-commit", the patch comment in zlib-ng-version.txt will be usable on the next zlib-ng update.

Copy link
Member

@jkotas jkotas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you!

@carlossanlop
Copy link
Member Author

/ba-g all failures are pre-existing. The unknown one was a dead machine.

@carlossanlop carlossanlop merged commit 468362f into dotnet:main Sep 5, 2024
155 of 162 checks passed
@carlossanlop
Copy link
Member Author

/backport to release/9.0

Copy link
Contributor

github-actions bot commented Sep 5, 2024

Started backporting to release/9.0: https://github.com/dotnet/runtime/actions/runs/10723125127

Copy link
Contributor

github-actions bot commented Sep 5, 2024

@carlossanlop backporting to release/9.0 failed, the patch most likely resulted in conflicts:

$ git am --3way --empty=keep --ignore-whitespace --keep-non-patch changes.patch

Applying: Update to zlib-ng 2.2.1, excluding the folders: - docs/ - test/ - arch/s390/self-hosted-builder/
Applying: Apply slide_hash and deflate patch with casts and asserts.
Applying: Remove custom allocator.
Using index info to reconstruct a base tree...
M	src/native/libs/System.IO.Compression.Native/CMakeLists.txt
M	src/native/libs/System.IO.Compression.Native/zlib_allocator_unix.c
Falling back to patching base and 3-way merge...
Removing src/native/libs/System.IO.Compression.Native/zlib_allocator_win.c
CONFLICT (modify/delete): src/native/libs/System.IO.Compression.Native/zlib_allocator_unix.c deleted in Remove custom allocator. and modified in HEAD. Version HEAD of src/native/libs/System.IO.Compression.Native/zlib_allocator_unix.c left in tree.
Removing src/native/libs/System.IO.Compression.Native/zlib_allocator.h
Auto-merging src/native/libs/System.IO.Compression.Native/CMakeLists.txt
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config advice.mergeConflict false"
Patch failed at 0003 Remove custom allocator.
Error: The process '/usr/bin/git' failed with exit code 128

Please backport manually!

Copy link
Contributor

github-actions bot commented Sep 5, 2024

@carlossanlop an error occurred while backporting to release/9.0, please check the run log for details!

Error: git am failed, most likely due to a merge conflict.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants