Firefox: 특정 SVG 파일을 보면 시스템이 응답하지 않게 됩니다.

Firefox: 특정 SVG 파일을 보면 시스템이 응답하지 않게 됩니다.

중요한:

현재 여러 수퍼유저 단골 사용자가 이 문제의 범위와 원인을 좁히려고 노력하고 있습니다.현재 자원봉사자를 찾고 있습니다.양식을 작성하려면여기다음 테스트를 수행한 후:

  1. 최신 버전의 Firefox(예: 24.x 또는 25.x, 베타 버전도 흥미로울 것임)를 설치하거나 시작합니다.

  2. 해당 플랫폼의 Windows 작업 관리자를 사용하여 메모리 및 CPU 사용량을 관찰하세요. 적절한 작업 관리자가 열려 있어야 합니다~ 전에아래 링크를 열어보세요.

  3. 완료되지 않은 작업은 Firefox 브라우저에 저장하세요. 충돌이 발생할 수 있습니다. 우리는 분실된 정보에 대해 책임을 지지 않습니다.

  4. 새 탭에서 다음 링크를 엽니다.http://openclipart.org/people/GR8DAN/showbizframe.svg

  5. 이미지를 로드하기 전과 후에 Firefox 프로세스의 CPU 및 메모리 사용량의 변화를 관찰하세요. Firefox의 메모리 사용량에 차이가 있는 경우이전과 이후위 탭을 여는 것은 매우 중요합니다(1GB 이상).또는Firefox가 멈추거나 충돌하는 경우,또는CPU 사용량이 지속적으로 높은 경우네 시스템에 버그가 있어. 그렇지 않으면 버그가 없습니다. 두 경우 모두 그에 따라 양식을 작성하세요.

현재 버그 업데이트를 위해 증상 및 원인을 좁혀나가고 있습니다.모질라 버그 추적기Mozilla 개발자가 문제를 해결할 수 있도록 말이죠. 이는 잠재적으로 광범위하고 우선순위가 높은 문제이기 때문에 특별히 이 작업을 수행하고 있습니다. 이미지 삽입을 허용하는 모든 웹사이트는 악의적으로 사용되기 시작하면 해당 페이지를 방문하는 사용자의 상당수에 대한 서비스 거부 공격에 취약할 수 있습니다.

2013년 11월 29일 업데이트: 버그는 다음과 같이 격리되었습니다.

  • 플랫폼 독립적입니다. 이 버그는 Linux, Mac 및 Windows에서 재현되었습니다.

  • 문제는 AMD, Intel 및 Nvidia 그래픽 카드에서 재현되었습니다.

  • Firefox 및 파생 제품에서만 발생합니다. Chrome, IE, Opera는 영향을 받지 않습니다.

  • 이 문제는 Firefox 25.0.1, Firefox 26 Beta, Firefox 27 Alpha 및 2013년 11월 28일 현재 트렁크의 Nightly 빌드에서 발생했습니다.

  • 모든 사용자가 Firefox 충돌이나 시스템 전체의 메모리 부족(OOM) 상황을 경험하는 것은 아닙니다. 이 동작은 RAM이 4GB 이하인 GNU/Linux 시스템으로 제한되는 것으로 보입니다.

  • Firefox 27 Alpha 및 Nightly에서는 동작이 Firefox 25 및 26 Beta와 약간 다릅니다. 최신 두 버전에서는 이미지를 오랜 시간(10~20초) 동안 로드하면 결국 높은 CPU 및 메모리 소비가 안정됩니다. 대부분의 시스템에서). 일단 "정착"되면 메모리와 CPU 상태가 정상으로 돌아옵니다. 그러나 이전 두 릴리스에서는 문제가 되는 이미지가 렌더링되는 탭으로 전환하는 한, 또는 Firefox를 완전히 종료하거나 탭을 닫을 때까지 CPU 및 메모리 상태가 지속됩니다.

  • 최신 그래픽 드라이버를 사용하는 거의 모든 시스템에서 이를 재현할 수 있습니다. 문제가 발생하지 않는 파일 시스템은 단 하나뿐입니다.어느증상이 전혀 없고, 아주 오래된 그래픽 드라이버(약 3년)를 사용하고 있습니다. 이는 특정 하드웨어가 아니라 사용된 아주 오래된 드라이버에 버그가 있어서 이상하게도 결함이 있는 동작이 발생하지 않는다는 것을 나타냅니다.

원래 질문:

저는 Fedora 19(커널 3.11.9-200.fc19.x86_64)에서 Firefox firefox-25.0-3.fc19.x86_64를 사용하고 있습니다. 내가 열면이 링크Firefox를 사용하면 시스템이 응답하지 않게 됩니다. 두 번째 모니터에서 실행하면 htop메모리 사용량이 엄청나게 급증하고 3954MB의 RAM이 즉시 모두 소모된 다음 스왑이 천천히 채워지고 프로세서 사용량 중 하나가 100%까지 올라가고 시스템이 응답하지 않게 되고 마우스가 작동하지 않게 됩니다. 속도가 느려지고 htop새로 고치는 데 수십 초가 걸립니다. FF 프로세스를 종료하면 모든 것이 정상으로 돌아갑니다.

