[jira] Closed: (NUTCH-17) NekoHTML's DOMFragmentParser hangs on certain URLs

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] Closed: (NUTCH-17) NekoHTML's DOMFragmentParser hangs on certain URLs

Sergey Smolyakov (Jira)
     [ http://issues.apache.org/jira/browse/NUTCH-17?page=all ]
Andrzej Bialecki  closed NUTCH-17:

    Resolution: Fixed

This issue has been fixed in recent SVN versio of parse-html - a newer version of NekoHTML doesn't exhibit this problem. You can also use TagSoup as an alternative HTML parser.

> NekoHTML's DOMFragmentParser hangs on certain URLs
> --------------------------------------------------
>          Key: NUTCH-17
>          URL: http://issues.apache.org/jira/browse/NUTCH-17
>      Project: Nutch
>         Type: Bug
>   Components: fetcher
>  Environment: Linux and Windows
>     Reporter: Kelvin Tan

> I've tracked down occasional fetcher hangs to NekoHTML's DOMFragmentParser hanging certain HTML documents, for example, http://www.inlandrevenue.gov.uk/charities/chapter_3.htm.
> The thread dump on the hung parser is:
> "CompilerThread0" daemon prio=1 tid=0x080c4c18 nid=0x47da waiting on condition [0x00000000..0x8a3daf68]
> "Signal Dispatcher" daemon prio=1 tid=0x080c3d60 nid=0x47d9 waiting on condition [0x00000000..0x00000000]
> "Finalizer" daemon prio=1 tid=0x080b8818 nid=0x47d8 in Object.wait() [0x8a2a0000..0x8a2a0680]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x4a60d058> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x4a60d058> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
> "Reference Handler" daemon prio=1 tid=0x080b7b50 nid=0x47d7 in Object.wait() [0x8a21f000..0x8a21f800]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x4a60d0d8> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x4a60d0d8> (a java.lang.ref.Reference$Lock)
> "main" prio=1 tid=0x0805c170 nid=0x47d1 waiting on condition [0xbfffc000..0xbfffcec8]
>         at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:99)
>         at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:393)
>         at java.lang.StringBuffer.append(StringBuffer.java:225)
>         - locked <0x45910118> (a java.lang.StringBuffer)
>         at org.apache.xerces.dom.CharacterDataImpl.appendData(Unknown Source)
>         at org.cyberneko.html.parsers.DOMFragmentParser.characters(Unknown Source)
>         at org.cyberneko.html.filters.DefaultFilter.characters(Unknown Source)
>         at org.cyberneko.html.HTMLTagBalancer.characters(Unknown Source)
>         at org.cyberneko.html.HTMLScanner$ContentScanner.scanCharacters(Unknown Source)
>         at org.cyberneko.html.HTMLScanner$ContentScanner.scan(Unknown Source)
>         at org.cyberneko.html.HTMLScanner.scanDocument(Unknown Source)
>         at org.cyberneko.html.HTMLConfiguration.parse(Unknown Source)
>         at org.cyberneko.html.HTMLConfiguration.parse(Unknown Source)
>         at org.cyberneko.html.parsers.DOMFragmentParser.parse(Unknown Source)
>         at net.nutch.parse.html.HtmlParser.getParse(HtmlParser.java:157)
>         at net.nutch.parse.ParserChecker.main(ParserChecker.java:74)
> "VM Thread" prio=1 tid=0x080b4f30 nid=0x47d6 runnable
> "VM Periodic Task Thread" prio=1 tid=0x080c75f8 nid=0x47dc waiting on condition
> Using the URL mentioned above, I was able to successfully parse the file using a normal NekoHTML DocumentParser.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see: