helloadhavan/github_issues huggingface dataset:
Repository: denoland/deno
Pull request: FUTURE(ext/fs): stabilize file system APIs

Closes https://github.com/denoland/deno/issues/23906

Changed files:
filename: cli/args/mod.rs
patch: @@ -1754,6 +1754,13 @@ impl CliOptions {
       .unwrap_or_default();
 
     from_config_file.extend_from_slice(&self.flags.unstable_config.features);
+
+    if *DENO_FUTURE {
+      from_config_file.extend_from_slice(&[
+        deno_runtime::deno_fs::UNSTABLE_FEATURE_NAME.to_string(),
+      ]);
+    }
+
     from_config_file
   }
 

filename: tests/specs/future/unstable_flags/__test__.jsonc
patch: @@ -0,0 +1,20 @@
+{
+  "steps": [
+    {
+      // Notice `--unstable-*` flags are not needed anymore
+      "args": "run -A main.js",
+      "output": "main.out",
+      "envs": {
+        "DENO_FUTURE": "1"
+      }
+    },
+    {
+      // Notice `--unstable-*` flags are not needed anymore
+      "args": "run -A worker.js",
+      "output": "main.out",
+      "envs": {
+        "DENO_FUTURE": "1"
+      }
+    }
+  ]
+}

filename: tests/specs/future/unstable_flags/main.js
patch: @@ -0,0 +1,4 @@
+console.log(
+  // Undefined without `--unstable-fs`
+  Deno.build.os === "windows" ? true : typeof Deno.umask === "function",
+);

filename: tests/specs/future/unstable_flags/main.out
patch: @@ -0,0 +1 @@
+true

filename: tests/specs/future/unstable_flags/worker.js
patch: @@ -0,0 +1,5 @@
+import { delay } from "../../../util/std/async/delay.ts";
+
+const worker = new Worker(import.meta.resolve("./main.js"), { type: "module" });
+await delay(1_000);
+worker.terminate();
Repository: nodejs/node
Pull request: doc: correct max-semi-space-size statement

Corrects #55495 re. the `--max-semi-space-size` default behavior change after Node 18

