[prev in list] [next in list] [prev in thread] [next in thread] 

List:       htmlunit-develop
Subject:    [HtmlUnit] [htmlunit:bugs] #1831 NulPointerException while parsing google.com
From:       "RBRi" <rbri () users ! sf ! net>
Date:       2016-12-22 11:26:30
Message-ID: /p/htmlunit/bugs/1831/6c9c9023f952ef2e4e91228979adac60752505d2.bugs () htmlunit ! p ! sourceforge ! net
[Download RAW message or body]

[Attachment #2 (multipart/related)]


--===============8854733996469717559==
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Have checked the code again and im really really sure this was fixed with commit \
1307.


---

** [bugs:#1831] NulPointerException while parsing google.com**

**Status:** pending
**Group:** 2.23
**Created:** Thu Oct 13, 2016 11:33 AM UTC by lobster
**Last Updated:** Thu Dec 22, 2016 06:53 AM UTC
**Owner:** RBRi


If I try to parse google.com using HTMLUnit I get this exception:
~~~
java.lang.RuntimeException: Exception invoking constructor
	at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:182)
	at net.sourceforge.htmlunit.corejs.javascript.FunctionObject.call(FunctionObject.java:448)
  at com.gargoylesoftware.htmlunit.javascript.RecursiveFunctionObject.call(RecursiveFunctionObject.java:242)
  at net.sourceforge.htmlunit.corejs.javascript.BaseFunction.construct(BaseFunction.java:389)
  at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1592)
  at net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:800)
  at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105)
  at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:413)
  at com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:252)
  at net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3264)
  at net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:115)
  at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$3.doRun(JavaScriptEngine.java:794)
  at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine$HtmlUnitContextAction.run(JavaScriptEngine.java:906)
  at net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)
	at net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)
  at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:803)
  at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:779)
  at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:767)
  at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:904)
  at com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:307)
  at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:368)
  at com.gargoylesoftware.htmlunit.html.HtmlScript$2.execute(HtmlScript.java:238)
	at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:257)
  at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:772)
  at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
	at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:729)
  at net.sourceforge.htmlunit.cyberneko.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1209)
  at net.sourceforge.htmlunit.cyberneko.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1111)
  at net.sourceforge.htmlunit.cyberneko.filters.DefaultFilter.endElement(DefaultFilter.java:207)
  at net.sourceforge.htmlunit.cyberneko.filters.NamespaceBinder.endElement(NamespaceBinder.java:337)
  at net.sourceforge.htmlunit.cyberneko.HTMLScanner$ContentScanner.scanEndElement(HTMLScanner.java:3137)
  at net.sourceforge.htmlunit.cyberneko.HTMLScanner$ContentScanner.scan(HTMLScanner.java:2100)
  at net.sourceforge.htmlunit.cyberneko.HTMLScanner.scanDocument(HTMLScanner.java:927)
  at net.sourceforge.htmlunit.cyberneko.HTMLConfiguration.parse(HTMLConfiguration.java:506)
  at net.sourceforge.htmlunit.cyberneko.HTMLConfiguration.parse(HTMLConfiguration.java:459)
  at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.parse(HTMLParser.java:979)
  at com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:241)
	at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:187)
	at com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:269)
  at com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:157)
  at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:512)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:386)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:304)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:451)
	at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:436)
	at GoogleSearch.main(GoogleSearch.java:17)
Caused by: java.lang.NullPointerException
	at com.gargoylesoftware.htmlunit.javascript.host.arrays.Uint32Array.toArray(Uint32Array.java:55)
  at com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.put(ArrayBufferViewBase.java:141)
  at com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.set(ArrayBufferViewBase.java:119)
  at com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.constructor(ArrayBufferViewBase.java:83)
  at com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.constructor(ArrayBufferViewBase.java:49)
  at com.gargoylesoftware.htmlunit.javascript.host.arrays.Uint32Array.constructor(Uint32Array.java:45)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:153)
	... 46 more
~~~

My code:
~~~
import com.gargoylesoftware.htmlunit.WebClient;
import java.io.*;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;

import java.net.*;

public class GoogleSearch {

	public static void main(String[] args) throws IOException, MalformedURLException {
		final WebClient webClient = new WebClient();

		HtmlPage page1 = webClient.getPage("http://www.google.com");
		HtmlInput input1 = page1.getElementByName("q");
		input1.setValueAttribute("yarn");

		HtmlSubmitInput submit1 = page1.getElementByName("btnK");

		page1 = submit1.click();

		System.out.println(page1.asXml());

		webClient.close();
	}
}
~~~


---

Sent from sourceforge.net because htmlunit-develop@lists.sourceforge.net is \
subscribed to https://sourceforge.net/p/htmlunit/bugs/

To unsubscribe from further messages, a project admin can change settings at \
https://sourceforge.net/p/htmlunit/admin/bugs/options.  Or, if this is a mailing \
                list, you can unsubscribe from the mailing list.
