18 January 2026:


This forum is now archived and is in read-only mode. Please continue discussions on our improved new Sahi Pro Community forum.



Sahi Pro is an enterprise grade test automation platform which can automate web, mobile, API, windows and java based applications and SAP.

Sahi Automation Has Stopped Working due to java.lang.OutOfMemoryError

niteshsniteshs Members
edited June 2011 in Sahi - Open Source
Mandatory Info:
OS Name: Windows XP professional versaion 2002 sp3
Browser Name/version: Firefox 3.6.17
Sahi Build: 3.5 (I'm not sure where to get this, please suggest)



I had successfully automated a GWT based application using Sahi. It was working fine when I last ran it (about 2 months back).

Now, I was trying it today and here is what I did:

1. I launched Sahi dashboard
2. I opened firefox browser using Sahi dash board.
3. I tried opening my application by giving its URL.
4. My application is not opening and I get a message which says "Application is taking too long to load". I also observe below exception inside Sahi command line interface.

When I trying opening my application without SAHI, it opens well.

So, the real problem is that my application is not opening with SAHI.

Let me know why this is happening and how should I start to debug this problem?

EXCEPTION:


Sahi properties file = C:\sahi\config\sahi.properties
Sahi user properties file = C:\sahi\userdata\config\userdata.properties
>>>> Sahi started. Listening on port: 9999
>>>> Configure your browser to use this server and port as its proxy
>>>> Browse any page and CTRL-ALT-DblClick on the page to bring up the Sahi Cont
roller
Reading browser types from: C:\sahi\userdata\config\browser_types.xml
Firefox 4 was not found at C:\Program Files\Mozilla Firefox 4.0 Beta 7\firefox.e
xe
Safari was not found at C:\Program Files\Safari\Safari.exe
Chrome was not found at $LOCALAPPDATA\Google\Chrome\Application\chrome.exe
Opera was not found at C:\Program Files\Opera\opera.exe
Jun 15, 2011 11:42:13 AM net.sf.sahi.ssl.SSLHelper getKeyManagerFactoryForRemote
Fetch
INFO: No SSL Client Cert specified
Jun 15, 2011 11:42:14 AM net.sf.sahi.test.ProcessHelper execute
INFO: "C:\Program Files\Mozilla Firefox\firefox.exe" -profile C:\sahi\userdata\b
rowser\ff\profiles\sahi0 -no-remote "http://sahi.example.com/_s_/dyn/Driver_star
t?sahisid=sahi_512a774c0b2100485608e7f0548fe3eccb73__SahiAmpersandSahi__startUrl
=http%3A%2F%2Fsahi.example.com%2F_s_%2Fdyn%2FDriver_initialized%3FstartUrl%3Dhtt
p%253A%252F%252Fsahi.example.com%252F_s_%252Fdyn%252FDriver_initialized"
Jun 15, 2011 11:42:14 AM net.sf.sahi.test.ProcessHelper$PIDGatherer run
INFO: PIDs: [5616]; 750 ms
Jun 15, 2011 11:42:15 AM net.sf.sahi.test.ProcessHelper kill
INFO: Kill: [5616]
Jun 15, 2011 11:42:16 AM net.sf.sahi.test.ProcessHelper kill
INFO: Kill: [5616]
Jun 15, 2011 11:42:21 AM net.sf.sahi.test.ProcessHelper execute
INFO: "C:\Program Files\Mozilla Firefox\firefox.exe" -profile C:\sahi\userdata\b
rowser\ff\profiles\sahi0 -no-remote "http://sahi.example.com/_s_/dyn/Driver_star
t?sahisid=sahi_9419ab40021fc042630926e0deb397542ad8__SahiAmpersandSahi__startUrl
=http%3A%2F%2Fsahi.example.com%2F_s_%2Fdyn%2FDriver_initialized%3FstartUrl%3Dhtt
p%253A%252F%252Fsahi.example.com%252F_s_%252Fdyn%252FDriver_initialized"
Jun 15, 2011 11:42:22 AM net.sf.sahi.test.ProcessHelper$PIDGatherer run
INFO: PIDs: [3356]; 1187 ms
Exception in thread "Thread-204" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.StringBuilder.toString(Unknown Source)
at net.sf.sahi.stream.filter.HTMLModifierFilter.inject(HTMLModifierFilte
r.java:117)
at net.sf.sahi.stream.filter.HTMLModifierFilter.injectSahiFiles(HTMLModi
fierFilter.java:92)
at net.sf.sahi.stream.filter.HTMLModifierFilter.modify(HTMLModifierFilte
r.java:67)
at net.sf.sahi.response.HttpModifiedResponse2.<init>(HttpModifiedRespons
e2.java:63)
at net.sf.sahi.RemoteRequestProcessor.addFilters(RemoteRequestProcessor.
java:259)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:214)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:83)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:147)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-203" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.StringBuilder.toString(Unknown Source)
at net.sf.sahi.stream.filter.HTMLModifierFilter.inject(HTMLModifierFilte
r.java:117)
at net.sf.sahi.stream.filter.HTMLModifierFilter.injectSahiFiles(HTMLModi
fierFilter.java:92)
at net.sf.sahi.stream.filter.HTMLModifierFilter.modify(HTMLModifierFilte
r.java:67)
at net.sf.sahi.response.HttpModifiedResponse2.<init>(HttpModifiedRespons
e2.java:63)
at net.sf.sahi.RemoteRequestProcessor.addFilters(RemoteRequestProcessor.
java:259)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:214)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:83)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:147)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at java.lang.Thread.run(Unknown Source)
Exception in thread "pool-1-thread-4" java.lang.OutOfMemoryError: Java heap spac
e
at java.util.Arrays.copyOfRange(Unknown Source)
at java.lang.String.<init>(Unknown Source)
at java.lang.StringBuilder.toString(Unknown Source)
at net.sf.sahi.stream.filter.HTMLModifierFilter.inject(HTMLModifierFilte
r.java:117)
at net.sf.sahi.stream.filter.HTMLModifierFilter.injectSahiFiles(HTMLModi
fierFilter.java:92)
at net.sf.sahi.stream.filter.HTMLModifierFilter.modify(HTMLModifierFilte
r.java:67)
at net.sf.sahi.response.HttpModifiedResponse2.<init>(HttpModifiedRespons
e2.java:63)
at net.sf.sahi.RemoteRequestProcessor.addFilters(RemoteRequestProcessor.
java:259)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:214)
at net.sf.sahi.RemoteRequestProcessor.processHttp(RemoteRequestProcessor
.java:83)
at net.sf.sahi.ProxyProcessor.processAsProxy(ProxyProcessor.java:147)
at net.sf.sahi.ProxyProcessor.run(ProxyProcessor.java:93)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Jun 15, 2011 11:42:54 AM net.sf.sahi.test.ProcessHelper kill
INFO: Kill: [3356]
Jun 15, 2011 11:42:55 AM net.sf.sahi.test.ProcessHelper kill
INFO: Kill: [3356]
C:\Program Files\Mozilla Firefox\firefox.exe -profile "C:\sahi\userdata/browser/
ff/profiles/sahi0" -no-remote http://sahi.example.com/_s_/dyn/Driver_initialized

