Robert,

the webcam in google meets in chromium failed with almost identical reason
with firefox, see: https://marc.info/?l=openbsd-ports&m=178991017459837&w=2

Here a diff which I tested in ungoogled-chromium only, it fixes my case.

Are you ok with it? Shall I include it in chromium and iridium as well?

Probably we may need it in other v8 places (codex, deno...)

The diff:

Index: patches/patch-v8_src_wasm_stacks_cc
===================================================================
RCS file: patches/patch-v8_src_wasm_stacks_cc
diff -N patches/patch-v8_src_wasm_stacks_cc
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-v8_src_wasm_stacks_cc 20 Sep 2026 19:47:32 -0000
@@ -0,0 +1,28 @@
+Index: v8/src/wasm/stacks.cc
+--- v8/src/wasm/stacks.cc.orig
++++ v8/src/wasm/stacks.cc
+@@ -4,6 +4,10 @@
+ 
+ #include "src/wasm/stacks.h"
+ 
++#if V8_OS_OPENBSD
++#include <sys/mman.h>
++#endif
++
+ #include "src/base/platform/platform.h"
+ #include "src/execution/frames.h"
+ #include "src/execution/simulator.h"
+@@ -137,6 +141,13 @@ StackMemory::StackSegment::StackSegment(size_t pages) 
+                                 "StackMemory::StackSegment::StackSegment");
+   }
+   limit_ += page_size;
++#if V8_OS_OPENBSD
++  if (mmap(limit_, size_, PROT_READ | PROT_WRITE,
++           MAP_FIXED | MAP_STACK | MAP_ANON | MAP_PRIVATE, -1, 0) == 
MAP_FAILED) {
++    V8::FatalProcessOutOfMemory(nullptr,
++                              "StackMemory::StackSegment::StackSegment");
++  }
++#endif
+ #ifdef V8_ENABLE_SANDBOX_HARDWARE_SUPPORT
+   // The actual stack memory must be accessible to sandboxed code, so we need
+   // to register it as sandbox extension memory here.


-- 
wbr, Kirill

Reply via email to