This relates to Node 19+ so please label [dont-land-on-v18.x](https://github.com/nodejs/node/labels/dont-land-on-v18.x)

Correction: The default `max-semi-space-size` doesn't reach 16MiB until the memory limit _exceeds_ 2GiB:

```shell
docker run -it -m 2048m \
  -e NODE_OPTIONS="--max-old-space-size=1536" \
  node:20 node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
```

=> 1560 - 1536 = 24MB = 3x max-semi-space = 8MB

```shell
docker run -it -m 2049m \
  -e NODE_OPTIONS="--max-old-space-size=1536" \
  node:20 node -e 'console.log(v8.getHeapStatistics().heap_size_limit/(1024*1024))'
```

=> 1584 - 1536 = 48MB = 3x max-semi-space = 16MB

(Relates #55487 - Please excuse the churn!)

Changed files:
filename: doc/api/cli.md
patch: @@ -3526,8 +3526,8 @@ improvement depends on your workload (see [#42511][]).
 
 The default value depends on the memory limit. For example, on 64-bit systems
 with a memory limit of 512 MiB, the max size of a semi-space defaults to 1 MiB.
-On 64-bit systems with a memory limit of 2 GiB, the max size of a semi-space
-defaults to 16 MiB.
+For memory limits up to and including 2GiB, the default max size of a
+semi-space will be less than 16 MiB on 64-bit systems.
 
 To get the best configuration for your application, you should try different
 max-semi-space-size values when running benchmarks for your application.
Repository: electron/electron
Pull request: build: fixup ffmpeg release on x64 macOS

Backport of #43093

See that PR for details.


Notes: <!-- Please add a one-line description for app developers to read in the release notes, or 'none' if no notes relevant to app developers. Examples and help on special cases: https://github.com/electron/clerk/blob/main/README.md#examples -->Fixed ffmpeg release on x64 macOS


Changed files:
filename: .github/actions/build-electron/action.yml
patch: @@ -36,7 +36,7 @@ runs:
       shell: bash
       if: ${{ inputs.target-arch == 'x64' && inputs.target-platform == 'macos' }}
       run: |
-        GN_APPENDED_ARGS="$GN_EXTRA_ARGS v8_snapshot_toolchain=\"//build/toolchain/mac:clang_x64\""
+        GN_APPENDED_ARGS="$GN_EXTRA_ARGS target_cpu=\"x64\" v8_snapshot_toolchain=\"//build/toolchain/mac:clang_x64\""
         echo "GN_EXTRA_ARGS=$GN_APPENDED_ARGS" >> $GITHUB_ENV
     - name: Build Electron ${{ inputs.step-suffix }}
       shell: bash
Repository: huggingface/transformers
Pull request: Fix get_device_properties

Made a woopsie during a final refactoring

Changed files:
filename: src/transformers/testing_utils.py
patch: @@ -3056,7 +3056,7 @@ def cleanup(device: str, gc_collect=False):
 
 
 @cache
-def get_device_properties(self) -> DeviceProperties:
+def get_device_properties() -> DeviceProperties:
     """
     Get environment device properties.
     """
Repository: ggml-org/llama.cpp
Pull request: SYCL: implement memset ggml backend buffer interface

Implemented ggml backend buffer memset interface which was missing.

I found out when I was trying to debug `test-opt` CI failures on the ggml repo and thought of implementing it.

We do not support optimizer or training in the SYCL backend currently but implemented it regardless.


Changed files:
filename: ggml/src/ggml-sycl/ggml-sycl.cpp
patch: @@ -37,6 +37,7 @@
 #include "ggml-backend-impl.h"
 
 #include "ggml-sycl/backend.hpp"
+#include "ggml-sycl/common.hpp"
 #include "ggml-sycl/presets.hpp"
 #include "ggml-sycl/gemm.hpp"
 #include "ggml-sycl/sycl_hw.hpp"
@@ -490,6 +491,23 @@ catch (sycl::exception const &exc) {
   std::exit(1);
 }
 
+static void ggml_backend_sycl_buffer_memset_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, uint8_t value,
+                                                   size_t offset, size_t size) {
+    GGML_SYCL_DEBUG(" [SYCL] call %s\n", __func__);
+    ggml_backend_sycl_buffer_context * ctx = (ggml_backend_sycl_buffer_context *) buffer->context;
+    SYCL_CHECK(ggml_sycl_set_device(ctx->device));
+    auto stream = &(dpct::dev_mgr::instance().get_device(ctx->device).default_queue());
+    if (size == 0) {
+        return;  // Nothing to do
+    }
+    if (tensor->data == nullptr) {
+        GGML_ABORT("Error: Tensor data pointer is null.\n");
+    }
+    void * target_ptr = static_cast<char *>(tensor->data) + offset;
+    SYCL_CHECK(CHECK_TRY_ERROR((*stream).memset(target_ptr, value, size)));
+    SYCL_CHECK(CHECK_TRY_ERROR((*stream).wait()));
+}
+
 static void ggml_backend_sycl_buffer_reset(ggml_backend_buffer_t buffer) {
     GGML_SYCL_DEBUG("[SYCL] call %s\n", __func__);
     if (buffer == nullptr) {
@@ -510,7 +528,7 @@ static const ggml_backend_buffer_i ggml_backend_sycl_buffer_interface = {
     /* .free_buffer     = */ ggml_backend_sycl_buffer_free_buffer,
     /* .get_base        = */ ggml_backend_sycl_buffer_get_base,
     /* .init_tensor     = */ ggml_backend_sycl_buffer_init_tensor,
-    /* .memset_tensor   = */ NULL,
+    /* .memset_tensor   = */ ggml_backend_sycl_buffer_memset_tensor,
     /* .set_tensor      = */ ggml_backend_sycl_buffer_set_tensor,
     /* .get_tensor      = */ ggml_backend_sycl_buffer_get_tensor,
     /* .cpy_tensor      = */ ggml_backend_sycl_buffer_cpy_tensor,
Repository: vercel/next.js
Pull request: [ci] remove needs build-native for lint job

`build-native` and `build-native-windows` were skipped for docs only changes in #77743, removing the native from the `needs:[]` dependencies of lint job to ensure lint will still be proceed for docs PR

Changed files:
filename: .github/workflows/build_and_test.yml
patch: @@ -97,8 +97,7 @@ jobs:
 
   lint:
     name: lint
-    needs: ['build-native', 'build-next']
-
+    needs: ['build-next']
     uses: ./.github/workflows/build_reusable.yml
     with:
       afterBuild: pnpm lint-no-typescript && pnpm check-examples
Repository: denoland/deno
Pull request: fix(ext/fs): truncate files when a ReadableStream is passed to writeFile

Closes #19697. This fixes a bug where the writeFile API can create partially-overwritten files which may lead to invalid / corrupt files or data leakage. It also aligns the behavior of writing a ReadableStream and writing a Uint8Array to the disk.

Changed files:
filename: ext/fs/30_fs.js
patch: @@ -926,6 +926,7 @@ async function writeFile(
         append: options.append ?? false,
         create: options.create ?? true,
         createNew: options.createNew ?? false,
+        truncate: !(options.append ?? false),
         write: true,
       });
       await data.pipeTo(file.writable, {

filename: tests/unit/write_file_test.ts
patch: @@ -425,3 +425,21 @@ Deno.test(
     assertEquals(Deno.readFileSync(filename), new Uint8Array([1, 2]));
   },
 );
+
+Deno.test(
+  { permissions: { read: true, write: true } },
+  async function overwriteFileWithStream() {
+    const filename = Deno.makeTempDirSync() + "/test.txt";
+    await Deno.writeFile(filename, new Uint8Array([1, 2, 3, 4]));
+
+    const stream = new ReadableStream({
+      pull(controller) {
+        controller.enqueue(new Uint8Array([1]));
+        controller.enqueue(new Uint8Array([2]));
+        controller.close();
+      },
+    });
+    await Deno.writeFile(filename, stream);
+    assertEquals(Deno.readFileSync(filename), new Uint8Array([1, 2]));
+  },
+);
Repository: huggingface/transformers
Pull request: Fix tensor dtype mismatch


Changed files:
filename: tests/models/mixtral/test_modeling_mixtral.py
patch: @@ -486,7 +486,7 @@ def test_small_model_logits(self):
         # Note: Key 9 is currently set for MI300, but may need potential future adjustments for H100s,
         # considering differences in hardware processing and potential deviations in output.
         EXPECTED_LOGITS = {
-            7: torch.Tensor([[0.1670, 0.1620, 0.6094], [-0.8906, -0.1588, -0.6060], [0.1572, 0.1290, 0.7246]]).to(
+            7: torch.Tensor([[0.1640, 0.1621, 0.6093], [-0.8906, -0.1640, -0.6093], [0.1562, 0.1250, 0.7226]]).to(
                 torch_device
             ),
             8: torch.Tensor([[0.1631, 0.1621, 0.6094], [-0.8906, -0.1621, -0.6094], [0.1572, 0.1270, 0.7227]]).to(
@@ -499,6 +499,8 @@ def test_small_model_logits(self):
         with torch.no_grad():
             logits = model(dummy_input).logits
 
+        logits = logits.float()
+
         torch.testing.assert_close(
             logits[0, :3, :3], EXPECTED_LOGITS[self.cuda_compute_capability_major_version], atol=1e-3, rtol=1e-3
         )
@@ -525,7 +527,7 @@ def test_small_model_logits_batched(self):
         # considering differences in hardware processing and potential deviations in generated text.
         EXPECTED_LOGITS_LEFT = {
             7: torch.Tensor(
-                [[0.1750, 0.0537, 0.7007], [0.1750, 0.0537, 0.7007], [0.1750, 0.0537, 0.7007]],
+                [[0.1904, 0.0500, 0.7187], [0.1933, 0.0515, 0.7187], [0.2001, 0.0559, 0.7148]],
             ).to(torch_device),
             8: torch.Tensor([[0.1914, 0.0508, 0.7188], [0.1953, 0.0510, 0.7227], [0.1973, 0.0562, 0.7148]]).to(
                 torch_device
@@ -537,7 +539,7 @@ def test_small_model_logits_batched(self):
 
         EXPECTED_LOGITS_LEFT_UNPADDED = {
             7: torch.Tensor(
-                [[0.2212, 0.5200, -0.3816], [0.8213, -0.2313, 0.6069], [0.2664, -0.7090, 0.2468]],
+                [[0.2236, 0.5195, -0.3828], [0.8203, -0.2275, 0.6054], [0.2656, -0.7070, 0.2460]],
             ).to(torch_device),
             8: torch.Tensor([[0.2217, 0.5195, -0.3828], [0.8203, -0.2295, 0.6055], [0.2676, -0.7109, 0.2461]]).to(
                 torch_device
@@ -548,7 +550,7 @@ def test_small_model_logits_batched(self):
         }
 
         EXPECTED_LOGITS_RIGHT_UNPADDED = {
-            7: torch.Tensor([[0.2205, 0.1232, -0.1611], [-0.3484, 0.3030, -1.0312], [0.0742, 0.7930, 0.7969]]).to(
+            7: torch.Tensor([[0.2167, 0.1269, -0.1640], [-0.3496, 0.2988, -1.0312], [0.0688, 0.7929, 0.8007]]).to(
                 torch_device
             ),
             8: torch.Tensor([[0.2178, 0.1260, -0.1621], [-0.3496, 0.2988, -1.0312], [0.0693, 0.7930, 0.8008]]).to(
@@ -561,6 +563,7 @@ def test_small_model_logits_batched(self):
 
         with torch.no_grad():
             logits = model(dummy_input, attention_mask=attention_mask).logits
+        logits = logits.float()
 
         torch.testing.assert_close(
             logits[0, :3, :3], EXPECTED_LOGITS_LEFT[self.cuda_compute_capability_major_version], atol=1e-3, rtol=1e-3
Repository: facebook/react
Pull request: Typo: 'occured' -> 'occurred' in comment

<!--
  Thanks for submitting a pull request!
  We appreciate you spending the time to work on these changes. Please provide enough information so that others can review your pull request. The three fields below are mandatory.

  Before submitting a pull request, please make sure the following is done:

  1. Fork [the repository](https://github.com/facebook/react) and create your branch from `main`.
  2. Run `yarn` in the repository root.
  3. If you've fixed a bug or added code that should be tested, add tests!
  4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch TestName` is helpful in development.
  5. Run `yarn test --prod` to test in the production environment. It supports the same options as `yarn test`.
  6. If you need a debugger, run `yarn debug-test --watch TestName`, open `chrome://inspect`, and press "Inspect".
  7. Format your code with [prettier](https://github.com/prettier/prettier) (`yarn prettier`).
  8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

  Learn more about contributing: https://reactjs.org/docs/how-to-contribute.html
-->

## Summary

Fixes a typo "occured" to "occurred" in comment.

## Test Plan

N/A
<!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes the user interface. -->


Changed files:
filename: packages/react-devtools-scheduling-profiler/src/content-views/SnapshotsView.js
patch: @@ -63,7 +63,7 @@ export class SnapshotsView extends View {
 
     let x = visibleArea.origin.x;
 
-    // Rather than drawing each snapshot where it occured,
+    // Rather than drawing each snapshot where it occurred,
     // draw them at fixed intervals and just show the nearest one.
     while (x < visibleArea.origin.x + visibleArea.size.width) {
       const snapshot = this._findClosestSnapshot(x);
Repository: huggingface/transformers
Pull request: Use torch.expm1

Use `torch.expm1(x)` instead of `torch.exp(x) - 1`. It is more accurate for small values of `x`.

Changed files:
filename: src/transformers/models/seamless_m4t/modeling_seamless_m4t.py
patch: @@ -2578,7 +2578,7 @@ def forward(
         lang = self.language_embedding(lang_id).transpose(1, 2)
 
         log_dur_pred = self.dur_predictor(hidden_states.transpose(1, 2))
-        dur_out = torch.clamp(torch.round((torch.exp(log_dur_pred) - 1)).long(), min=1)
+        dur_out = torch.clamp(torch.round((torch.expm1(log_dur_pred))).long(), min=1)
         # B x C x T
         if hidden_states.size(0) == 1:
             hidden_states = torch.repeat_interleave(hidden_states, dur_out.view(-1), dim=2)

filename: src/transformers/models/seamless_m4t_v2/modeling_seamless_m4t_v2.py
patch: @@ -2292,7 +2292,7 @@ def forward(
 
         # predict duration
         log_dur_pred = self.duration_predictor(char_hidden_states, padding_mask=char_padding_mask)
-        dur_out = torch.clamp(torch.round((torch.exp(log_dur_pred) - 1)).long(), min=1)
+        dur_out = torch.clamp(torch.round((torch.expm1(log_dur_pred))).long(), min=1)
         dur_out = dur_out.masked_fill(~char_padding_mask.bool(), 0.0)
 
         # upsample char hidden states according to predicted duration
@@ -2854,7 +2854,7 @@ def forward(
         lang = self.language_embedding(lang_id).transpose(1, 2)
 
         log_dur_pred = self.dur_predictor(hidden_states.transpose(1, 2))
-        dur_out = torch.clamp(torch.round((torch.exp(log_dur_pred) - 1)).long(), min=1)
+        dur_out = torch.clamp(torch.round((torch.expm1(log_dur_pred))).long(), min=1)
         # B x C x T
         if hidden_states.size(0) == 1:
             hidden_states = torch.repeat_interleave(hidden_states, dur_out.view(-1), dim=2)
Repository: denoland/deno
Pull request: fix(node): set default http server response code 200

Node sets the default HTTP response status code to 200 on the `ServerResponse`. We initialised it as `undefined` before which caused a problem with 11ty's dev server.

Thanks to @vrugtehagel for reporting this issue and finding the correct fix as well 🎉 

Fixes https://github.com/denoland/deno/issues/23970

Changed files:
filename: ext/node/polyfills/http.ts
patch: @@ -1332,7 +1332,7 @@ function onError(self, error, cb) {
 }
 
 export class ServerResponse extends NodeWritable {
-  statusCode?: number = undefined;
+  statusCode = 200;
   statusMessage?: string = undefined;
   #headers = new Headers({});
   #readable: ReadableStream;
@@ -1444,8 +1444,7 @@ export class ServerResponse extends NodeWritable {
   }
 
   #ensureHeaders(singleChunk?: Chunk) {
-    if (this.statusCode === undefined) {
-      this.statusCode = 200;
+    if (this.statusCode === 200 && this.statusMessage === undefined) {
       this.statusMessage = "OK";
     }
     if (
@@ -1460,7 +1459,7 @@ export class ServerResponse extends NodeWritable {
     this.headersSent = true;
     this.#ensureHeaders(singleChunk);
     let body = singleChunk ?? (final ? null : this.#readable);
-    if (ServerResponse.#bodyShouldBeNull(this.statusCode!)) {
+    if (ServerResponse.#bodyShouldBeNull(this.statusCode)) {
       body = null;
     }
     this.#resolve(

filename: tests/unit_node/http_test.ts
patch: @@ -1004,6 +1004,12 @@ Deno.test("[node/http] ServerResponse getHeaders", () => {
   assertEquals(res.getHeaders(), { "bar": "baz", "foo": "bar" });
 });
 
+Deno.test("[node/http] ServerResponse default status code 200", () => {
+  const req = new http.IncomingMessage(new net.Socket());
+  const res = new http.ServerResponse(req);
+  assertEquals(res.statusCode, 200);
+});
+
 Deno.test("[node/http] maxHeaderSize is defined", () => {
   assertEquals(http.maxHeaderSize, 16_384);
 });
Repository: ggml-org/llama.cpp
Pull request: Fix T5Encoder model handling.

Fix T5Encoder model handling. Fix issues https://github.com/HighDoping/Wan2.1/issues/2 and https://github.com/ggml-org/llama.cpp/issues/12588.

Changed files:
filename: src/llama-model.cpp
patch: @@ -11846,10 +11846,11 @@ llm_graph_result_ptr llama_model::build_graph(
                         GGML_ABORT("invalid graph type");
                 };
             } break;
-            //case LLM_ARCH_T5ENCODER:
-            //    {
-            //        llm.build_t5_enc(gf);
-            //    } break;
+        case LLM_ARCH_T5ENCODER:
+            {
+                llm = std::make_unique<llm_build_t5_enc>(*this, params, gf);
+            }
+            break;
         case LLM_ARCH_JAIS:
             {
                 llm = std::make_unique<llm_build_jais>(*this, params, gf);
Repository: facebook/react
Pull request: Fixed Components tree indentation bug for Chrome extension

By upgrading react-virtualized-auto-sizer to 1.0.6

See https://github.com/bvaughn/react-virtualized-auto-sizer/pull/39

Resolves #21986

Changed files:
filename: packages/react-devtools-scheduling-profiler/package.json
patch: @@ -9,7 +9,7 @@
     "memoize-one": "^5.1.1",
     "nullthrows": "^1.1.1",
     "pretty-ms": "^7.0.0",
-    "react-virtualized-auto-sizer": "^1.0.2",
+    "react-virtualized-auto-sizer": "^1.0.6",
     "regenerator-runtime": "^0.13.7"
   },
   "devDependencies": {

filename: packages/react-devtools-shared/package.json
patch: @@ -17,7 +17,7 @@
     "local-storage-fallback": "^4.1.1",
     "lodash.throttle": "^4.1.1",
     "memoize-one": "^3.1.1",
-    "react-virtualized-auto-sizer": "^1.0.2",
+    "react-virtualized-auto-sizer": "^1.0.6",
     "semver": "^6.3.0"
   }
 }

filename: yarn.lock
patch: @@ -12941,10 +12941,10 @@ react-timer-mixin@^0.13.4:
   resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.4.tgz#75a00c3c94c13abe29b43d63b4c65a88fc8264d3"
   integrity sha512-4+ow23tp/Tv7hBM5Az5/Be/eKKF7DIvJ09voz5LyHGQaqqz9WV8YMs31eFvcYQs7d451LSg7kDJV70XYN/Ug/Q==
 
-react-virtualized-auto-sizer@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.2.tgz#a61dd4f756458bbf63bd895a92379f9b70f803bd"
-  integrity sha512-MYXhTY1BZpdJFjUovvYHVBmkq79szK/k7V3MO+36gJkWGkrXKtyr4vCPtpphaTLRAdDNoYEYFZWE8LjN+PIHNg==
+react-virtualized-auto-sizer@^1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.6.tgz#66c5b1c9278064c5ef1699ed40a29c11518f97ca"
+  integrity sha512-7tQ0BmZqfVF6YYEWcIGuoR3OdYe8I/ZFbNclFlGOC3pMqunkYF/oL30NCjSGl9sMEb17AnzixDz98Kqc3N76HQ==
 
 react@^16.13.1:
   version "16.13.1"
Repository: huggingface/transformers
Pull request: Install `networkx==3.2.1` manually in some CircleCI jobs after #36957

# What does this PR do?

Use `pip install networkx==3.2.1` in CircleCI config file to avoid some failures. Have no ideas why however.

Changed files:
filename: .circleci/create_circleci_config.py
patch: @@ -206,6 +206,9 @@ def job_name(self):
 generate_job = CircleCIJob(
     "generate",
     docker_image=[{"image": "huggingface/transformers-torch-light"}],
+    # networkx==3.3 (after #36957) cause some issues
+    # TODO: remove this once it works directly
+    install_steps=["uv venv && uv pip install . && uv pip install networkx==3.2.1"],
     marker="generate",
     parallelism=6,
 )
@@ -328,6 +331,9 @@ def job_name(self):
 non_model_job = CircleCIJob(
     "non_model",
     docker_image=[{"image": "huggingface/transformers-torch-light"}],
+    # networkx==3.3 (after #36957) cause some issues
+    # TODO: remove this once it works directly
+    install_steps=["uv venv && uv pip install . && uv pip install networkx==3.2.1"],
     marker="not generate",
     parallelism=6,
 )
Repository: vercel/next.js
Pull request: [test] fix bad test fixuture for perf test

### What

Notice the test failing with error
```
[Error: The `<head>` tag may only be rendered once.]
Error occurred prerendering page "/404". Read more: https://nextjs.org/docs/messages/prerender-error
Error: The `<head>` tag may only be rendered once.
    at pushStartInstance (/private/var/folders/wv/xyy9xyz10sl4twdx_hp25mjc0000gn/T/next-install-774bc5a37376114
1677200de6e06e9fd9908f6aa5d9bf1124d02f79d153de089/node_modules/.pnpm/react-dom@19.1.0_react@19.1.0/node_modules
/react-dom/cjs/react-dom-server.edge.production.js:2161:17)
```
Turns out we had an extra `<head>` in the html

Changed files:
filename: test/e2e/pages-performance-mark/pages/_document.js
patch: @@ -3,7 +3,6 @@ import { Html, Head, Main, NextScript } from 'next/document'
 export default function Document() {
   return (
     <Html>
-      <Head />
       <Head />
       <body>
         <Main />