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통해 활성화됩니다 Emacs. Emacs내가 사용하는 사용자 정의 빌드에는 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'

관련 정보