HTML을 읽는 데 hpricot을 사용하고 있습니다. 세그멘테이션 오류가 발생했습니다. Google 검색을 통해 최신 버전의 Ruby로 업그레이드 할 수 있습니다. 레일 2.3.2와 루비 1.8.7을 사용하고 있습니다. 이 오류를 해결하는 방법?hpricot의 세그먼트 오류
답변
글쎄, 내 질문에 따르면, "최신 버전의 루비로 업그레이드"라고 말하고 싶습니다. 그러나, 나는 또한 hpricot segfaulting에 관한 문제를 겪었는데, 이는 스레딩의 내 사용과 관련이있는 것처럼 보였다.
이것은 버그 목록에서 중요한 문제인 것으로 보입니다. 나는 그것을 경험했다. 내 이론은 파일에서 HTML 구조 또는 잘못된/손상된 문자와 관련이 있지만 정확한 위치를 찾지 못했습니다. 여기
이 문제에 대한 링크입니다 :동일한 segfault 문제가 있습니다.하지만 슬프게도 Google 캐시를 통해 위에서 언급 한 Dave 문제를 상담 할 수 없습니다. parse.rb를 검색해오고 있습니다. segfaults는 인코딩 된 항목 또는 alt와 관련이 있습니다. 문자 세트 (아마도 악센트 문자)
살균 lib 디렉토리 같은 문제가 발생하고 여기에 monkeypatch을 게시 : 메모리에서 http://github.com/rgrove/sanitize/blob/1e1dc9681de99e32dc166f591343dfa60fc1f648/lib/sanitize/monkeypatch/hpricot.rb
, 내가 마지막에 대해 그것을 사용하기 때문에 년 전 :
Hpricot을 저장 특성을 고정 크기 버퍼에서, 일부 프레임 워크는 outrag를 생성합니다. 문서 속성에 긴 해시가 있습니다. 파싱하기 전에 설정할 수있는 정적 필드가있어이 버퍼의 크기를 설정할 수 있습니다.
웹 페이지의 워드 프로세서에서 상당히 두드러졌지만 물론 사라졌습니다.
Hpricot.buffer_size = 262144 –
많은 유니 코드 문자가 포함 된 html 페이지를 구문 분석하려고했지만 Hpricot이 계속 충돌했습니다. 마지막으로, 나는 사냥에서 멍키 패치를 사용하여 환경에 두었다. 레일 애플리케이션 용. 나는이 패치를 추가하기 때문에 하나의 충돌이되지 않았습니다 : 루비 1.8.5에
이것은 완벽하게 작동했습니다! Nokogiri (와 계획)로 전환해야한다는 것을 알고 있지만, 이전 프로젝트의 경우이 수정이 필요했습니다! –
이 패치를 사용하는 방법은 무엇입니까? –
사용하여 시도 Hpricot을 -v 0.6.161
나를 위해 일했다.
- 1. 세그먼트 오류
- 2. 세그먼트 오류 오류
- 3. 세그먼트 오류 오류
- 4. 소켓의 세그먼트 오류 오류
- 5. 문자열이있는 세그먼트 오류 C++
- 6. 루비 세그먼트 오류
- 7. 세그먼트 오류 디버깅 도움말
- 8. Sprintf 세그먼트 화 오류
- 9. QHash의 세그먼트 오류
- 10. CFNumberGetValue를 사용한 세그먼트 오류
- 11. 예기치 않은 세그먼트 오류
- 12. C 세그먼트 오류 구조
- 13. getc()의 세그먼트 오류
- 14. btree 구현의 세그먼트 오류
- 15. 세그먼트 오류 상태
- 16. 시간상의 세그먼트 오류 (0);
- 17. GtkLabel 세그먼트 화 오류
- 18. 세그먼트 실행 오류 41881 회 실행시 오류
- 19. 오버로딩 연산자에서 세그먼트 화 오류 =
- 20. Python : openssl 세그먼트 화 오류
- 21. 이 나에게 세그먼트 오류 제공 ++
- 22. C++ SIGSEGV 루프의 세그먼트 오류
- 23. 부스트 스레드의 세그먼트 오류 tls_destructor
- 24. 사용자 지정 QAbstractItemModel의 세그먼트 오류
- 25. clone() 사용 : 세그먼트 화 오류
- 26. 세그먼트 화 오류 - 트리 표시
- 27. 세그먼트 오류 문제, gdb 메시지
- 28. 작은 C 프로그램의 세그먼트 오류
- 29. STL 사용 중 세그먼트 오류
- 30. 표준 : :지도 삽입 세그먼트 오류
하지만 이미 거의 최신 버전의 루비를 사용하고 있습니다. 또한, 내 코드에서 스레딩을하지 않습니다. ( – user85748
아아 아님. 루비 최신 1.9.1 –
내 호스트가 1.8.5를 사용 중입니다. 내 dev 컴퓨터에서 1.9.1로 업그레이드해도 코드를 프로덕션에 배포하십시오 – user85748