--===============8854733996469717559==
MIME-Version: 1.0
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit

<div class="markdown_content"><p>Have checked the code again and im really really \
sure this was fixed with commit 1307.</p> <hr/>
<p><strong> <a class="alink" \
href="https://sourceforge.net/p/htmlunit/bugs/1831/">[bugs:#1831]</a> \
NulPointerException while parsing google.com</strong></p> <p><strong>Status:</strong> \
pending<br/> <strong>Group:</strong> 2.23<br/>
<strong>Created:</strong> Thu Oct 13, 2016 11:33 AM UTC by lobster<br/>
<strong>Last Updated:</strong> Thu Dec 22, 2016 06:53 AM UTC<br/>
<strong>Owner:</strong> RBRi</p>
<p>If I try to parse google.com using HTMLUnit I get this exception:</p>
<div class="codehilite"><pre><span class="x">java.lang.RuntimeException: Exception \
invoking constructor</span> <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:182)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.FunctionObject.call(FunctionObject.java:448)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.RecursiveFunctionObject.call(RecursiveFunctionObject.java:242)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.BaseFunction.construct(BaseFunction.java:389)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpretLoop(Interpreter.java:1592)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.Interpreter.interpret(Interpreter.java:800)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.call(InterpretedFunction.java:105)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.ContextFactory.doTopCall(ContextFactory.java:413)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.HtmlUnitContextFactory.doTopCall(HtmlUnitContextFactory.java:252)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3264)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.InterpretedFunction.exec(InterpretedFunction.java:115)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine</span><span \
class="p">$</span><span class="x">3.doRun(JavaScriptEngine.java:794)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine</span><span \
class="p">$</span><span class="nv">HtmlUnitContextAction</span><span \
class="p">.</span><span class="nv">run</span><span class="p">(</span><span \
class="err">JavaScriptEngine.java:</span><span class="m">906</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.Context.call(Context.java:628)</span> \
<span class="x">    at \
net.sourceforge.htmlunit.corejs.javascript.ContextFactory.call(ContextFactory.java:515)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:803)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:779)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:767)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:904)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.html.HtmlScript.executeInlineScriptIfNeeded(HtmlScript.java:307)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:368)</span>
 <span class="x">    at com.gargoylesoftware.htmlunit.html.HtmlScript</span><span \
class="p">$</span><span class="x">2.execute(HtmlScript.java:238)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:257)</span>
 <span class="x">    at com.gargoylesoftware.htmlunit.html.HTMLParser</span><span \
class="p">$</span><span class="nv">HtmlUnitDOMBuilder</span><span \
class="p">.</span><span class="nv">endElement</span><span class="p">(</span><span \
class="err">HTMLParser.java:</span><span class="m">772</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.html.HTMLParser</span><span \
class="p">$</span><span class="nv">HtmlUnitDOMBuilder</span><span \
class="p">.</span><span class="nv">endElement</span><span class="p">(</span><span \
class="err">HTMLParser.java:</span><span class="m">729</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1209)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1111)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.filters.DefaultFilter.endElement(DefaultFilter.java:207)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.filters.NamespaceBinder.endElement(NamespaceBinder.java:337)</span>
 <span class="x">    at net.sourceforge.htmlunit.cyberneko.HTMLScanner</span><span \
class="p">$</span><span class="nv">ContentScanner</span><span class="p">.</span><span \
class="nv">scanEndElement</span><span class="p">(</span><span \
class="err">HTMLScanner.java:</span><span class="m">3137</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLScanner</span><span class="p">$</span><span \
class="nv">ContentScanner</span><span class="p">.</span><span \
class="nv">scan</span><span class="p">(</span><span \
class="err">HTMLScanner.java:</span><span class="m">2100</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLScanner.scanDocument(HTMLScanner.java:927)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLConfiguration.parse(HTMLConfiguration.java:506)</span>
 <span class="x">    at \
net.sourceforge.htmlunit.cyberneko.HTMLConfiguration.parse(HTMLConfiguration.java:459)</span>
 <span class="x">    at org.apache.xerces.parsers.XMLParser.parse(Unknown \
Source)</span> <span class="x">    at \
com.gargoylesoftware.htmlunit.html.HTMLParser</span><span class="p">$</span><span \
class="nv">HtmlUnitDOMBuilder</span><span class="p">.</span><span \
class="nv">parse</span><span class="p">(</span><span \
class="err">HTMLParser.java:</span><span class="m">979</span><span \
class="p">)</span><span class="x"></span> <span class="x">    at \
com.gargoylesoftware.htmlunit.html.HTMLParser.parse(HTMLParser.java:241)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.html.HTMLParser.parseHtml(HTMLParser.java:187)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.DefaultPageCreator.createHtmlPage(DefaultPageCreator.java:269)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.DefaultPageCreator.createPage(DefaultPageCreator.java:157)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:512)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:386)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:304)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:451)</span> <span \
class="x">    at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:436)</span>
 <span class="x">    at GoogleSearch.main(GoogleSearch.java:17)</span>
