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