
Estou ligado Ubuntu 20.04.3 LTS x86_64
. O programaw3mfalha ao iniciar da seguinte forma:
$ w3m -h
Wrong __data_start/_end pair
Aborted (core dumped)
eu tentei
- instalar e reinstalar;
- definindo um limite de tamanho de pilha com
ulimit
, como sugeridoaqui.
Sem sorte.
A questão também surgiu emoutro tópico, mas isso é específico do subsistema Windows para Linux, no qual não estou.
Editar
Aproximando-se: este é um problema do kernel.
A máquina está executando um compilado personalizadonúcleo, atualmente em v5.17-rc3
. Se eu voltar para a versão 5.16
do kernel eu façonãoveja o problema.
Não tenho certeza de como as coisas mudaram para o 5.17
lançamento, mas parece que é necessária alguma modificação na configuração do kernel.
Editar 2
Encontradoalgo promissorna lista de discussão do kernel.
Ainda não testei esse patch, mas ele se encaixa com o que estou vendo: o problema que aparece depois do v5.17-rc1
.
Responder1
Essa segunda edição tem tudo que preciso: foi um problema de kernel, devido ao fato de não estar rodando a Ubuntu
versão padrão.
Compilando oúltima versãodo kernel (ainda v5.17-rc3
enquanto escrevo isto) com o patch fornecidoaquiresolve o assunto.
Portanto, espero que, quando Linux 5.17
chegar aos Ubuntu
repositórios, isso já tenha sido corrigido no upstream. Resumindo, estou tudo pronto.
Responder2
Eu sou o usuário que postou a +50
recompensa. No meu caso de uso específico, w3m
é ativado por meio do Emacs
. A compilação personalizada Emacs
que uso requer uma ulimit
configuração alta para uma biblioteca específica de histórico de desfazer/refazer da qual gosto bastante. Eu estava iniciando Emacs
com um arquivo de desktop contendo:
Exec=bash -c 'ulimit -S -s unlimited && /path/to/emacs'
O problema é unlimited
. A solução é usar um valor definido um pouco menor que o limite do sistema, em kB
. No terminal, digite grep MemTotal /proc/meminfo
e o resultado será mais ou menos assim:
MemTotal: 8141092 kB
Então, a mudança agora fica assim:
Exec=bash -c 'ulimit -S -s 8000000 && /path/to/emacs'