Comments

  • SumitraSumitra Members
    Hi niteshs,

    Check this if it helps you to resolve the issue:

    http://sahi.co.in/forums/viewtopic.php?id=1397

    Regards
    Sumitra
  • niteshsniteshs Members
    Hi Sumitra,

    My problem still exist. There were 2 solutions given to this problem in your reference problem.

    Mentioned by Narayan
    The OutOfMemoryError occurs when the browser points to Sahi's proxy and Sahi's proxy again points to itself. This circular reference can occur in 2 cases:
    1) sahi/config/sahi.properties (or userdata/config/userdata.properties) has been modified to use an external proxy which points to localhost 9999.
    2) The proxy settings are configured globally such that java itself is using the global proxy settings, in which case the java code in Sahi will connect to Sahi itself and cause a loop.

    I have not changed anything or configured any proxy settings inside sahi.properties (or userdata/config/userdata.properties).

    How do I verify Step 2? Kindly provide any insights.

    Thanks,
    Nitesh
  • niteshsniteshs Members
    Hi Sumitra/Narayan,

    Since I have not changed any property file for sahi, I really do not know why this exception is happening.

    Kindly provide how should I check Solution 2 (specified inside forum thread mentioned by you) for me.

    Thanks,
    Nitesh
  • narayannarayan Administrators
    Hi Nitesh,

    It looks like there is some huge file being fetched in your application.

    Open sahi/bin/dashboard.bat
    Search for
    java -classpath
    replace it with
    java -Xmx128m -classpath

    Restart Sahi and check.

    With Xmx setting we have increased the heap size for Sahi's Java process. Increase it to
    -Xmx256m if this does not work and check.

    Regards,
    Narayan
  • niteshsniteshs Members
    Your options worked. Our application was enhanced to take more time.

    Thanks for help.

    -Nitesh
This discussion has been closed.