플러그인을 비활성화한 상태에서 안전 모드에서 FF를 다시 시작해도 동작은 동일합니다. 동료의 컴퓨터를 시험해 보았는데 RAM이 ~8000MB인데 같은 일이 발생합니다(높은 메모리 사용량과 1개의 프로세서가 100%에 도달함). ~4096MB 사용량에 도달하면 Firefox를 종료하라는 대화 상자가 나타납니다(아마도 Firefox가 하드코딩되어 있을 수 있음). 4096MB만 사용하시겠습니까?).

플러그인(quickjava)을 사용하여 javascript를 비활성화하면 문제 없이 링크를 열 수 있습니다. 그러나 동료의 컴퓨터에서는 이것이 작동하지 않습니다. JS가 비활성화되었는지 확인하기 위해 다른 사이트를 시도했지만 문제가 지속됩니다.

그 원인은 무엇입니까?

업데이트: 볼 때 문제가 발생합니다.이 SVG.

답변1

  1. JavaScript가 아닙니다. 귀하가 게시한 링크를 통해 렌더링되는 복잡한 SVG(Scalable Vector Graphics) 파일이 많이 있다는 사실입니다.
  2. Fedora의 하드웨어 가속 그래픽 스택은 버그가 많기로 악명 높으므로 Firefox의 그래픽 스택 사용으로 인해 그래픽 스택(Mesa, Xorg DDX 또는 커널)에 버그가 발생할 가능성이 높습니다.
  3. SVG가 실제로 렌더링될 수도 있습니다.소프트웨어소프트웨어 렌더러는 여전히 버그가 있습니다.

나누어서 정복하자:

하드웨어 가속 비활성화

FF에서 편집 -> 기본 설정으로 이동하여 고급을 클릭한 다음 일반 탭의 검색 섹션에서 "가능한 경우 하드웨어 가속 사용"을 선택 취소하세요.

이제 같은 사이트를 다시 시도해 보세요. 만약 너라면~하지 않다CPU/메모리 과부하가 발생하면 문제가 2D 캔버스 GPU 가속(Firefox의 사용 또는 백엔드 그래픽 스택) 또는 SVG 렌더러에 있다는 것을 알 수 있습니다.

만약 너라면하다하드웨어 가속이 비활성화된 상태에서 동일한 CPU/메모리 과부하가 발생하면 순수 소프트웨어에서 수행되는 SVG 파서의 버그일 수 있습니다. 이 경우 Windows에서도 문제가 발생할 수 있지만 그렇지 않습니다(Windows의 FF 24.1.0에서 테스트했는데 속도가 느리긴 했지만 CPU와 RAM을 모두 소모하지는 않았습니다).

메사에서 어떤 종류의 메모리 누수가 의심됩니다.

추가로 시도해 볼 사항

  1. Firefox로 이동하여 about:support"텍스트를 클립보드에 복사"를 클릭하고 여기에 게시하세요(붙여넣기 등). 이는 문제 공간에 익숙한 사람들이 하드웨어 및 그래픽 스택의 상황을 파악하는 데 도움이 될 것입니다.
  2. Firefox로 이동하여 about:memory"Verbose" 확인란을 선택한 다음 "Measure"를 클릭하세요. 이렇게 할 수 있다면 정말 좋을 것 같아요직후문제가 있는 페이지로 이동합니다. 그 당시 FF가 무엇이든 하도록 할 수 있다면 말이죠.
  3. 다음과 같이 터미널에서 Firefox를 실행합니다 LIBGL_DEBUG=verbose firefox -safe-mode. OOM이 있는 사이트로 바로 이동하세요. 몇 초 동안만 실행한 다음(문제를 명확하게 시작하기에 충분하지만 시스템을 압도하지 않도록) 종료합니다. 의 출력과 함께 여기에 출력을 게시하세요 dmesg.

이러한 작업을 통해 문제가 발생한 위치를 정확히 이해할 수 있는 더 많은 디버그 정보를 얻을 수 있지만 대부분의 단계는 문제가 그래픽 스택에 있다는 가정에 중점을 두고 있습니다. 그렇지 않다면 대부분의 내용은 도움이 되지 않습니다.

업데이트:나는원시 github 링크자바스크립트나 장난이 전혀 없습니다. 그것은 단지 SVG의 세탁 목록일 뿐입니다. 결함이 있는 동작이 있는 경우 충돌이 발생하며 문제의 다른 모든 가능한 원인을 제거합니다.

업데이트 2:OP는 문제를 다음과 같이 분리했습니다.이 특정 이미지.

관련 정보