w3m 因 __data_start/_end 對錯誤而無法啟動

w3m 因 __data_start/_end 對錯誤而無法啟動

我在Ubuntu 20.04.3 LTS x86_64.該程式w3m啟動失敗如下:

$ w3m -h

Wrong __data_start/_end pair
Aborted (core dumped)

我努力了

  • 安裝和重新安裝;
  • ulimit依照建議設定與 綁定的堆疊大小這裡

沒有運氣。

這個問題也出現在另一個線程,但這是特定於 Linux 的 Windows 子系統的,我不參與其中。

編輯

更進一步:這是一個內核問題。

該機器正在運行自訂編譯的核心,目前在v5.17-rc3。如果我回到5.16內核版本我會這樣做不是看到這個問題。

我不確定該5.17版本的情況有何變化,但似乎需要對核心配置進行一些修改。

編輯2

成立有前途的東西在核心郵件列表上。

我尚未測試該補丁,但它符合我所看到的情況: 後出現的問題v5.17-rc1

答案1

第二次編輯滿足了我所需要的一切:這是一個核心問題,因為我沒有運行標準版本Ubuntu

編譯最新版本核心(仍然v5.17-rc3是我寫這篇文章時)以及提供的補丁這裡解決問題。

因此,我預計當Linux 5.17進入Ubuntu回購協議時,該問題將在上游得到修復。簡而言之,我已經準備好了。

答案2

我是發布賞金的用戶+50。在我的特定用例中,w3m是透過 啟動的EmacsEmacs我使用的自訂建置需要ulimit對我相當喜歡的特定撤消/重做歷史庫進行高設定。我一直Emacs在啟動一個桌面文件,其中包含:

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

問題是unlimited。解是使用略小於系統限制的設定量,單位為kB。從終端輸入,grep MemTotal /proc/meminfo結果如下所示:

MemTotal:        8141092 kB

因此,現在的更改如下所示:

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

相關內容