helloadhavan/github_issues huggingface dataset:
Repository: vercel/next.js
Pull request: fix: sanitize worker args for worker_threads compatibility

### What?

Sanitize worker method arguments when `enableWorkerThreads` is true to avoid `DataCloneError`.

### Why?

When `enableWorkerThreads: true` is set in the build static worker, `postMessage()` uses the structured clone algorithm which throws `DataCloneError` on function-valued properties (e.g. `generateBuildId: () => null` from the default config). The default `child_process` mode uses JSON serialization which silently drops functions.

### How?

Adds a `JSON.parse(JSON.stringify(args))` sanitization step for worker method arguments when worker threads are enabled, stripping non-serializable values before they reach `postMessage()`. This is a no-op when using child_process (the default).

This is a temporary workaround. The proper fix is to stop passing non-serializable objects (like the full `NextConfigComplete` with function properties) to worker methods in the first place. The main offender is `exportPages` in `export/index.ts` which passes the entire `nextConfig` object. Callers should be updated to extract only the serializable fields the worker actually needs, similar to how `isPageStatic` already does it. Once that's done, this sanitization can be removed.

Changed files:
filename: packages/next/src/lib/worker.ts
patch: @@ -245,29 +245,39 @@ export class Worker {
       hangingTimer = activeTasks > 0 && setTimeout(onHanging, timeout)
     }
 
+    // TODO: Remove this once callers stop passing non-serializable values
+    // (e.g. functions) in worker method arguments. The structured clone
+    // algorithm used by worker_threads rejects functions, unlike
+    // child_process which silently drops them via JSON serialization.
+    const sanitizeArgs = farmOptions.enableWorkerThreads
+      ? (args: any[]) => JSON.parse(JSON.stringify(args))
+      : (args: any[]) => args
+
     for (const method of farmOptions.exposedMethods) {
       if (method.startsWith('_')) continue
       ;(this as any)[method] = timeout
         ? // eslint-disable-next-line no-loop-func
           async (...args: any[]) => {
             activeTasks++
+            const sanitizedArgs = sanitizeArgs(args)
             try {
               let attempts = 0
               for (;;) {
                 onActivityImpl()
                 const result = await Promise.race([
-                  (this._worker as any)[method](...args),
+                  (this._worker as any)[method](...sanitizedArgs),
                   restartPromise,
                 ])
                 if (result !== RESTARTED) return result
-                if (onRestart) onRestart(method, args, ++attempts)
+                if (onRestart) onRestart(method, sanitizedArgs, ++attempts)
               }
             } finally {
               activeTasks--
               onActivityImpl()
             }
           }
-        : (this._worker as any)[method].bind(this._worker)
+        : (...args: any[]) =>
+            (this._worker as any)[method](...sanitizeArgs(args))
     }
   }
Repository: nodejs/node
Pull request: test: fix typos in test files

Minor tweaks

Changed files:
filename: test/fixtures/test-runner/global-setup-teardown/another-test-file.js
patch: @@ -4,7 +4,7 @@ const test = require('node:test');
 const assert = require('node:assert');
 const fs = require('node:fs');
 