<span class="x">Caused by: java.lang.NullPointerException</span>
<span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.Uint32Array.toArray(Uint32Array.java:55)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.put(ArrayBufferViewBase.java:141)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.set(ArrayBufferViewBase.java:119)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.constructor(ArrayBufferViewBase.java:83)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.ArrayBufferViewBase.constructor(ArrayBufferViewBase.java:49)</span>
 <span class="x">    at \
com.gargoylesoftware.htmlunit.javascript.host.arrays.Uint32Array.constructor(Uint32Array.java:45)</span>
 <span class="x">    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native \
Method)</span> <span class="x">    at \
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)</span> <span class="x">   \
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)</span> <span \
class="x">    at java.lang.reflect.Method.invoke(Unknown Source)</span> <span \
class="x">    at net.sourceforge.htmlunit.corejs.javascript.MemberBox.invoke(MemberBox.java:153)</span>
 <span class="x">    ... 46 more</span>
</pre></div>


<p>My code:</p>
<div class="codehilite"><pre><span class="kn">import</span> <span \
class="nn">com.gargoylesoftware.htmlunit.WebClient</span><span class="p">;</span> \
<span class="kn">import</span> <span class="nn">java.io.</span><span \
class="o">*</span><span class="p">;</span> <span class="kn">import</span> <span \
class="nn">com.gargoylesoftware.htmlunit.html.HtmlPage</span><span class="p">;</span> \
<span class="kn">import</span> <span \
class="nn">com.gargoylesoftware.htmlunit.html.HtmlInput</span><span \
class="p">;</span> <span class="kn">import</span> <span \
class="nn">com.gargoylesoftware.htmlunit.html.HtmlSubmitInput</span><span \
class="p">;</span>

<span class="kn">import</span> <span class="nn">java.net.</span><span \
class="o">*</span><span class="p">;</span>

<span class="n">public</span> <span class="k">class</span> <span \
class="nc">GoogleSearch</span> <span class="p">{</span>

    <span class="n">public</span> <span class="n">static</span> <span \
class="n">void</span> <span class="n">main</span><span class="p">(</span><span \
class="n">String</span><span class="p">[]</span> <span class="n">args</span><span \
class="p">)</span> <span class="n">throws</span> <span \
class="n">IOException</span><span class="p">,</span> <span \
class="n">MalformedURLException</span> <span class="p">{</span>  <span \
class="n">final</span> <span class="n">WebClient</span> <span \
class="n">webClient</span> <span class="o">=</span> <span class="n">new</span> <span \
class="n">WebClient</span><span class="p">();</span>

        <span class="n">HtmlPage</span> <span class="n">page1</span> <span \
class="o">=</span> <span class="n">webClient</span><span class="o">.</span><span \
class="n">getPage</span><span class="p">(</span><span \
class="s">"http://www.google.com"</span><span class="p">);</span>  <span \
class="n">HtmlInput</span> <span class="n">input1</span> <span class="o">=</span> \
<span class="n">page1</span><span class="o">.</span><span \
class="n">getElementByName</span><span class="p">(</span><span \
class="s">"q"</span><span class="p">);</span>  <span class="n">input1</span><span \
class="o">.</span><span class="n">setValueAttribute</span><span \
class="p">(</span><span class="s">"yarn"</span><span class="p">);</span>

        <span class="n">HtmlSubmitInput</span> <span class="n">submit1</span> <span \
class="o">=</span> <span class="n">page1</span><span class="o">.</span><span \
class="n">getElementByName</span><span class="p">(</span><span \
class="s">"btnK"</span><span class="p">);</span>

        <span class="n">page1</span> <span class="o">=</span> <span \
class="n">submit1</span><span class="o">.</span><span class="n">click</span><span \
class="p">();</span>

        <span class="n">System</span><span class="o">.</span><span \
class="n">out</span><span class="o">.</span><span class="n">println</span><span \
class="p">(</span><span class="n">page1</span><span class="o">.</span><span \
class="n">asXml</span><span class="p">());</span>

        <span class="n">webClient</span><span class="o">.</span><span \
class="n">close</span><span class="p">();</span>  <span class="p">}</span>
<span class="p">}</span>
</pre></div>


<hr/>
<p>Sent from sourceforge.net because htmlunit-develop@lists.sourceforge.net is \
subscribed to <a href="https://sourceforge.net/p/htmlunit/bugs/">https://sourceforge.net/p/htmlunit/bugs/</a></p>
 <p>To unsubscribe from further messages, a project admin can change settings at <a \
href="https://sourceforge.net/p/htmlunit/admin/bugs/options.">https://sourceforge.net/p/htmlunit/admin/bugs/options.</a> \
                Or, if this is a mailing list, you can unsubscribe from the mailing \
                list.</p></div>
--===============8854733996469717559==--



------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/intel

_______________________________________________
HtmlUnit-develop mailing list
HtmlUnit-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/htmlunit-develop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic