1

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.

grobber
  • 333

2 Answers2

1

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 the Ubuntu repos this will have been fixed upstream. In short, I'm all set.

grobber
  • 333
0

I am the user who posted the +50 bounty. In my particular use case, w3m is activated through Emacs. The custom build of Emacs that I use requires a high ulimit setting for a particular undo/redo history library that I am rather fond of. I had been launching Emacs with a desktop file containing:

Exec=bash -c 'ulimit -S -s unlimited && /path/to/emacs'

The problem is unlimited. The solution is to use a set amount that is somewhat less than the system limit, in kB. From the terminal, type grep MemTotal /proc/meminfo and the result looks something like this:

MemTotal:        8141092 kB

So, the change now looks like this:

Exec=bash -c 'ulimit -S -s 8000000 && /path/to/emacs'
lawlist
  • 51