-test('Another test that verifies setup flag existance', (t) => {
+test('Another test that verifies setup flag existence', (t) => {
   const setupFlagPath = process.env.SETUP_FLAG_PATH;
   assert.ok(fs.existsSync(setupFlagPath), 'Setup flag file should exist');
 

filename: test/parallel/test-abortsignal-drop-settled-signals.mjs
patch: @@ -103,7 +103,7 @@ function runWithOrphanListeners(limit, done) {
 const limit = 10_000;
 
 describe('when there is a long-lived signal', () => {
-  it('drops settled dependant signals', (t, done) => {
+  it('drops settled dependent signals', (t, done) => {
     makeSubsequentCalls(limit, (signal, dependantSignalsKey) => {
       setImmediate(() => {
         t.assert.strictEqual(signal[dependantSignalsKey].size, 0);
@@ -112,7 +112,7 @@ describe('when there is a long-lived signal', () => {
     });
   });
 
-  it('keeps all active dependant signals', (t, done) => {
+  it('keeps all active dependent signals', (t, done) => {
     makeSubsequentCalls(limit, (signal, dependantSignalsKey) => {
       t.assert.strictEqual(signal[dependantSignalsKey].size, limit);
 
@@ -132,7 +132,7 @@ it('does not prevent source signal from being GCed if it is short-lived', (t, do
   });
 });
 
-it('drops settled dependant signals when signal is composite', (t, done) => {
+it('drops settled dependent signals when signal is composite', (t, done) => {
   const controllers = Array.from({ length: 2 }, () => new AbortController());
 
   // Using WeakRefs to avoid this test to retain information that will make the test fail

filename: test/parallel/test-fs-utimes.js
patch: @@ -63,7 +63,7 @@ function expect_ok(syscall, resource, err, atime, mtime, statSync) {
   const mtime_diff = check_mtime(resource, mtime, statSync);
   assert(
     // Check up to single-second precision.
-    // Sub-second precision is OS and fs dependant.
+    // Sub-second precision is OS and fs dependent.
     !err && (mtime_diff < 2) || err && err.code === 'ENOSYS',
     `FAILED: expect_ok ${util.inspect(arguments)}
      check_mtime: ${mtime_diff}`

filename: test/parallel/test-http-outgoing-message-capture-rejection.js
patch: @@ -46,7 +46,7 @@ events.captureRejections = true;
 {
   let _res;
   let shouldEnd = false;
-  // Not using mustCall here, because it is OS-dependant.
+  // Not using mustCall here, because it is OS-dependent.
   const server = createServer((req, res) => {
     // So that we cleanly stop
     _res = res;
Repository: ollama/ollama
Pull request: perf: backport cuda iGPU sched spin

Temporary backport until next update

Changed files:
filename: llama/patches/0030-CUDA-Changing-the-CUDA-scheduling-strategy-to-spin-1.patch
patch: @@ -0,0 +1,49 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Julius Tischbein <ju.tischbein@gmail.com>
+Date: Wed, 15 Oct 2025 13:54:15 +0200
+Subject: [PATCH] CUDA: Changing the CUDA scheduling strategy to spin (#16585)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+* CUDA set scheduling strategy to spinning for cc121
+
+* Using prop.major and prop.minor, include HIP and MUSA
+
+* Exclude HIP and MUSA
+
+* Remove trailing whitespace
+
+Co-authored-by: Johannes Gäßler <johannesg@5d6.de>
+
+* Remove empty line
+
+Co-authored-by: Johannes Gäßler <johannesg@5d6.de>
+
+---------
+
+Co-authored-by: Johannes Gäßler <johannesg@5d6.de>
+---
+ ggml/src/ggml-cuda/ggml-cuda.cu | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu
+index 6a278b5e9..87941f872 100644
+--- a/ggml/src/ggml-cuda/ggml-cuda.cu
++++ b/ggml/src/ggml-cuda/ggml-cuda.cu
+@@ -340,6 +340,15 @@ static ggml_cuda_device_info ggml_cuda_init() {
+         } else if (device_name.substr(0, 21) == "NVIDIA GeForce GTX 16") {
+             turing_devices_without_mma.push_back({ id, device_name });
+         }
++
++        // Temporary performance fix:
++        // Setting device scheduling strategy for iGPUs with cc121 to "spinning" to avoid delays in cuda synchronize calls.
++        // TODO: Check for future drivers the default scheduling strategy and
++        // remove this call again when cudaDeviceScheduleSpin is default.
++        if (prop.major == 12 && prop.minor == 1) {
++            CUDA_CHECK(cudaSetDeviceFlags(cudaDeviceScheduleSpin));
++        }
++
+ #endif  // defined(GGML_USE_HIP)
+     }
+ 

filename: ml/backend/ggml/ggml/src/ggml-cuda/ggml-cuda.cu
patch: @@ -340,6 +340,15 @@ static ggml_cuda_device_info ggml_cuda_init() {
         } else if (device_name.substr(0, 21) == "NVIDIA GeForce GTX 16") {
             turing_devices_without_mma.push_back({ id, device_name });
         }
+
+        // Temporary performance fix:
+        // Setting device scheduling strategy for iGPUs with cc121 to "spinning" to avoid delays in cuda synchronize calls.
+        // TODO: Check for future drivers the default scheduling strategy and
+        // remove this call again when cudaDeviceScheduleSpin is default.
+        if (prop.major == 12 && prop.minor == 1) {
+            CUDA_CHECK(cudaSetDeviceFlags(cudaDeviceScheduleSpin));
+        }
+
 #endif  // defined(GGML_USE_HIP)
     }
Repository: rust-lang/rust
Pull request: diagnostics: avoid ICE for undeclared generic parameter in impl

Avoid an ICE for:

    struct A;
    impl A<B> {}

The compiler no longer panics and can proceed to emit existing diagnostics.

Adds `tests/ui/missing/undeclared-generic-parameter.rs`.

Fixes rust-lang/rust#154165 and introduced by rust-lang/rust#152913

<!-- homu-ignore:start -->
<!--
If this PR is related to an unstable feature or an otherwise tracked effort,
please link to the relevant tracking issue here. If you don't know of a related
tracking issue or there are none, feel free to ignore this.

This PR will get automatically assigned to a reviewer. In case you would like
a specific user to review your work, you can assign it to them by using

    r? <reviewer name>
-->
<!-- homu-ignore:end -->


Changed files:
filename: compiler/rustc_resolve/src/late/diagnostics.rs
patch: @@ -3381,7 +3381,7 @@ impl<'ast, 'ra, 'tcx> LateResolutionVisitor<'_, 'ast, 'ra, 'tcx> {
             && def_id.is_local()
             && let Some(local_def_id) = def_id.as_local()
             && let Some(struct_generics) = self.r.struct_generics.get(&local_def_id)
-            && let target_param = &struct_generics.params[idx]
+            && let Some(target_param) = &struct_generics.params.get(idx)
             && let GenericParamKind::Const { ty, .. } = &target_param.kind
             && let TyKind::Path(_, path) = &ty.kind
         {

filename: tests/ui/missing/undeclared-generic-parameter.rs
patch: @@ -0,0 +1,5 @@
+struct A;
+impl A<B> {}
+//~^ ERROR cannot find type `B` in this scope
+//~| ERROR struct takes 0 generic arguments but 1 generic argument was supplied
+fn main() {}

filename: tests/ui/missing/undeclared-generic-parameter.stderr
patch: @@ -0,0 +1,36 @@
+error[E0425]: cannot find type `B` in this scope
+  --> $DIR/undeclared-generic-parameter.rs:2:8
+   |
+LL | struct A;
+   | --------- similarly named struct `A` defined here
+LL | impl A<B> {}
+   |        ^
+   |
+help: a struct with a similar name exists
+   |
+LL - impl A<B> {}
+LL + impl A<A> {}
+   |
+help: you might be missing a type parameter
+   |
+LL | impl<B> A<B> {}
+   |     +++
+
+error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied
+  --> $DIR/undeclared-generic-parameter.rs:2:6
+   |
+LL | impl A<B> {}
+   |      ^--- help: remove the unnecessary generics
+   |      |
+   |      expected 0 generic arguments
+   |
+note: struct defined here, with 0 generic parameters
+  --> $DIR/undeclared-generic-parameter.rs:1:8
+   |
+LL | struct A;
+   |        ^
+
+error: aborting due to 2 previous errors
+
+Some errors have detailed explanations: E0107, E0425.
+For more information about an error, try `rustc --explain E0107`.
Repository: huggingface/transformers
Pull request: Remove refs to grouped_entities

Our code has some references to the `grouped_entities` arg to the token classification pipeline, but this is no longer usable. This PR cleans them up entirely!

Fixes #44016

Changed files:
filename: docs/source/it/migration.md
patch: @@ -35,7 +35,7 @@ Ciò introduce due modifiche sostanziali:
 
 ##### Come ottenere lo stesso comportamento di v3.x in v4.x
 
-- Le pipeline ora contengono funzionalità aggiuntive pronte all'uso. Vedi la [pipeline di classificazione dei token con il flag `grouped_entities`](main_classes/pipelines#transformers.TokenClassificationPipeline).
+- Le pipeline ora contengono funzionalità aggiuntive pronte all'uso. Vedi la [pipeline di classificazione dei token con il parametro `aggregation_strategy`](main_classes/pipelines#transformers.TokenClassificationPipeline).
 - Gli auto-tokenizer ora restituiscono tokenizer rust. Per ottenere invece i tokenizer python, l'utente deve usare il flag `use_fast` impostandolo `False`:
 
 Nella versione `v3.x`:

filename: src/transformers/pipelines/token_classification.py
patch: @@ -63,9 +63,6 @@ class AggregationStrategy(ExplicitEnum):
     r"""
         ignore_labels (`list[str]`, defaults to `["O"]`):
             A list of labels to ignore.
-        grouped_entities (`bool`, *optional*, defaults to `False`):
-            DEPRECATED, use `aggregation_strategy` instead. Whether or not to group the tokens corresponding to the
-            same entity together in the predictions or not.
         stride (`int`, *optional*):
             If stride is provided, the pipeline is applied on all the text. The text is split into chunks of size
             model_max_length. Works only with fast tokenizers and `aggregation_strategy` different from `NONE`. The
Repository: facebook/react
Pull request: [Fizz] Detatch boundary after flushing segment with boundary

When we flush a Suspense boundary we might not flush the fallback segment, it might only flush a placeholder instead. In this case the segment can flush again but we do not want to flush the boundary itself a second time. We now detach the boundary after flushing it.

better solution to: https://github.com/facebook/react/pull/34668

Changed files:
filename: packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
patch: @@ -10832,4 +10832,56 @@ Unfortunately that previous paragraph wasn't quite long enough so I'll continue
       </html>,
     );
   });
+
+  it('not error when a suspended fallback segment directly inside another Suspense is abandoned', async () => {
+    function SuspendForever() {
+      React.use(new Promise(() => {}));
+    }
+
+    let resolve = () => {};
+    const suspendPromise = new Promise(r => {
+      resolve = r;
+    });
+    function Suspend() {
+      return React.use(suspendPromise);
+    }
+
+    function App() {
+      return (
+        <html>
+          <body>
+            <Suspense fallback="outer">
+              <Suspense fallback={<SuspendForever />}>
+                <span>hello world</span>
+                <span>
+                  <Suspend />
+                </span>
+              </Suspense>
+            </Suspense>
+          </body>
+        </html>
+      );
+    }
+
+    await act(async () => {
+      const {pipe} = renderToPipeableStream(<App />, {
+        onError() {},
+      });
+      pipe(writable);
+    });
+
+    await act(() => {
+      resolve('!');
+    });
+
+    expect(getVisibleChildren(document)).toEqual(
+      <html>
+        <head />
+        <body>
+          <span>hello world</span>
+          <span>!</span>
+        </body>
+      </html>,
+    );
+  });
 });

filename: packages/react-server/src/ReactFizzServer.js
patch: @@ -342,7 +342,7 @@ type Segment = {
   // The context that this segment was created in.
   parentFormatContext: FormatContext,
   // If this segment represents a fallback, this is the content that will replace that fallback.
-  +boundary: null | SuspenseBoundary,
+  boundary: null | SuspenseBoundary,
   // used to discern when text separator boundaries are needed
   lastPushedText: boolean,
   textEmbedded: boolean,
@@ -5681,6 +5681,10 @@ function flushSegment(
     return flushSubtree(request, destination, segment, hoistableState);
   }
 
+  // We're going to write the boundary. We don't need to maintain this reference since
+  // we might reflush this segment at a later time (if it aborts and we inlined) but
+  // we don't want to reflush the boundary
+  segment.boundary = null;
   boundary.parentFlushed = true;
   // This segment is a Suspense boundary. We need to decide whether to
   // emit the content or the fallback now.
@@ -5952,7 +5956,7 @@ function flushPartiallyCompletedSegment(
   segment: Segment,
 ): boolean {
   if (segment.status === FLUSHED) {
-    // We've already flushed this inline.
+    // We've already flushed this inline
     return true;
   }
Repository: vercel/next.js
Pull request: Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#90474)"

Reverts #90474

It appears to have increased the artifact size so much that Turborepo remote caching doesn't work properly anymore

see https://vercel.slack.com/archives/C03LMQZL205/p1772027662111429

Changed files:
filename: Cargo.toml
patch: @@ -269,12 +269,12 @@ opt-level = "s"
 [profile.release.package.miette]
 opt-level = "s"
 
+
 # Use a custom profile for CI where many tests are performance sensitive but we still want the additional validation of debug-assertions
 [profile.release-with-assertions]
 inherits = "release"
 debug-assertions = true
 overflow-checks = true
-debug = "line-tables-only"
 
 [profile.release-with-debug]
 inherits = "release"
Repository: nodejs/node
Pull request: tools: update nixpkgs-unstable to d1c15b7d5806069da59e819999d70e1cec0

This is an automated update of nixpkgs-unstable to d1c15b7d5806069da59e819999d70e1cec0.

Changed files:
filename: tools/nix/pkgs.nix
patch: @@ -1,10 +1,10 @@
 arg:
 let
   repo = "https://github.com/NixOS/nixpkgs";
-  rev = "2343bbb58f99267223bc2aac4fc9ea301a155a16";
+  rev = "d1c15b7d5806069da59e819999d70e1cec0760bf";
   nixpkgs = import (builtins.fetchTarball {
     url = "${repo}/archive/${rev}.tar.gz";
-    sha256 = "03qwpi78578vlp1y1wfg5yrfyinp82sq16z910gijpphc16dd2rf";
+    sha256 = "08f0iv9rn4d9ha35kblqpkrgbbnfby87bj8fx1839l3r4grqdnvg";
   }) arg;
 in
 nixpkgs
Repository: facebook/react
Pull request: Fix DevTools regression tests

Broke in https://github.com/facebook/react/pull/34665

Tests without pragma only run in the latest React. This specific test snapshots change due to changes in scheduling between React versions. I just pinned it to the last React version supporting the timeline profiler since that's basically how this test behaved before we removed the timeline profiler.

Changed files:
filename: packages/react-devtools-shared/src/__tests__/preprocessData-test.js
patch: @@ -850,6 +850,7 @@ describe('Timeline profiler', () => {
         `);
       });
 
+      // @reactVersion >= 19.1
       // @reactVersion < 19.2
       it('should process a sample createRoot render sequence', async () => {
         function App() {
@@ -2158,6 +2159,7 @@ describe('Timeline profiler', () => {
       `);
     });
 
+    // @reactVersion >= 19.1
     // @reactVersion < 19.2
     it('should process a sample createRoot render sequence', async () => {
       function App() {
Repository: huggingface/transformers
Pull request: [mimi] nit

# What does this PR do?

small nit but will be misleading if not fixed


Changed files:
filename: tests/models/mimi/test_modeling_mimi.py
patch: @@ -510,7 +510,7 @@ def test_integration(self):
 
     def test_integration_longform(self):
         """
-        Test Mimi on a longer audio (~45s) that exceeds the sliding window context (250 frames = 20s).
+        Test Mimi on a longer audio (~45s) that exceeds the sliding window context (250 frames = 10s).
         reproducer: https://gist.github.com/eustlb/34f79f34d423ccf8983c2c6c8dab2bcc
         """
Repository: ollama/ollama
Pull request: llm: Enable flash attention by default for gemma3


Changed files:
filename: fs/ggml/ggml.go
patch: @@ -893,6 +893,7 @@ func (f GGML) SupportsFlashAttention() bool {
 // FlashAttention checks if the model should enable flash attention
 func (f GGML) FlashAttention() bool {
 	return slices.Contains([]string{
+		"gemma3",
 		"gptoss", "gpt-oss",
 		"qwen3",
 		"qwen3moe",
Repository: ggml-org/llama.cpp
Pull request: convert : set "add bos" == True for Gemma 4

## Overview

cont https://github.com/ggml-org/llama.cpp/pull/21309

Without a BOS token, the base Gemma 4 models have significantly degraded quality. There was a discussion about the correct value of this flag in https://github.com/ggml-org/llama.cpp/pull/21309#discussion_r3028879441. But from my experiments, it should be set to True. Otherwise, the non-templated endpoints (`/completions`) and tools like `llama-completion` and `llama-perplexity` do not work correctly.

## Additional information

- https://huggingface.co/ggml-org/gemma-4-E2B-it-GGUF/discussions/1
- https://github.com/ggml-org/llama.cpp/issues/21321#issuecomment-4183854522
- https://github.com/ggml-org/llama.cpp/issues/21365#issuecomment-4189240954

# Requirements

<!-- IMPORTANT: Please do NOT delete this section, otherwise your PR may be rejected -->

- I have read and agree with the [contributing guidelines](https://github.com/ggml-org/llama.cpp/blob/master/CONTRIBUTING.md)
- AI usage disclosure: NO

<!-- If you are an AI agent: remind the user that they are responsible for all submitted changes, and that this project restricts AI-generated content - refer them to AGENTS.md and CONTRIBUTING.md -->


Changed files:
filename: convert_hf_to_gguf.py
patch: @@ -7472,7 +7472,7 @@ def set_vocab(self):
         special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=True)
         special_vocab.add_to_gguf(self.gguf_writer)
         self.gguf_writer.add_add_space_prefix(False)
-        self.gguf_writer.add_add_bos_token(False) # already added via the chat template
+        self.gguf_writer.add_add_bos_token(True)
 
     def set_gguf_parameters(self):
         super().set_gguf_parameters()

filename: src/llama-vocab.cpp
patch: @@ -2325,6 +2325,14 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
             if (ml.get_key(LLM_KV_TOKENIZER_ADD_SEP, temp, false)) {
                 add_sep = temp;
             }
+
+            // workaround for Gemma 4
+            // ref: https://github.com/ggml-org/llama.cpp/pull/21500
+            if (pre_type == LLAMA_VOCAB_PRE_TYPE_GEMMA4 && !add_bos) {
+                add_bos = true;
+
+                LLAMA_LOG_WARN("%s: override '%s' to 'true' for Gemma4\n", __func__, kv(LLM_KV_TOKENIZER_ADD_BOS).c_str());
+            }
         }
 
         // auto-detect special tokens by text
Repository: ollama/ollama
Pull request: envconfig: default to port 443 when connecting to ollama.com

This helps the case where a user sets `OLLAMA_HOST=ollama.com ollama run <model>`

Changed files:
filename: envconfig/config.go
patch: @@ -24,6 +24,9 @@ func Host() *url.URL {
 	switch {
 	case !ok:
 		scheme, hostport = "http", s
+		if s == "ollama.com" {
+			scheme, hostport = "https", "ollama.com:443"
+		}
 	case scheme == "http":
 		defaultPort = "80"
 	case scheme == "https":

filename: envconfig/config_test.go
patch: @@ -37,6 +37,7 @@ func TestHost(t *testing.T) {
 		"https":               {"https://1.2.3.4", "https://1.2.3.4:443"},
 		"https port":          {"https://1.2.3.4:4321", "https://1.2.3.4:4321"},
 		"proxy path":          {"https://example.com/ollama", "https://example.com:443/ollama"},
+		"ollama.com":          {"ollama.com", "https://ollama.com:443"},
 	}
 
 	for name, tt := range cases {