Hey ports@,
plz dont scold me for, idk, a lot of things. I dont have things in place
as I would like them to be. And I only understand half - well maybe a
bit more but, not much - of what is written here. I used ChatGPT, and I
will keep using it. And I use abbrevations in the mails and text I
write; and with a bit of irony I agree that we all should write out
"change-directory" everytime we do want todo so, and not use cd instead.
Back to topic. I still feel compelled to report a bug I encountered,
even if I dont follow ports yet and dont have everything setup up
perfectly as I would want it to.
ChatGPT wrote u this, which sums things up better than I could:
Hi ports@,
After upgrading to the latest -current packages, ungoogled-chromium no
longer starts. The executable fails at execve(2) with ENOMEM, apparently
because its executable ELF segment exceeds OpenBSD/amd64's MAXTSIZ limit
of 256 MiB.
System:
OpenBSD 8.0-current, amd64 GENERIC.MP #92, Sun Oct 11 22:27:10 MDT
2026 Package: ungoogled-chromium-155.0.8059.39
Reproduction:
Running the executable directly:
$ /usr/local/ungoogled-chromium/ungoogled-chromium --version
Results in:
zsh: cannot allocate memory:
/usr/local/ungoogled-chromium/ungoogled-chromium
The same happens when launching through the regular browser wrapper.
Tracing the execution:
$ ktrace -f /tmp/chromium.trace
/usr/local/ungoogled-chromium/ungoogled-chromium --version
Produces:
ktrace: exec of '/usr/local/ungoogled-chromium/ungoogled-chromium'
failed: Cannot allocate memory
The kdump output confirms that execution fails before Chromium itself
starts.
ELF investigation:
$ readelf -Wl /usr/local/ungoogled-chromium/ungoogled-chromium
The relevant PT_LOAD segment is:
Type Offset FileSiz MemSiz Flg Align LOAD
0x349e340 0x10228870 0x10228870 E 0x1000
This executable segment has a size of 270,698,608 bytes (258.16 MiB).
In sys/arch/amd64/include/vmparam.h:
#define MAXTSIZ ((paddr_t)256*1024*1024)
And sys/kern/kern_exec.c, in check_exec(), contains:
if ((epp->ep_tsize > MAXTSIZ) ||
(epp->ep_dsize > lim_cur(RLIMIT_DATA)))
error = ENOMEM;
This appears to explain the failure: the executable's text segment
exceeds MAXTSIZ by approximately 2.16 MiB.
I also tested with the data-size resource limit set to unlimited (ulimit
-d unlimited). The error remains unchanged. Available swap is not
exhausted.
Regression:
The browser was working before the package upgrade. The problem appeared
immediately after updating to version 155.0.8059.39.
Possible resolution:
Would it be possible to adjust the Chromium build to keep the executable
text size below MAXTSIZ, or is an increase to the kernel limit being
considered?
I can provide the full readelf output, ktrace and dmesg if needed.
---
The whole conversation including the process of finding the cause can be
read at this link,
https://chatgpt.com/share/6accda70-38fc-83ed-8fc2-8cbdb6fddcbd
Kind regards, Dorian Haasler