I am on Ubuntu 20.04.3 LTS x86_64
. The program w3m fails to launch as follows:
$ w3m -h
Wrong __data_start/_end pair
Aborted (core dumped)
I have tried
- installing and reinstalling;
- setting a stack-size bound with
ulimit
, as suggested here.
No luck.
The issue also came up in another thread, but that is specific to the Windows Subsystem for Linux, which I am not on.
Edit
Getting closer: this is a kernel issue.
The machine is running a custom-compiled kernel, currently at v5.17-rc3
. If I go back to version 5.16
of the kernel I do not see the issue.
I'm not sure how things have changed for the 5.17
release, but it seems some modification to the kernel config is needed.
Edit 2
Found something promising on the kernel mailing list.
I have yet to test that patch, but it fits with what I'm seeing: the problem appearing after v5.17-rc1
.
That second edit has all I need: it was a kernel issue, due to the fact that I'm not running the standard
Ubuntu
version.Compiling the latest version of the kernel (still
v5.17-rc3
as I write this) with the patch provided here resolves the matter.So I expect that by the time
Linux 5.17
makes its way into theUbuntu
repos this will have been fixed upstream. In short, I'm all set.I am the user who posted the
+50
bounty. In my particular use case,w3m
is activated throughEmacs
. The custom build ofEmacs
that I use requires a highulimit
setting for a particular undo/redo history library that I am rather fond of. I had been launchingEmacs
with a desktop file containing:The problem is
unlimited
. The solution is to use a set amount that is somewhat less than the system limit, inkB
. From the terminal, typegrep MemTotal /proc/meminfo
and the result looks something like this:So, the change now looks like this: