helloadhavan/github_issues huggingface dataset:
Repository: vercel/next.js
Pull request: Turbopack: add more details to the graph panic

### What?

add more details to the panic message

Closes PACK-5556

Changed files:
filename: turbopack/crates/turbo-tasks-backend/src/backend/operation/aggregation_update.rs
patch: @@ -1419,7 +1419,7 @@ impl AggregationUpdateQueue {
             if retry > MAX_RETRIES {
                 panic!(
                     "inner_of_uppers_lost_follower is not able to remove follower \
-                     {lost_follower_id:?} ({}) from {} as they don't exist as upper or follower \
+                     {lost_follower_id} ({}) from {} as they don't exist as upper or follower \
                      edges",
                     ctx.get_task_description(lost_follower_id),
                     upper_ids
@@ -1577,9 +1577,14 @@ impl AggregationUpdateQueue {
             retry += 1;
             if retry > MAX_RETRIES {
                 panic!(
-                    "inner_of_upper_lost_followers is not able to remove followers \
-                     {lost_follower_ids:?} from {upper_id:?} as they don't exist as upper or \
-                     follower edges"
+                    "inner_of_upper_lost_followers is not able to remove followers {} from \
+                     {upper_id} ({}) as they don't exist as upper or follower edges",
+                    lost_follower_ids
+                        .iter()
+                        .map(|id| format!("{} ({})", id, ctx.get_task_description(*id)))
+                        .collect::<Vec<_>>()
+                        .join(", "),
+                    ctx.get_task_description(upper_id),
                 )
             }
             self.push(AggregationUpdateJob::InnerOfUpperLostFollowers {
Repository: denoland/deno
Pull request: fix(ext/node): unref child_process stdio streams by default

Closes https://github.com/denoland/deno/issues/32064

PR #31975 made child process stdio streams into Socket instances backed by Pipe → StreamResource. When libraries like esbuild call `child.unref()` / `stdout.unref()` to signal the event loop should be free to exit, the call chain was Socket.unref() → Pipe.unref() → only unrefs `#listener` (null for non-server pipes) → StreamResource never gets unref'd → process hangs.

With this fix, Pipe.unref() also propagates to the stream in `[kStreamBaseField]`, so esbuild's unref calls reach the StreamResource and the event loop can exit properly.

Changed files:
filename: ext/node/polyfills/internal_binding/pipe_wrap.ts
patch: @@ -416,12 +416,20 @@ export class Pipe extends ConnectionWrap {
     if (this.#listener) {
       this.#listener.ref();
     }
+    const stream = this[kStreamBaseField];
+    if (stream && typeof stream.ref === "function") {
+      stream.ref();
+    }
   }
 
   override unref() {
     if (this.#listener) {
       this.#listener.unref();
     }
+    const stream = this[kStreamBaseField];
+    if (stream && typeof stream.unref === "function") {
+      stream.unref();
+    }
   }
 
   /**

filename: tests/specs/node/child_process_unref_stdio/__test__.jsonc
patch: @@ -0,0 +1,8 @@
+{
+  "tests": {
+    "unref_stdio_allows_exit": {
+      "args": "run --allow-all main.ts",
+      "output": "main.out"
+    }
+  }
+}

filename: tests/specs/node/child_process_unref_stdio/main.out
patch: @@ -0,0 +1 @@
+unref succeeded, process should exit

filename: tests/specs/node/child_process_unref_stdio/main.ts
patch: @@ -0,0 +1,23 @@
+import { spawn } from "node:child_process";
+
+// Regression test: calling unref() on child process stdio streams should
+// allow the event loop to exit. Previously, Pipe.unref() did not propagate
+// to the underlying StreamResource, so the event loop would stay alive
+// indefinitely (causing hangs in tools like esbuild that spawn persistent
+// child processes and unref their stdio).
+
+// Spawn a long-lived child process (cat will block reading stdin forever)
+const child = spawn("cat", [], { stdio: ["pipe", "pipe", "inherit"] });
+
+// Read stdout data (there won't be any, but set up the listener)
+child.stdout!.on("data", () => {});
+
+// Unref everything — this should allow the parent process to exit
+child.unref();
+child.stdin!.unref();
+child.stdout!.unref();
+
+console.log("unref succeeded, process should exit");
+
+// If the fix works, the event loop has nothing keeping it alive and exits.
+// If broken, this process hangs forever.
Repository: ollama/ollama
Pull request: Add Community Integration: NextChat

NextChat just drop support for Ollama, Adding NextChat reference in README.md

Doc: https://docs.nextchat.dev/models/ollama
Release: https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/releases/tag/v2.11.2

Changed files:
filename: README.md
patch: @@ -276,6 +276,7 @@ See the [API documentation](./docs/api.md) for all endpoints.
 - [NextJS Web Interface for Ollama](https://github.com/jakobhoeg/nextjs-ollama-llm-ui)
 - [Msty](https://msty.app)
 - [Chatbox](https://github.com/Bin-Huang/Chatbox)
+- [NextChat](https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web) with [Get Started Doc](https://docs.nextchat.dev/models/ollama)
 
 ### Terminal
Repository: denoland/deno
Pull request: test: disable test-worker-fshandles-open-close-on-termination.js


Changed files:
filename: tests/node_compat/config.jsonc
patch: @@ -1710,7 +1710,8 @@
     "sequential/test-vm-timeout-rethrow.js": {},
     // TODO(bartlomieju): disabled during work on `node:inspector`, this test didn't actualy run before
     // "sequential/test-watch-mode-inspect.mjs": {},
-    "sequential/test-worker-fshandles-open-close-on-termination.js": {},
+    // TODO(bartlomieju): this test is very flaky on CI, especially on Windows ARM
+    // "sequential/test-worker-fshandles-open-close-on-termination.js": {},
     "wasm-allocation/test-wasm-allocation.js": {}
   }
 }
Repository: ggml-org/llama.cpp
Pull request: cmake : simplify build info detection using standard variables

The current approach has several drawbacks. Mostly, when cross-compiling, invoking the compiler binary directly to query the machine hardware can behave unexpectedly depending on the toolchain wrapper (using COMPILER_TARGET, CFLAGS, etc).

As cmake is the official tool to build `llama.cpp`, I propose to only rely on it to get those variables.



Changed files:
filename: cmake/build-info.cmake
patch: @@ -39,26 +39,10 @@ if(Git_FOUND)
     endif()
 endif()
 
-if(MSVC)
-    set(BUILD_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}")
-    if (CMAKE_VS_PLATFORM_NAME)
-        set(BUILD_TARGET ${CMAKE_VS_PLATFORM_NAME})
-    else()
-        set(BUILD_TARGET "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
-    endif()
-else()
-    execute_process(
-        COMMAND ${CMAKE_C_COMPILER} --version
-        OUTPUT_VARIABLE OUT
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-    )
-    string(REGEX REPLACE " *\n.*" "" OUT "${OUT}")
-    set(BUILD_COMPILER ${OUT})
+set(BUILD_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}")
 
-    execute_process(
-        COMMAND ${CMAKE_C_COMPILER} -dumpmachine
-        OUTPUT_VARIABLE OUT
-        OUTPUT_STRIP_TRAILING_WHITESPACE
-    )
-    set(BUILD_TARGET ${OUT})
+if(CMAKE_VS_PLATFORM_NAME)
+    set(BUILD_TARGET ${CMAKE_VS_PLATFORM_NAME})
+else()
+    set(BUILD_TARGET "${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
 endif()
Repository: ollama/ollama
Pull request: prepend image tags

instead of appending image tags, prepend them which produces better results in general

resolves #2769
resolves #2788 

Changed files:
filename: server/prompt.go
patch: @@ -121,13 +121,15 @@ func ChatPrompt(tmpl string, messages []api.Message, window int, encode func(str
 				p = prompt{}
 			}
 
-			p.Prompt = msg.Content
-
+			var sb strings.Builder
 			for range msg.Images {
-				p.Prompt += fmt.Sprintf(" [img-%d]", imgId)
+				fmt.Fprintf(&sb, "[img-%d] ", imgId)
 				p.images = append(p.images, imgId)
 				imgId += 1
 			}
+
+			sb.WriteString(msg.Content)
+			p.Prompt = sb.String()
 		case "assistant":
 			if p.Response != "" {
 				prompts = append(prompts, p)

filename: server/prompt_test.go
patch: @@ -155,7 +155,7 @@ func TestChatPrompt(t *testing.T) {
 				{Role: "user", Content: "Hello", Images: []api.ImageData{[]byte("base64")}},
 			},
 			window: 1024,
-			want:   "You are a Wizard. Hello [img-0]",
+			want:   "You are a Wizard. [img-0] Hello",
 		},
 		{
 			name:     "images truncated",
@@ -165,7 +165,7 @@ func TestChatPrompt(t *testing.T) {
 				{Role: "user", Content: "Hello", Images: []api.ImageData{[]byte("img1"), []byte("img2")}},
 			},
 			window: 1024,
-			want:   "You are a Wizard. Hello [img-1]",
+			want:   "You are a Wizard. [img-0] [img-1] Hello",
 		},
 		{
 			name:     "empty list",
@@ -198,7 +198,7 @@ func TestChatPrompt(t *testing.T) {
 			}
 
 			if got != tc.want {
-				t.Errorf("got = %v, want %v", got, tc.want)
+				t.Errorf("got: %q, want: %q", got, tc.want)
 			}
 		})
 	}

filename: server/routes.go
patch: @@ -250,6 +250,19 @@ func GenerateHandler(c *gin.Context) {
 		slog.Debug("generate handler", "system", req.System)
 
 		var sb strings.Builder
+		for i := range req.Images {
+			fmt.Fprintf(&sb, "[img-%d] ", i)
+		}
+
+		sb.WriteString(req.Prompt)
+
+		p, err := Prompt(req.Template, req.System, sb.String(), "", true)
+		if err != nil {
+			c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
+			return
+		}
+
+		sb.Reset()
 		if req.Context != nil {
 			prev, err := loaded.runner.Decode(c.Request.Context(), req.Context)
 			if err != nil {
@@ -260,18 +273,6 @@ func GenerateHandler(c *gin.Context) {
 			sb.WriteString(prev)
 		}
 
-		// write image tags
-		// TODO: limit the number of images to fit in the context similar to the chat endpoint
-		for i := range req.Images {
-			req.Prompt += fmt.Sprintf(" [img-%d]", i)
-		}
-
-		p, err := Prompt(req.Template, req.System, req.Prompt, "", true)
-		if err != nil {
-			c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
-			return
-		}
-
 		sb.WriteString(p)
 
 		prompt = sb.String()
Repository: ggml-org/llama.cpp
Pull request: common: use native MultiByteToWideChar


`std::codecvt_utf8<wchar_t>` is deprecated and produces warnings:

    common/common.cpp:792:31: warning: 'codecvt_utf8<wchar_t>' is deprecated [-Wdeprecated-declarations]
      792 |     std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
          |

Please, review carefully as I’ve used Gemini to generate `utf8_to_wstring()` and I'm absolutely not a Windows dev.

Changed files:
filename: common/common.cpp
patch: @@ -786,11 +786,29 @@ bool fs_validate_filename(const std::string & filename, bool allow_subdirs) {
 #include <iostream>
 
 
+#ifdef _WIN32
+static std::wstring utf8_to_wstring(const std::string & str) {
+    if (str.empty()) {
+        return std::wstring();
+    }
+
+    int size = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), (int)str.size(), NULL, 0);
+
+    if (size <= 0) {
+        return std::wstring();
+    }
+
+    std::wstring wstr(size, 0);
+    MultiByteToWideChar(CP_UTF8, 0, str.c_str(), (int)str.size(), &wstr[0], size);
+
+    return wstr;
+}
+#endif
+
 // returns true if successful, false otherwise
 bool fs_create_directory_with_parents(const std::string & path) {
 #ifdef _WIN32
-    std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;
-    std::wstring wpath = converter.from_bytes(path);
+    std::wstring wpath = utf8_to_wstring(path);
 
     // if the path already exists, check whether it's a directory
     const DWORD attributes = GetFileAttributesW(wpath.c_str());
Repository: electron/electron
Pull request: ci: add problem matcher for patch conflict output

Backport of #47183

See that PR for details.


Notes: none <!-- 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 -->


Changed files:
filename: .github/actions/checkout/action.yml
patch: @@ -80,6 +80,9 @@ runs:
       else
         echo "The cross mount cache has $freespace_human free space - continuing"
       fi
+  - name: Add patch conflict problem matcher
+    shell: bash
+    run: echo "::add-matcher::src/electron/.github/problem-matchers/patch-conflict.json"
   - name: Gclient Sync
     if: steps.check-cache.outputs.cache_exists == 'false'
     shell: bash
@@ -128,7 +131,11 @@ runs:
           echo "No changes to patches detected"
         fi
       fi
-
+  - name: Remove patch conflict problem matcher
+    shell: bash
+    run: |
+      echo "::remove-matcher owner=merge-conflict::"
+      echo "::remove-matcher owner=patch-conflict::"
   # delete all .git directories under src/ except for
   # third_party/angle/ and third_party/dawn/ because of build time generation of files
   # gen/angle/commit.h depends on third_party/angle/.git/HEAD

filename: .github/problem-matchers/patch-conflict.json
patch: @@ -0,0 +1,24 @@
+{
+  "problemMatcher": [
+    {
+      "owner": "merge-conflict",
+      "pattern": [
+        {
+          "regexp": "^CONFLICT\\s\\(\\S+\\): (Merge conflict in \\S+)$",
+          "message": 1
+        }
+      ]
+    },
+    {
+      "owner": "patch-conflict",
+      "pattern": [
+        {
+          "regexp": "^error: (patch failed: (\\S+):(\\d+))$",
+          "message": 1,
+          "file": 2,
+          "line": 3
+        }
+      ]
+    }
+  ]
+}
Repository: denoland/deno
Pull request: fix(ext/otel): use correct severity for `console.trace`

<!--
Before submitting a PR, please read https://docs.deno.com/runtime/manual/references/contributing

1. Give the PR a descriptive title.

  Examples of good title:
    - fix(std/http): Fix race condition in server
    - docs(console): Update docstrings
    - feat(doc): Handle nested reexports

  Examples of bad title:
    - fix #7123
    - update docs
    - fix bugs

2. Ensure there is a related issue and it is referenced in the PR text.
3. Ensure there are tests that cover the changes.
4. Ensure `cargo test` passes.
5. Ensure `./tools/format.js` passes without changing files.
6. Ensure `./tools/lint.js` passes.
7. Open as a draft PR if your work is still in progress. The CI won't run
   all steps, but you can add '[ci]' to a commit message to force it to.
8. If you would like to run the benchmarks on the CI, add the 'ci-bench' label.
-->


Changed files:
filename: ext/telemetry/lib.rs
patch: @@ -1277,7 +1277,8 @@ fn op_otel_log<'s>(
     ..=0 => Severity::Debug,
     1 => Severity::Info,
     2 => Severity::Warn,
-    3.. => Severity::Error,
+    3 | 5.. => Severity::Error,
+    4 => Severity::Trace,
   };
 
   let mut log_record = LogRecord::default();
@@ -1339,7 +1340,8 @@ fn op_otel_log_foreign(
     ..=0 => Severity::Debug,
     1 => Severity::Info,
     2 => Severity::Warn,
-    3.. => Severity::Error,
+    3 | 5.. => Severity::Error,
+    4 => Severity::Trace,
   };
 
   let trace_id = parse_trace_id(scope, trace_id);

filename: ext/web/01_console.js
patch: @@ -3907,7 +3907,8 @@ class Console {
       message,
     };
     ErrorCaptureStackTrace(err, this.trace);
-    this.error(err.stack);
+    this.#printFunc(err.stack, 4);
+    this.#printFunc("\n", 4);
   };
 
   // These methods are noops, but when the inspector is connected, they
Repository: facebook/react
Pull request: [Fiber] Override the getCurrentStack temporarily while printing errors

Only for parent stacks. This ensures that we can use the regular mechanism for appending stack traces. E.g. you can polyfill it.

This is mainly so that I can later remove the automatic appending.

Changed files:
filename: packages/react-reconciler/src/ReactFiberErrorLogger.js
patch: @@ -95,7 +95,19 @@ export function defaultOnCaughtError(
         errorBoundaryName || 'Anonymous'
       }.`;
 
-    if (enableOwnerStacks) {
+    const prevGetCurrentStack = ReactSharedInternals.getCurrentStack;
+    if (!enableOwnerStacks) {
+      // The current Fiber is disconnected at this point which means that console printing
+      // cannot add a component stack since it terminates at the deletion node. This is not
+      // a problem for owner stacks which are not disconnected but for the parent component
+      // stacks we need to use the snapshot we've previously extracted.
+      const componentStack =
+        errorInfo.componentStack != null ? errorInfo.componentStack : '';
+      ReactSharedInternals.getCurrentStack = function () {
+        return componentStack;
+      };
+    }
+    try {
       if (
         typeof error === 'object' &&
         error !== null &&
@@ -123,21 +135,10 @@ export function defaultOnCaughtError(
           // We let our consoleWithStackDev wrapper add the component stack to the end.
         );
       }
-    } else {
-      // The current Fiber is disconnected at this point which means that console printing
-      // cannot add a component stack since it terminates at the deletion node. This is not
-      // a problem for owner stacks which are not disconnected but for the parent component
-      // stacks we need to use the snapshot we've previously extracted.
-      const componentStack =
-        errorInfo.componentStack != null ? errorInfo.componentStack : '';
-      // Don't transform to our wrapper
-      console['error'](
-        '%o\n\n%s\n\n%s\n%s',
-        error,
-        componentNameMessage,
-        recreateMessage,
-        componentStack,
-      );
+    } finally {
+      if (!enableOwnerStacks) {
+        ReactSharedInternals.getCurrentStack = prevGetCurrentStack;
+      }
     }
   } else {
     // In production, we print the error directly.
Repository: denoland/deno
Pull request: fix(ext/node): validate execArgv and NODE_OPTIONS in worker_threads

Fixes `test-worker-execargv-invalid.js` test

Changed files:
filename: ext/node/polyfills/internal/errors.ts
patch: @@ -5,7 +5,6 @@
  * ERR_MANIFEST_ASSERT_INTEGRITY
  * ERR_QUICSESSION_VERSION_NEGOTIATION
  * ERR_REQUIRE_ESM
- * ERR_WORKER_INVALID_EXEC_ARGV
  * ERR_WORKER_PATH
  * ERR_QUIC_ERROR
  * ERR_SYSTEM_ERROR //System error, shouldn't ever happen inside Deno
@@ -2379,6 +2378,14 @@ export class ERR_WASI_ALREADY_STARTED extends NodeError {
     super("ERR_WASI_ALREADY_STARTED", `WASI instance has already started`);
   }
 }
+export class ERR_WORKER_INVALID_EXEC_ARGV extends NodeError {
+  constructor(errors: string[], msg = "invalid execArgv flags") {
+    super(
+      "ERR_WORKER_INVALID_EXEC_ARGV",
+      `Initiated Worker with ${msg}: ${ArrayPrototypeJoin(errors, ", ")}`,
+    );
+  }
+}
 export class ERR_WORKER_INIT_FAILED extends NodeError {
   constructor(x: string) {
     super("ERR_WORKER_INIT_FAILED", `Worker initialization failure: ${x}`);
@@ -3204,6 +3211,7 @@ export default {
   ERR_VM_MODULE_STATUS,
   ERR_WASI_ALREADY_STARTED,
   ERR_WORKER_INIT_FAILED,
+  ERR_WORKER_INVALID_EXEC_ARGV,
   ERR_WORKER_NOT_RUNNING,
   ERR_WORKER_OUT_OF_MEMORY,
   ERR_WORKER_UNSERIALIZABLE_ERROR,

filename: ext/node/polyfills/worker_threads.ts
patch: @@ -29,9 +29,13 @@ import { notImplemented } from "ext:deno_node/_utils.ts";
 import {
   ERR_INVALID_ARG_TYPE,
   ERR_OUT_OF_RANGE,
+  ERR_WORKER_INVALID_EXEC_ARGV,
   ERR_WORKER_NOT_RUNNING,
 } from "ext:deno_node/internal/errors.ts";
-import { validateObject } from "ext:deno_node/internal/validators.mjs";
+import {
+  validateArray,
+  validateObject,
+} from "ext:deno_node/internal/validators.mjs";
 import { EventEmitter } from "node:events";
 import {
   BroadcastChannel as WebBroadcastChannel,
@@ -138,6 +142,23 @@ class NodeWorker extends EventEmitter {
   constructor(specifier: URL | string, options?: WorkerOptions) {
     super();
 
+    if (options?.execArgv) {
+      validateArray(options.execArgv, "options.execArgv");
+      if (options.execArgv.length > 0) {
+        throw new ERR_WORKER_INVALID_EXEC_ARGV(options.execArgv);
+      }
+    }
+
+    if (options?.env) {
+      const nodeOptions = options.env.NODE_OPTIONS;
+      if (typeof nodeOptions === "string" && nodeOptions.length > 0) {
+        throw new ERR_WORKER_INVALID_EXEC_ARGV(
+          [nodeOptions],
+          "invalid NODE_OPTIONS env variable",
+        );
+      }
+    }
+
     if (
       typeof specifier === "object" &&
       !(specifier.protocol === "data:" || specifier.protocol === "file:")

filename: tests/node_compat/config.jsonc
patch: @@ -1550,6 +1550,7 @@
     "parallel/test-worker-esm-exit.js": {},
     "parallel/test-worker-esmodule.js": {},
     "parallel/test-worker-event.js": {},
+    "parallel/test-worker-execargv-invalid.js": {},
     "parallel/test-worker-fs-stat-watcher.js": {},
     "parallel/test-worker-load-file-with-extension-other-than-js.js": {},
     "parallel/test-worker-message-port-infinite-message-loop.js": {},
Repository: denoland/deno
Pull request: fix(ext/node): emit error event for worker_threads terminal errors

Fixes test-worker-error-stack-getter-throws.js

Changed files:
filename: ext/node/polyfills/worker_threads.ts
patch: @@ -246,6 +246,16 @@ class NodeWorker extends EventEmitter {
       switch (type) {
         case 1: { // TerminalError
           this.#status = "CLOSED";
+          if (this.listenerCount("error") > 0) {
+            const err = new Error(data.errorMessage ?? data.message);
+            if (data.name) {
+              err.name = data.name;
+            }
+            // Stack is unavailable from the worker context (e.g. prepareStackTrace
+            // may have thrown). Match Node.js behavior of setting stack to undefined.
+            err.stack = undefined;
+            this.emit("error", err);
+          }
           if (!this.#exited) {
             this.#exited = true;
             this.emit("exit", 1);

filename: runtime/web_worker.rs
patch: @@ -159,6 +159,8 @@ impl Serialize for WorkerControlEvent {
             });
             json!({
               "message": js_error.exception_message,
+              "name": js_error.name,
+              "errorMessage": js_error.message,
               "fileName": frame.map(|f| f.file_name.as_ref()),
               "lineNumber": frame.map(|f| f.line_number.as_ref()),
               "columnNumber": frame.map(|f| f.column_number.as_ref()),

filename: tests/node_compat/config.jsonc
patch: @@ -1546,6 +1546,7 @@
     // "parallel/test-worker-debug.js": {},
     "parallel/test-worker-dns-terminate-during-query.js": {},
     "parallel/test-worker-dispose.mjs": {},
+    "parallel/test-worker-error-stack-getter-throws.js": {},
     "parallel/test-worker-esm-exit.js": {},
     "parallel/test-worker-esmodule.js": {},
     "parallel/test-worker-event.js": {},
Repository: ollama/ollama
Pull request: fix: print usedMemory size right


Changed files:
filename: gpu/gpu_info_cuda.c
patch: @@ -156,7 +156,7 @@ void cuda_check_vram(cuda_handle_t h, mem_info_t *resp) {
     }
 
     LOG(h.verbose, "[%d] CUDA totalMem %ld\n", i, memInfo.total);
-    LOG(h.verbose, "[%d] CUDA usedMem %ld\n", i, memInfo.free);
+    LOG(h.verbose, "[%d] CUDA usedMem %ld\n", i, memInfo.used);
 
     resp->total += memInfo.total;
     resp->free += memInfo.free;
Repository: ollama/ollama
Pull request: update llama.cpp submodule commit to `87c91c07`


Changed files:
filename: llm/llama.cpp
patch: @@ -1 +1 @@
-Subproject commit b11a93df41921846a10628a7c306d5c82a549939
+Subproject commit 87c91c07663b707e831c59ec373b5e665ff9d64a