You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by Hasan Hasan <ha...@trialox.org> on 2011/01/13 00:08:55 UTC

leak but where after parsing rdf files?

Hi all,

We experienced out of memory error after parsing rdf files. Assuming (or
rather guessing?) leak in the jena parsing provider, I implemented a
sesame-based parsing provider.
However, using sesame-based parsing provider, I also get out of memory
error. I carried out some experiments with jena-based as well as
sesame-based parsing providers.
The results are shown below. There is a memory leak but where? Maybe during
storing the triples into the mgraph? I'll check this tomorrow... too tired
now to continue...

regards
hasan

Test setup:
- The serialized graph contains 148163 triples
- The serialized graph is an n-triples file (each line is a triple) but
parsed with a turtle parser
- The serialized graph is parsed several times and in each time the result
is always stored to the same mgraph replacing old contents

A. With Jena-based Parser

A1. Options used: -Xmx256m -XX:MaxPermSize=128M

Parsing the first time results in:

INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
Clerezza Platform is now operational.
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet holder=
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
admin successfully authenticated
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
user admin
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.security.AllPermission "" "")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.util.PropertyPermission "*" "read")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "resource")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "metadata")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/content.graph" "read")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/documentation.graph" "read")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/config.graph" "read")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.a.graph" "read")
DEBUG qtp11927727-23 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.b.graph" "read")
DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
*/*;q=0.8]
DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
annotations: 0
WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for /graph
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
at
org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
at
org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
at
org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
/graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
 500
DEBUG qtp11927727-17 - Acceptor0
SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
cancelled keys 1 times
DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF


A2. Options used: -Xmx320m -XX:MaxPermSize=128M

Parsing the second time results in:

DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet holder=
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
DEBUG qtp29719186-20 - /graph
org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
admin successfully authenticated
DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
*/*;q=0.8]
DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
annotations: 0
WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for /graph
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
at
org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
at
org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
at
org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
/graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
 500


A3. Options used: -Xmx380m -XX:MaxPermSize=128M
Still no problem after parsing 5 times


B. With Sesame-based Parser

B1. Options used: -Xmx256m -XX:MaxPermSize=128M

Parsing the first time results in:

DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet holder=
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
admin successfully authenticated
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
user admin
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.security.AllPermission "" "")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.util.PropertyPermission "*" "read")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "resource")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "metadata")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/content.graph" "read")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/documentation.graph" "read")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/config.graph" "read")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.a.graph" "read")
DEBUG qtp18102317-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.b.graph" "read")
DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
*/*;q=0.8]
DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
annotations: 0
WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for /graph
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
at
org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
at
org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
at
org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
/graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
 500



B2. Options used: -Xmx320m -XX:MaxPermSize=128M

Parsing the first time results in:

INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
Clerezza Platform is now operational.
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet holder=
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
admin successfully authenticated
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
user admin
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.security.AllPermission "" "")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(java.util.PropertyPermission "*" "read")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "resource")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.osgi.framework.AdminPermission "*" "metadata")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/content.graph" "read")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/documentation.graph" "read")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/config.graph" "read")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.a.graph" "read")
DEBUG qtp18195096-19 - /graph
org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
(org.apache.clerezza.rdf.core.access.security.TcPermission "
http://tpf.localhost/live.b.graph" "read")
DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
*/*;q=0.8]
DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
annotations: 0
DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter javax.ws.rs.core.UriInfo has annotations: 1
DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Inject parameter 1 to org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
Exception (with no exception mapper)
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
at java.util.HashMap.put(HashMap.java:385)
at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
at
com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
at
com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
at
com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
at
org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
at
org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
at
org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
at java.util.AbstractCollection.clear(AbstractCollection.java:396)
at
org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at
org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
at
org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
at
org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
WARN qtp18195096-19 - /graph org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory -
Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
java.lang.OutOfMemoryError: GC overhead limit exceeded
DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
 500
DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF


B3. Options used: -Xmx380m -XX:MaxPermSize=128M

Parsing the 3rd time results in

DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet holder=
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
DEBUG qtp7908994-20 - /graph
org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
admin successfully authenticated
DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
*/*;q=0.8]
DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
- Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
annotations: 0
WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for /graph
java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2786)
at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
at
org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
at
org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
at
org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
at
org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
at
org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
at
org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at
org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
at
org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
/graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
 500
DEBUG qtp7908994-17 - Acceptor0
SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
cancelled keys 1 times
DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF


B4. Options used: -Xmx512m -XX:MaxPermSize=128M
Still no problem after parsing 5 times

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.
>> But once the iterator from Graph.find has returned a triples, it's not in
>> TDB at all.  There is an issue with how the node table cache might grow
>> because of large literals in it, but is is limited to a maximum number of
>> entries.  Turn the cache size down.
>
>
> How to do this?

In theory (this isn't tested in a while nor is it documented except by code)

[[
In theory, the caches are tunable because it's all constants in 
SystemTDB, but it's untested as to the performance impact. It should be 
in the appropriate .info file as well, but it's not.
]]

-Dtdb:settings=FILENAME

where FILENAME is the name of Java properties file (not XML form).

Node2NodeIdCacheSize=1000
NodeId2NodeCacheSize=1000

See the code in SystemTDB.java.

Or, for testing, simply change the default values of 
NodeId2NodeCacheSize and Node2NodeIdCacheSize and rebuild.


	Andy

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
On Tue, Jan 25, 2011 at 11:14 AM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

>
>
> On 25/01/11 09:33, Hasan Hasan wrote:
>
>> Hi Andy,
>>
>> thanks for taking a look at the code.
>> This means that there is a limit to the number of triples with large
>> literals that can be returned by jenaGraph.find(). Right?
>>
>
> Not in the design - Graph.find() returns a streaming iterator from TDB. if
> the application is keeping the triples returned, then it takes space, RDF
> terms are materialized to return them - there is no delayed evaluation
> there.
>

as you can see, the test code does not keep the triples. In the next call to
next() the previous triple is overwritten.

while (jenaIter.hasNext()) {
    Triple triple = (Triple) jenaIter.next();
}


> But once the iterator from Graph.find has returned a triples, it's not in
> TDB at all.  There is an issue with how the node table cache might grow
> because of large literals in it, but is is limited to a maximum number of
> entries.  Turn the cache size down.


How to do this?

cheers
hasan


>
>
>  If this limit is
>> exceeded, then it can lead to outofmemoryerror exception. And this limit
>> depends on max memory allocated for heap, the size of literals ?
>>
>
> And the size of the cache.
>
>
>  So to see whether there is a memory leak, I could try to loop over
>> jenaGraph.find() where in each iteration there shouldn't be a heap memory
>> exception.
>>
>
> If the heap is big enough for the cache.  The worst case is pretty big.
>
>
>  I'll test it now and let you know.
>> But we'll consider your suggestion to not have large literals in the
>> triples, but their references.
>>
>> Cheers
>> Hasan
>>
>
> let me know how it goes,
>
>        Andy
>

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.

On 25/01/11 09:33, Hasan Hasan wrote:
> Hi Andy,
>
> thanks for taking a look at the code.
> This means that there is a limit to the number of triples with large
> literals that can be returned by jenaGraph.find(). Right?

Not in the design - Graph.find() returns a streaming iterator from TDB. 
if the application is keeping the triples returned, then it takes space, 
RDF terms are materialized to return them - there is no delayed 
evaluation there.

But once the iterator from Graph.find has returned a triples, it's not 
in TDB at all.  There is an issue with how the node table cache might 
grow because of large literals in it, but is is limited to a maximum 
number of entries.  Turn the cache size down.

> If this limit is
> exceeded, then it can lead to outofmemoryerror exception. And this limit
> depends on max memory allocated for heap, the size of literals ?

And the size of the cache.

> So to see whether there is a memory leak, I could try to loop over
> jenaGraph.find() where in each iteration there shouldn't be a heap memory
> exception.

If the heap is big enough for the cache.  The worst case is pretty big.

> I'll test it now and let you know.
> But we'll consider your suggestion to not have large literals in the
> triples, but their references.
>
> Cheers
> Hasan

let me know how it goes,

	Andy

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
On Tue, Jan 25, 2011 at 10:33 AM, Hasan Hasan <ha...@trialox.org> wrote:

> Hi Andy,
>
> thanks for taking a look at the code.
> This means that there is a limit to the number of triples with large
> literals that can be returned by jenaGraph.find(). Right? If this limit is
> exceeded, then it can lead to outofmemoryerror exception. And this limit
> depends on max memory allocated for heap, the size of literals ?
> So to see whether there is a memory leak, I could try to loop over
> jenaGraph.find() where in each iteration there shouldn't be a heap memory
> exception.
> I'll test it now and let you know.
>

I iterate 100 000 times graph.find() method and the freeMemory seems to
fluctuate within a certain range and never goes below a certain value which
indicates no memory leak. I hope this does not depend on the fact that I
have the same triples in each result set of graph.find()

hasan



> But we'll consider your suggestion to not have large literals in the
> triples, but their references.
>
> Cheers
> Hasan
>
> On Mon, Jan 24, 2011 at 10:11 PM, Andy Seaborne <
> andy.seaborne@epimorphics.com> wrote:
>
>>
>>
>> On 24/01/11 18:03, Hasan Hasan wrote:
>>
>>> Hi Andy
>>>
>>> attached I provide a bundle that when run can
>>> throw java.lang.OutOfMemoryError exception.
>>> I don't do any parsing in the code. I merely read triples from the graph
>>> generated in the previous or current execution.
>>>
>>> Invoked with:
>>> MAVEN_OPTS="-Xmx512m -Xms128m"  mvn clean install exec:java -o -e
>>> -Dexec.args="300 2"
>>>
>>> You can play with the arguments. You can generate some triples in
>>> current execution and retrieve them
>>> You can also only retrieve triples, in which case you need not
>>> specify -Dexec.args
>>> In the above example, 300 is the number of triples to be generated and
>>> added to the graph
>>> 2 is the type of literal used: xsd:base64Binary, if you specify 1, the
>>> type used is rdf:XMLLiteral
>>> Not all objects in the graph are of typed literals.
>>>
>>> Could you please check? Thanks.
>>>
>>
>> Yes, it does.  But I can tell that from the pom alone and reading between
>> the lines (and test cases) that it's about large literals.
>>
>> This uses TDB - TDB has various caches in JVM.
>>
>> Note that on 64 bit hardware, TDB will also use memory mapped I/O, which
>> counts towards the process size but not the heap.
>>
>> There are 2 100K slot caches in front of the node table in the heap, one
>> for node->NodeId and one for NodeId->Node (the latter is more important at
>> query time, the former at update time).  The policy is LRU.
>>
>> This has an implicit assumption that nodes are not comparable size - you
>> have 1.5Mbyte (3MBytes in Java!).
>>
>> If you want to store multimegabyte base64-encoded literals, you might wish
>> to consider using a blob store and storing the reference in teh RDF
>> database.  Even if this all worked naturally, you might want to do this
>> because it's an inefficient use of a valuable system resource (memory
>> space).
>>
>> ((Or submit a patch to Jena JIRA for a separate storage area and policy
>> for large literals. Or size sensitive cache implementation :-)))
>>
>> In theory, the caches are tunable because it's all constants in SystemTDB,
>> but it's untested as to the performance impact. It should in the appropriate
>> .info file as well, but it's not.
>>
>>        Andy
>>
>>
>>> Hasan
>>>
>>
>

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
Hi Andy,

thanks for taking a look at the code.
This means that there is a limit to the number of triples with large
literals that can be returned by jenaGraph.find(). Right? If this limit is
exceeded, then it can lead to outofmemoryerror exception. And this limit
depends on max memory allocated for heap, the size of literals ?
So to see whether there is a memory leak, I could try to loop over
jenaGraph.find() where in each iteration there shouldn't be a heap memory
exception.
I'll test it now and let you know.
But we'll consider your suggestion to not have large literals in the
triples, but their references.

Cheers
Hasan

On Mon, Jan 24, 2011 at 10:11 PM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

>
>
> On 24/01/11 18:03, Hasan Hasan wrote:
>
>> Hi Andy
>>
>> attached I provide a bundle that when run can
>> throw java.lang.OutOfMemoryError exception.
>> I don't do any parsing in the code. I merely read triples from the graph
>> generated in the previous or current execution.
>>
>> Invoked with:
>> MAVEN_OPTS="-Xmx512m -Xms128m"  mvn clean install exec:java -o -e
>> -Dexec.args="300 2"
>>
>> You can play with the arguments. You can generate some triples in
>> current execution and retrieve them
>> You can also only retrieve triples, in which case you need not
>> specify -Dexec.args
>> In the above example, 300 is the number of triples to be generated and
>> added to the graph
>> 2 is the type of literal used: xsd:base64Binary, if you specify 1, the
>> type used is rdf:XMLLiteral
>> Not all objects in the graph are of typed literals.
>>
>> Could you please check? Thanks.
>>
>
> Yes, it does.  But I can tell that from the pom alone and reading between
> the lines (and test cases) that it's about large literals.
>
> This uses TDB - TDB has various caches in JVM.
>
> Note that on 64 bit hardware, TDB will also use memory mapped I/O, which
> counts towards the process size but not the heap.
>
> There are 2 100K slot caches in front of the node table in the heap, one
> for node->NodeId and one for NodeId->Node (the latter is more important at
> query time, the former at update time).  The policy is LRU.
>
> This has an implicit assumption that nodes are not comparable size - you
> have 1.5Mbyte (3MBytes in Java!).
>
> If you want to store multimegabyte base64-encoded literals, you might wish
> to consider using a blob store and storing the reference in teh RDF
> database.  Even if this all worked naturally, you might want to do this
> because it's an inefficient use of a valuable system resource (memory
> space).
>
> ((Or submit a patch to Jena JIRA for a separate storage area and policy for
> large literals. Or size sensitive cache implementation :-)))
>
> In theory, the caches are tunable because it's all constants in SystemTDB,
> but it's untested as to the performance impact. It should in the appropriate
> .info file as well, but it's not.
>
>        Andy
>
>
>> Hasan
>>
>

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.

On 24/01/11 18:03, Hasan Hasan wrote:
> Hi Andy
>
> attached I provide a bundle that when run can
> throw java.lang.OutOfMemoryError exception.
> I don't do any parsing in the code. I merely read triples from the graph
> generated in the previous or current execution.
>
> Invoked with:
> MAVEN_OPTS="-Xmx512m -Xms128m"  mvn clean install exec:java -o -e
> -Dexec.args="300 2"
>
> You can play with the arguments. You can generate some triples in
> current execution and retrieve them
> You can also only retrieve triples, in which case you need not
> specify -Dexec.args
> In the above example, 300 is the number of triples to be generated and
> added to the graph
> 2 is the type of literal used: xsd:base64Binary, if you specify 1, the
> type used is rdf:XMLLiteral
> Not all objects in the graph are of typed literals.
>
> Could you please check? Thanks.

Yes, it does.  But I can tell that from the pom alone and reading 
between the lines (and test cases) that it's about large literals.

This uses TDB - TDB has various caches in JVM.

Note that on 64 bit hardware, TDB will also use memory mapped I/O, which 
counts towards the process size but not the heap.

There are 2 100K slot caches in front of the node table in the heap, one 
for node->NodeId and one for NodeId->Node (the latter is more important 
at query time, the former at update time).  The policy is LRU.

This has an implicit assumption that nodes are not comparable size - you 
have 1.5Mbyte (3MBytes in Java!).

If you want to store multimegabyte base64-encoded literals, you might 
wish to consider using a blob store and storing the reference in teh RDF 
database.  Even if this all worked naturally, you might want to do this 
because it's an inefficient use of a valuable system resource (memory 
space).

((Or submit a patch to Jena JIRA for a separate storage area and policy 
for large literals. Or size sensitive cache implementation :-)))

In theory, the caches are tunable because it's all constants in 
SystemTDB, but it's untested as to the performance impact. It should in 
the appropriate .info file as well, but it's not.

	Andy

>
> Hasan

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
Hi Andy

attached I provide a bundle that when run can
throw java.lang.OutOfMemoryError exception.
I don't do any parsing in the code. I merely read triples from the graph
generated in the previous or current execution.

Invoked with:
MAVEN_OPTS="-Xmx512m -Xms128m"  mvn clean install exec:java -o -e
-Dexec.args="300 2"

You can play with the arguments. You can generate some triples in current
execution and retrieve them
You can also only retrieve triples, in which case you need not
specify -Dexec.args
In the above example, 300 is the number of triples to be generated and added
to the graph
2 is the type of literal used: xsd:base64Binary, if you specify 1, the type
used is rdf:XMLLiteral
Not all objects in the graph are of typed literals.

Could you please check? Thanks.

Hasan


On Sun, Jan 23, 2011 at 9:29 PM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

> Works for me (RIOT).
>
> java version "1.6.0_20"
> OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu2)
> OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)
>
> I've run to completion of all 100 iterations, and with the smaller -Xmx210m
>
> There are about 6 iterations for the OOME below. This shows that cache
> maximum size isn't reached in a single pass.  Given the very large literals
> and the bNodes, this isn't surprising (the cache is a simple slot
> replacement cache).
>
> The cache can be turned off with:
>
> com.hp.hpl.jena.graph.Node.cache(false) ;
>
> It then ran at -Xmx150.
>
> As the files are about 21M bytes, that's 40Mbytes in java characters which
> is about right.
>
>        Andy
>
>
>
> On 22/01/11 11:38, Reto Bachmann-Gmuer wrote:
>
>> To me this looks like a leak, it successfully parses the same bund of
>> files
>> a few time and then it has an OutOfMemoryError:
>>
>> $ MAVEN_OPTS="-Xmx215m -Xms128m"  mvn  exec:java -o -e
>> + Error stacktraces are turned on.
>> [INFO]
>> NOTE: Maven is executing in offline mode. Any artifacts not already in
>> your
>> local
>> repository will be inaccessible.
>>
>> [INFO] Scanning for projects...
>> [INFO]
>> ------------------------------------------------------------------------
>> [INFO] Building Unnamed -
>> org.apache.clerezza:turtlememory:bundle:0.10-incubating-SNAPSHOT
>> [INFO]    task-segment: [exec:java]
>> [INFO]
>> ------------------------------------------------------------------------
>>
>

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.
Works for me (RIOT).

java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.2) (6b20-1.9.2-0ubuntu2)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

I've run to completion of all 100 iterations, and with the smaller -Xmx210m

There are about 6 iterations for the OOME below. This shows that cache 
maximum size isn't reached in a single pass.  Given the very large 
literals and the bNodes, this isn't surprising (the cache is a simple 
slot replacement cache).

The cache can be turned off with:

com.hp.hpl.jena.graph.Node.cache(false) ;

It then ran at -Xmx150.

As the files are about 21M bytes, that's 40Mbytes in java characters 
which is about right.

	Andy


On 22/01/11 11:38, Reto Bachmann-Gmuer wrote:
> To me this looks like a leak, it successfully parses the same bund of files
> a few time and then it has an OutOfMemoryError:
>
> $ MAVEN_OPTS="-Xmx215m -Xms128m"  mvn  exec:java -o -e
> + Error stacktraces are turned on.
> [INFO]
> NOTE: Maven is executing in offline mode. Any artifacts not already in your
> local
> repository will be inaccessible.
>
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building Unnamed -
> org.apache.clerezza:turtlememory:bundle:0.10-incubating-SNAPSHOT
> [INFO]    task-segment: [exec:java]
> [INFO]
> ------------------------------------------------------------------------

Re: leak but where after parsing rdf files?

Posted by Reto Bachmann-Gmuer <re...@trialox.org>.
To me this looks like a leak, it successfully parses the same bund of files
a few time and then it has an OutOfMemoryError:

$ MAVEN_OPTS="-Xmx215m -Xms128m"  mvn  exec:java -o -e
+ Error stacktraces are turned on.
[INFO]
NOTE: Maven is executing in offline mode. Any artifacts not already in your
local
repository will be inaccessible.

[INFO] Scanning for projects...
[INFO]
------------------------------------------------------------------------
[INFO] Building Unnamed -
org.apache.clerezza:turtlememory:bundle:0.10-incubating-SNAPSHOT
[INFO]    task-segment: [exec:java]
[INFO]
------------------------------------------------------------------------
[INFO] Preparing exec:java
[INFO] No goals needed for project - skipping
[INFO] [exec:java {execution: default-cli}]
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/home/reto/.m2/repository/org/slf4j/slf4j-log4j12/1.5.8/slf4j-log4j12-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/home/reto/.m2/repository/org/slf4j/slf4j-simple/1.5.8/slf4j-simple-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an
explanation.
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:30:44 CET 2011 69394744
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:30:45 CET 2011 35188872
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:30:47 CET 2011 47366808
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:30:48 CET 2011 47203240
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:30:49 CET 2011 42741384
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:30:51 CET 2011 42775024
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:30:52 CET 2011 53483456
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:30:53 CET 2011 53054312
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:30:55 CET 2011 48124560
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
Sat Jan 22 12:30:57 CET 2011 38761672
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:31:00 CET 2011 35990832
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:31:02 CET 2011 47626544
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:31:04 CET 2011 42677864
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:31:06 CET 2011 40464624
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:31:07 CET 2011 48232728
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:31:08 CET 2011 76654184
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:31:09 CET 2011 40184992
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:31:11 CET 2011 25407456
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
Sat Jan 22 12:31:13 CET 2011 39777768
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:31:15 CET 2011 22957128
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:31:17 CET 2011 54125432
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:31:18 CET 2011 55672280
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:31:20 CET 2011 44336424
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:31:21 CET 2011 72590304
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:31:23 CET 2011 70973640
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:31:24 CET 2011 54795824
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:31:26 CET 2011 37645640
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
Sat Jan 22 12:31:29 CET 2011 39334808
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:31:31 CET 2011 36357600
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:31:34 CET 2011 49300320
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:31:35 CET 2011 49912136
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:31:37 CET 2011 41279608
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:31:39 CET 2011 66985536
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:31:40 CET 2011 61069440
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:31:41 CET 2011 32386376
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:31:43 CET 2011 44755344
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
Sat Jan 22 12:31:45 CET 2011 37499360
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:31:48 CET 2011 33931904
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:31:50 CET 2011 31057256
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:31:51 CET 2011 51560088
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:31:53 CET 2011 41348008
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:31:54 CET 2011 67824056
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:31:56 CET 2011 69011608
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:31:57 CET 2011 30993920
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:31:59 CET 2011 34794960
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
Sat Jan 22 12:32:01 CET 2011 37394448
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test9.ttl
Sat Jan 22 12:32:03 CET 2011 35800560
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test8.ttl
Sat Jan 22 12:32:05 CET 2011 35942216
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test7.ttl
Sat Jan 22 12:32:06 CET 2011 49681512
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test6.ttl
Sat Jan 22 12:32:08 CET 2011 41445104
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test5.ttl
Sat Jan 22 12:32:10 CET 2011 44588072
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test4.ttl
Sat Jan 22 12:32:11 CET 2011 39404008
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test3.ttl
Sat Jan 22 12:32:12 CET 2011 46719432
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test2.ttl
Sat Jan 22 12:32:14 CET 2011 42149400
parsing:
file:/home/reto/projects/apache/clerezza/issues/CLEREZZA-384/turtlememory/target/classes/test/turtle/test1.ttl
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] An exception occured while executing the Java class. null

Java heap space
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An exception occured
while executing the Java class. null
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
    at
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception
occured while executing the Java class. null
    at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:346)
    at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
    ... 17 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:291)
    at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.OutOfMemoryError: Java heap space
    at java.lang.String.toCharArray(String.java:2737)
    at org.apache.xerces.impl.dv.util.Base64.decode(Unknown Source)
    at org.apache.xerces.impl.dv.xs.Base64BinaryDV.getActualValue(Unknown
Source)
    at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.getActualValue(Unknown
Source)
    at org.apache.xerces.impl.dv.xs.XSSimpleTypeDecl.validate(Unknown
Source)
    at com.hp.hpl.jena.datatypes.xsd.XSDDatatype.parse(XSDDatatype.java:249)
    at com.hp.hpl.jena.datatypes.BaseDatatype.isValid(BaseDatatype.java:100)
    at
org.openjena.riot.checker.CheckerLiterals.validateByDatatypeJena(CheckerLiterals.java:112)
    at
org.openjena.riot.checker.CheckerLiterals.validateByDatatype(CheckerLiterals.java:107)
    at
org.openjena.riot.checker.CheckerLiterals.checkLiteral(CheckerLiterals.java:80)
    at
org.openjena.riot.checker.CheckerLiterals.checkLiteral(CheckerLiterals.java:58)
    at
org.openjena.riot.system.ParserProfileChecker.createTypedLiteral(ParserProfileChecker.java:113)
    at
org.openjena.riot.system.ParserProfileBase.create(ParserProfileBase.java:157)
    at
org.openjena.riot.lang.LangTurtleBase.tokenAsNode(LangTurtleBase.java:480)
    at org.openjena.riot.lang.LangTurtleBase.node(LangTurtleBase.java:330)
    at
org.openjena.riot.lang.LangTurtleBase.triplesNode(LangTurtleBase.java:358)
    at
org.openjena.riot.lang.LangTurtleBase.objectList(LangTurtleBase.java:340)
    at
org.openjena.riot.lang.LangTurtleBase.predicateObjectItem(LangTurtleBase.java:273)
    at
org.openjena.riot.lang.LangTurtleBase.predicateObjectList(LangTurtleBase.java:265)
    at
org.openjena.riot.lang.LangTurtleBase.triples(LangTurtleBase.java:245)
    at
org.openjena.riot.lang.LangTurtleBase.triplesSameSubject(LangTurtleBase.java:206)
    at
org.openjena.riot.lang.LangTurtle.oneTopLevelElement(LangTurtle.java:34)
    at
org.openjena.riot.lang.LangTurtleBase.runParser(LangTurtleBase.java:132)
    at org.openjena.riot.lang.LangBase.parse(LangBase.java:75)
    at
org.openjena.riot.system.JenaReaderTurtle2.readWorker(JenaReaderTurtle2.java:34)
    at
org.openjena.riot.system.JenaReaderRIOT.readImpl(JenaReaderRIOT.java:124)
    at org.openjena.riot.system.JenaReaderRIOT.read(JenaReaderRIOT.java:40)
    at org.openjena.riot.system.JenaReaderRIOT.read(JenaReaderRIOT.java:55)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:202)
    at test.turtle.TestWithFiles.parse(TestWithFiles.java:37)
    at test.turtle.TestWithFiles.main(TestWithFiles.java:48)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 1 minute 37 seconds
[INFO] Finished at: Sat Jan 22 12:32:16 CET 2011
[INFO] Final Memory: 132M/190M
[INFO]
------------------------------------------------------------------------




On Sat, Jan 22, 2011 at 12:29 PM, Reto Bachmann-Gmuer <
reto.bachmann@trialox.org> wrote:

> In did its much faster!
>
> Still there is the issue that might be caused by this fixed-size
> hard-referenced caches. If I start with -Xmx190 it parser test6.ttl
> successfull the first time and gets a memory exception the second time.
>
> Reto
>
>
> On Fri, Jan 21, 2011 at 12:37 PM, Andy Seaborne <
> andy.seaborne@epimorphics.com> wrote:
>
>>
>>
>> On 20/01/11 19:43, Reto Bachmann-Gmuer wrote:
>>
>>> HI Andy
>>>
>>> I've committed an application that uses directly jena without clerezza
>>> stuff
>>>
>>
>>
>>  in the middle that demonstarts the problem.
>>>
>>> Starting it with
>>>
>>> MAVEN_OPTS="-Xmx256m -Xms128m"  mvn clean install exec:java -o -e
>>>
>>> it will fail at one of the files, howver if I change the order in which
>>> the
>>> files are to be parsed and put the file it was failing at at the
>>> begginning
>>> it suceeds parsing this file and will fail at another one.
>>>
>>> the app is here:
>>>
>>> http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-384/turtlememory
>>>
>>
>> Not entirely without clerezza stuff - the POM does not work standalone.
>>
>> After some POM hacking, I got it working.  I take it the test is
>> "TestWithFiles".
>>
>> It's not using RIOT because that's not in the Jena download yet.
>>
>> Add
>>
>>    <dependency>
>>      <groupId>com.hp.hpl.jena</groupId>
>>      <artifactId>arq</artifactId>
>>      <version>2.8.7</version>
>>    </dependency>
>>
>> and either:
>>
>>        com.hp.hpl.jena.query.ARQ.init() ;
>>
>> or
>>
>>        org.openjena.riot.SysRIOT.wireIntoJena() ;
>>
>> With this the test passes (and much faster as well).
>>
>>
>> The test is not just parsing.  It's storing the results in a model so the
>> space needed included complete storage of the model.
>>
>> Only a small increase in -Xmx (e.g. 350m) and the test passes.
>>
>> The test fails in the first pass over the files if it's going to fail. I
>> suspect that one or more internal systems have fixed size caches.  Jena
>> does.  JavaCC has expanding buffering (and you have some very large
>> literals).
>>
>> Jena's caches are bounded by number of slots so churning based on large
>> literals will need to settle down before any conclusions of a memory leak
>> can be made.  Hence failing on the first pass is not suggestive of a memory
>> leak.  This is backed up by the fact file order matters.
>>
>> JavaCC used by the old parser uses expanding buffers and your long
>> literals will force those larger and hence the runtime working space is
>> higher on a single file parse.  RIOT uses a fixed size buffer and builds the
>> large literals directly into the string to be used as the RDF node.
>>
>> As increasing the heap means that the test runs and the test fails in the
>> first pass over the files if it is going to fail, I conclude it's various
>> caches filling up and just not fitting. I guess it passes at 256m with RIOT
>> by chance.  Slightly less overhead meaning that caches just happen to fit.
>>
>> There is a streaming interface to RIOT in org.openjena.riot.RiotReader.
>>
>>        Andy
>>
>
>

Re: leak but where after parsing rdf files?

Posted by Reto Bachmann-Gmuer <re...@trialox.org>.
In did its much faster!

Still there is the issue that might be caused by this fixed-size
hard-referenced caches. If I start with -Xmx190 it parser test6.ttl
successfull the first time and gets a memory exception the second time.

Reto

On Fri, Jan 21, 2011 at 12:37 PM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

>
>
> On 20/01/11 19:43, Reto Bachmann-Gmuer wrote:
>
>> HI Andy
>>
>> I've committed an application that uses directly jena without clerezza
>> stuff
>>
>
>
>  in the middle that demonstarts the problem.
>>
>> Starting it with
>>
>> MAVEN_OPTS="-Xmx256m -Xms128m"  mvn clean install exec:java -o -e
>>
>> it will fail at one of the files, howver if I change the order in which
>> the
>> files are to be parsed and put the file it was failing at at the
>> begginning
>> it suceeds parsing this file and will fail at another one.
>>
>> the app is here:
>>
>> http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-384/turtlememory
>>
>
> Not entirely without clerezza stuff - the POM does not work standalone.
>
> After some POM hacking, I got it working.  I take it the test is
> "TestWithFiles".
>
> It's not using RIOT because that's not in the Jena download yet.
>
> Add
>
>    <dependency>
>      <groupId>com.hp.hpl.jena</groupId>
>      <artifactId>arq</artifactId>
>      <version>2.8.7</version>
>    </dependency>
>
> and either:
>
>        com.hp.hpl.jena.query.ARQ.init() ;
>
> or
>
>        org.openjena.riot.SysRIOT.wireIntoJena() ;
>
> With this the test passes (and much faster as well).
>
>
> The test is not just parsing.  It's storing the results in a model so the
> space needed included complete storage of the model.
>
> Only a small increase in -Xmx (e.g. 350m) and the test passes.
>
> The test fails in the first pass over the files if it's going to fail. I
> suspect that one or more internal systems have fixed size caches.  Jena
> does.  JavaCC has expanding buffering (and you have some very large
> literals).
>
> Jena's caches are bounded by number of slots so churning based on large
> literals will need to settle down before any conclusions of a memory leak
> can be made.  Hence failing on the first pass is not suggestive of a memory
> leak.  This is backed up by the fact file order matters.
>
> JavaCC used by the old parser uses expanding buffers and your long literals
> will force those larger and hence the runtime working space is higher on a
> single file parse.  RIOT uses a fixed size buffer and builds the large
> literals directly into the string to be used as the RDF node.
>
> As increasing the heap means that the test runs and the test fails in the
> first pass over the files if it is going to fail, I conclude it's various
> caches filling up and just not fitting. I guess it passes at 256m with RIOT
> by chance.  Slightly less overhead meaning that caches just happen to fit.
>
> There is a streaming interface to RIOT in org.openjena.riot.RiotReader.
>
>        Andy
>

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.

On 20/01/11 19:43, Reto Bachmann-Gmuer wrote:
> HI Andy
>
> I've committed an application that uses directly jena without clerezza stuff


> in the middle that demonstarts the problem.
>
> Starting it with
>
> MAVEN_OPTS="-Xmx256m -Xms128m"  mvn clean install exec:java -o -e
>
> it will fail at one of the files, howver if I change the order in which the
> files are to be parsed and put the file it was failing at at the begginning
> it suceeds parsing this file and will fail at another one.
>
> the app is here:
> http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-384/turtlememory

Not entirely without clerezza stuff - the POM does not work standalone.

After some POM hacking, I got it working.  I take it the test is 
"TestWithFiles".

It's not using RIOT because that's not in the Jena download yet.

Add

     <dependency>
       <groupId>com.hp.hpl.jena</groupId>
       <artifactId>arq</artifactId>
       <version>2.8.7</version>
     </dependency>

and either:

	com.hp.hpl.jena.query.ARQ.init() ;

or

	org.openjena.riot.SysRIOT.wireIntoJena() ;

With this the test passes (and much faster as well).


The test is not just parsing.  It's storing the results in a model so 
the space needed included complete storage of the model.

Only a small increase in -Xmx (e.g. 350m) and the test passes.

The test fails in the first pass over the files if it's going to fail. I 
suspect that one or more internal systems have fixed size caches.  Jena 
does.  JavaCC has expanding buffering (and you have some very large 
literals).

Jena's caches are bounded by number of slots so churning based on large 
literals will need to settle down before any conclusions of a memory 
leak can be made.  Hence failing on the first pass is not suggestive of 
a memory leak.  This is backed up by the fact file order matters.

JavaCC used by the old parser uses expanding buffers and your long 
literals will force those larger and hence the runtime working space is 
higher on a single file parse.  RIOT uses a fixed size buffer and builds 
the large literals directly into the string to be used as the RDF node.

As increasing the heap means that the test runs and the test fails in 
the first pass over the files if it is going to fail, I conclude it's 
various caches filling up and just not fitting. I guess it passes at 
256m with RIOT by chance.  Slightly less overhead meaning that caches 
just happen to fit.

There is a streaming interface to RIOT in org.openjena.riot.RiotReader.

	Andy

Re: leak but where after parsing rdf files?

Posted by Reto Bachmann-Gmuer <re...@trialox.org>.
HI Andy

I've committed an application that uses directly jena without clerezza stuff
in the middle that demonstarts the problem.

Starting it with

MAVEN_OPTS="-Xmx256m -Xms128m"  mvn clean install exec:java -o -e

it will fail at one of the files, howver if I change the order in which the
files are to be parsed and put the file it was failing at at the begginning
it suceeds parsing this file and will fail at another one.

the app is here:
http://svn.apache.org/viewvc/incubator/clerezza/issues/CLEREZZA-384/turtlememory

Cheers,
Reto



On Thu, Jan 13, 2011 at 9:40 AM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

> The RIOT parsers should have no state build-up except the necessary bNode
> label map - that gets dropped across files.
>
> Is there anything characteristic about the data?
>
>        Andy
>
>
> On 13/01/11 07:24, Reto Bachmann-Gmuer wrote:
>
>> Hi Hasan
>>
>> great thing to have an alternative parsing provider. I've been takling to
>> Andy Seaborne about the leak. He's aware of an issue when using the a
>> jena-riot parser he thinks it might be caused by a dependency of it.
>> Investigating further and doing profiling is high on my TODO-List.
>>
>> Cheers,
>> reto
>>
>> On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan<ha...@trialox.org>  wrote:
>>
>>  Hi all,
>>>
>>> We experienced out of memory error after parsing rdf files. Assuming (or
>>> rather guessing?) leak in the jena parsing provider, I implemented a
>>> sesame-based parsing provider.
>>> However, using sesame-based parsing provider, I also get out of memory
>>> error. I carried out some experiments with jena-based as well as
>>> sesame-based parsing providers.
>>> The results are shown below. There is a memory leak but where? Maybe
>>> during
>>> storing the triples into the mgraph? I'll check this tomorrow... too
>>> tired
>>> now to continue...
>>>
>>> regards
>>> hasan
>>>
>>> Test setup:
>>> - The serialized graph contains 148163 triples
>>> - The serialized graph is an n-triples file (each line is a triple) but
>>> parsed with a turtle parser
>>> - The serialized graph is parsed several times and in each time the
>>> result
>>> is always stored to the same mgraph replacing old contents
>>>
>>> A. With Jena-based Parser
>>>
>>> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>> Clerezza Platform is now operational.
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>> DEBUG qtp11927727-17 - Acceptor0
>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
>>> cancelled keys 1 times
>>> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>
>>> Parsing the second time results in:
>>>
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp29719186-20 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp29719186-20 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>>
>>>
>>> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>> Still no problem after parsing 5 times
>>>
>>>
>>> B. With Sesame-based Parser
>>>
>>> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>>
>>>
>>>
>>> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>> Clerezza Platform is now operational.
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Inject parameter 1 to
>>> org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
>>> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
>>> Exception (with no exception mapper)
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
>>> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
>>> at java.util.HashMap.put(HashMap.java:385)
>>> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
>>> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
>>> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
>>> at
>>>
>>> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> WARN qtp18195096-19 - /graph org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory
>>> -
>>> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>
>>> Parsing the 3rd time results in
>>>
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet holder=
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp7908994-20 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp7908994-20 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>>  500
>>> DEBUG qtp7908994-17 - Acceptor0
>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
>>> cancelled keys 1 times
>>> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
>>> Still no problem after parsing 5 times
>>>
>>>
>>

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
The size is not precise, since I only print out every increase to
multiplication of 100

hasan

On Thu, Jan 13, 2011 at 8:58 PM, Hasan Hasan <ha...@trialox.org> wrote:

> Hi all,
>
> the problem seems to lie in the JenaGraphAdaptor class
> It has a member:
> final BidiMap<BNode, Node> tria2JenaBNodes = new BidiMapImpl<BNode,
> Node>();
>
> which grows each time a serialized graph get parsed.
>
> My experiments with my test data show
>
> At the end of the 1st parsing: Size of tria2JenaBNodes = 87200
> At the end of the 2nd parsing: Size of tria2JenaBNodes = 130800
> At the end of the 3rd parsing: Size of tria2JenaBNodes = 174400
>
> Hasan
>
> On Thu, Jan 13, 2011 at 11:54 AM, Hasan Hasan <ha...@trialox.org> wrote:
>
>> Hi Andy
>>
>> Except that there are quite some bnodes, there's nothing special about the
>> data.
>>
>> Hasan
>>
>>
>> On Thu, Jan 13, 2011 at 9:40 AM, Andy Seaborne <
>> andy.seaborne@epimorphics.com> wrote:
>>
>>> The RIOT parsers should have no state build-up except the necessary bNode
>>> label map - that gets dropped across files.
>>>
>>> Is there anything characteristic about the data?
>>>
>>>        Andy
>>>
>>>
>>> On 13/01/11 07:24, Reto Bachmann-Gmuer wrote:
>>>
>>>> Hi Hasan
>>>>
>>>> great thing to have an alternative parsing provider. I've been takling
>>>> to
>>>> Andy Seaborne about the leak. He's aware of an issue when using the a
>>>> jena-riot parser he thinks it might be caused by a dependency of it.
>>>> Investigating further and doing profiling is high on my TODO-List.
>>>>
>>>> Cheers,
>>>> reto
>>>>
>>>> On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan<ha...@trialox.org>
>>>>  wrote:
>>>>
>>>>  Hi all,
>>>>>
>>>>> We experienced out of memory error after parsing rdf files. Assuming
>>>>> (or
>>>>> rather guessing?) leak in the jena parsing provider, I implemented a
>>>>> sesame-based parsing provider.
>>>>> However, using sesame-based parsing provider, I also get out of memory
>>>>> error. I carried out some experiments with jena-based as well as
>>>>> sesame-based parsing providers.
>>>>> The results are shown below. There is a memory leak but where? Maybe
>>>>> during
>>>>> storing the triples into the mgraph? I'll check this tomorrow... too
>>>>> tired
>>>>> now to continue...
>>>>>
>>>>> regards
>>>>> hasan
>>>>>
>>>>> Test setup:
>>>>> - The serialized graph contains 148163 triples
>>>>> - The serialized graph is an n-triples file (each line is a triple) but
>>>>> parsed with a turtle parser
>>>>> - The serialized graph is parsed several times and in each time the
>>>>> result
>>>>> is always stored to the same mgraph replacing old contents
>>>>>
>>>>> A. With Jena-based Parser
>>>>>
>>>>> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>>>
>>>>> Parsing the first time results in:
>>>>>
>>>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>>>> Clerezza Platform is now operational.
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST
>>>>> /graph
>>>>> on
>>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>>>>
>>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet
>>>>> holder=
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>>> user
>>>>> admin successfully authenticated
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>>> for
>>>>> user admin
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.security.AllPermission "" "")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.util.PropertyPermission "*" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/content.graph" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/documentation.graph" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/config.graph" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.a.graph" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.b.graph" "read")
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl -
>>>>> Accept-Header: [text/html, application/xhtml+xml,
>>>>> application/xml;q=0.9,
>>>>> */*;q=0.8]
>>>>> DEBUG qtp11927727-23 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>>> annotations: 0
>>>>> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for
>>>>> /graph
>>>>> java.lang.OutOfMemoryError: Java heap space
>>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>>> at
>>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>>> at
>>>>>
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
>>>>> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
>>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>>> /graph
>>>>>  500
>>>>> DEBUG qtp11927727-17 - Acceptor0
>>>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
>>>>> cancelled keys 1 times
>>>>> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>>>>>
>>>>>
>>>>> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>>>
>>>>> Parsing the second time results in:
>>>>>
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST
>>>>> /graph
>>>>> on
>>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>>>
>>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet
>>>>> holder=
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
>>>>> DEBUG qtp29719186-20 - /graph
>>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>>> user
>>>>> admin successfully authenticated
>>>>> DEBUG qtp29719186-20 - /graph
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl -
>>>>> Accept-Header: [text/html, application/xhtml+xml,
>>>>> application/xml;q=0.9,
>>>>> */*;q=0.8]
>>>>> DEBUG qtp29719186-20 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>>> annotations: 0
>>>>> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for
>>>>> /graph
>>>>> java.lang.OutOfMemoryError: Java heap space
>>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>>> at
>>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>>> at
>>>>>
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
>>>>> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
>>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>>> /graph
>>>>>  500
>>>>>
>>>>>
>>>>> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>>> Still no problem after parsing 5 times
>>>>>
>>>>>
>>>>> B. With Sesame-based Parser
>>>>>
>>>>> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>>>
>>>>> Parsing the first time results in:
>>>>>
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST
>>>>> /graph
>>>>> on
>>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>>>
>>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet
>>>>> holder=
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>>> user
>>>>> admin successfully authenticated
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>>> for
>>>>> user admin
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.security.AllPermission "" "")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.util.PropertyPermission "*" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/content.graph" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/documentation.graph" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/config.graph" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.a.graph" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.b.graph" "read")
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl -
>>>>> Accept-Header: [text/html, application/xhtml+xml,
>>>>> application/xml;q=0.9,
>>>>> */*;q=0.8]
>>>>> DEBUG qtp18102317-19 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>>> annotations: 0
>>>>> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for
>>>>> /graph
>>>>> java.lang.OutOfMemoryError: Java heap space
>>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>>> at
>>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>>> at
>>>>>
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
>>>>> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
>>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>>> /graph
>>>>>  500
>>>>>
>>>>>
>>>>>
>>>>> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>>>
>>>>> Parsing the first time results in:
>>>>>
>>>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>>>> Clerezza Platform is now operational.
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST
>>>>> /graph
>>>>> on
>>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>>>>
>>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet
>>>>> holder=
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>>> user
>>>>> admin successfully authenticated
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>>> for
>>>>> user admin
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.security.AllPermission "" "")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (java.util.PropertyPermission "*" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/content.graph" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/documentation.graph" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/config.graph" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.a.graph" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>>> http://tpf.localhost/live.b.graph" "read")
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl -
>>>>> Accept-Header: [text/html, application/xhtml+xml,
>>>>> application/xml;q=0.9,
>>>>> */*;q=0.8]
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>>> annotations: 0
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
>>>>> DEBUG qtp18195096-19 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Inject parameter 1 to
>>>>> org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
>>>>> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
>>>>> Exception (with no exception mapper)
>>>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>>> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
>>>>> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
>>>>> at java.util.HashMap.put(HashMap.java:385)
>>>>> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
>>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
>>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
>>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
>>>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
>>>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
>>>>> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
>>>>> at
>>>>>
>>>>>
>>>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
>>>>> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
>>>>> at
>>>>>
>>>>> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> at
>>>>>
>>>>>
>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>>> at
>>>>>
>>>>>
>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>>> WARN qtp18195096-19 - /graph
>>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory -
>>>>> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
>>>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>>> /graph
>>>>>  500
>>>>> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>>>>>
>>>>>
>>>>> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>>>
>>>>> Parsing the 3rd time results in
>>>>>
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST
>>>>> /graph on
>>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>>>>
>>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet
>>>>> holder=
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
>>>>> DEBUG qtp7908994-20 - /graph
>>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>>> user
>>>>> admin successfully authenticated
>>>>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>>> -
>>>>> Accept-Header: [text/html, application/xhtml+xml,
>>>>> application/xml;q=0.9,
>>>>> */*;q=0.8]
>>>>> DEBUG qtp7908994-20 - /graph
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>>> annotations: 0
>>>>> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for
>>>>> /graph
>>>>> java.lang.OutOfMemoryError: Java heap space
>>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>>> at
>>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>>> at
>>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>>> at
>>>>>
>>>>>
>>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>>> at
>>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>>> at
>>>>>
>>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>>> at
>>>>>
>>>>>
>>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
>>>>> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
>>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>>> /graph
>>>>>  500
>>>>> DEBUG qtp7908994-17 - Acceptor0
>>>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s)
>>>>> -
>>>>> cancelled keys 1 times
>>>>> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>>>>>
>>>>>
>>>>> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
>>>>> Still no problem after parsing 5 times
>>>>>
>>>>>
>>>>
>>
>

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
Hi all,

the problem seems to lie in the JenaGraphAdaptor class
It has a member:
final BidiMap<BNode, Node> tria2JenaBNodes = new BidiMapImpl<BNode, Node>();

which grows each time a serialized graph get parsed.

My experiments with my test data show

At the end of the 1st parsing: Size of tria2JenaBNodes = 87200
At the end of the 2nd parsing: Size of tria2JenaBNodes = 130800
At the end of the 3rd parsing: Size of tria2JenaBNodes = 174400

Hasan

On Thu, Jan 13, 2011 at 11:54 AM, Hasan Hasan <ha...@trialox.org> wrote:

> Hi Andy
>
> Except that there are quite some bnodes, there's nothing special about the
> data.
>
> Hasan
>
>
> On Thu, Jan 13, 2011 at 9:40 AM, Andy Seaborne <
> andy.seaborne@epimorphics.com> wrote:
>
>> The RIOT parsers should have no state build-up except the necessary bNode
>> label map - that gets dropped across files.
>>
>> Is there anything characteristic about the data?
>>
>>        Andy
>>
>>
>> On 13/01/11 07:24, Reto Bachmann-Gmuer wrote:
>>
>>> Hi Hasan
>>>
>>> great thing to have an alternative parsing provider. I've been takling to
>>> Andy Seaborne about the leak. He's aware of an issue when using the a
>>> jena-riot parser he thinks it might be caused by a dependency of it.
>>> Investigating further and doing profiling is high on my TODO-List.
>>>
>>> Cheers,
>>> reto
>>>
>>> On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan<ha...@trialox.org>  wrote:
>>>
>>>  Hi all,
>>>>
>>>> We experienced out of memory error after parsing rdf files. Assuming (or
>>>> rather guessing?) leak in the jena parsing provider, I implemented a
>>>> sesame-based parsing provider.
>>>> However, using sesame-based parsing provider, I also get out of memory
>>>> error. I carried out some experiments with jena-based as well as
>>>> sesame-based parsing providers.
>>>> The results are shown below. There is a memory leak but where? Maybe
>>>> during
>>>> storing the triples into the mgraph? I'll check this tomorrow... too
>>>> tired
>>>> now to continue...
>>>>
>>>> regards
>>>> hasan
>>>>
>>>> Test setup:
>>>> - The serialized graph contains 148163 triples
>>>> - The serialized graph is an n-triples file (each line is a triple) but
>>>> parsed with a turtle parser
>>>> - The serialized graph is parsed several times and in each time the
>>>> result
>>>> is always stored to the same mgraph replacing old contents
>>>>
>>>> A. With Jena-based Parser
>>>>
>>>> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>>
>>>> Parsing the first time results in:
>>>>
>>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>>> Clerezza Platform is now operational.
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST
>>>> /graph
>>>> on
>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>>>
>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet
>>>> holder=
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>> user
>>>> admin successfully authenticated
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>> for
>>>> user admin
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.security.AllPermission "" "")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.util.PropertyPermission "*" "read")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/content.graph" "read")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/documentation.graph" "read")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/config.graph" "read")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.a.graph" "read")
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.b.graph" "read")
>>>> DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>> -
>>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>>> */*;q=0.8]
>>>> DEBUG qtp11927727-23 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>> annotations: 0
>>>> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for
>>>> /graph
>>>> java.lang.OutOfMemoryError: Java heap space
>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>> at
>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>> at
>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
>>>> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
>>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>> /graph
>>>>  500
>>>> DEBUG qtp11927727-17 - Acceptor0
>>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
>>>> cancelled keys 1 times
>>>> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>>>>
>>>>
>>>> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>>
>>>> Parsing the second time results in:
>>>>
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST
>>>> /graph
>>>> on
>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>>
>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet
>>>> holder=
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
>>>> DEBUG qtp29719186-20 - /graph
>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>> user
>>>> admin successfully authenticated
>>>> DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>> -
>>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>>> */*;q=0.8]
>>>> DEBUG qtp29719186-20 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>> annotations: 0
>>>> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for
>>>> /graph
>>>> java.lang.OutOfMemoryError: Java heap space
>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>> at
>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>> at
>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
>>>> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
>>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>> /graph
>>>>  500
>>>>
>>>>
>>>> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>> Still no problem after parsing 5 times
>>>>
>>>>
>>>> B. With Sesame-based Parser
>>>>
>>>> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>>
>>>> Parsing the first time results in:
>>>>
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST
>>>> /graph
>>>> on
>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>>
>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet
>>>> holder=
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>> user
>>>> admin successfully authenticated
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>> for
>>>> user admin
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.security.AllPermission "" "")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.util.PropertyPermission "*" "read")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/content.graph" "read")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/documentation.graph" "read")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/config.graph" "read")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.a.graph" "read")
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.b.graph" "read")
>>>> DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>> -
>>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>>> */*;q=0.8]
>>>> DEBUG qtp18102317-19 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>> annotations: 0
>>>> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for
>>>> /graph
>>>> java.lang.OutOfMemoryError: Java heap space
>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>> at
>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>> at
>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
>>>> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
>>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>> /graph
>>>>  500
>>>>
>>>>
>>>>
>>>> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>>
>>>> Parsing the first time results in:
>>>>
>>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>>> Clerezza Platform is now operational.
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST
>>>> /graph
>>>> on
>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>>>
>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet
>>>> holder=
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>> user
>>>> admin successfully authenticated
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>>> for
>>>> user admin
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.security.AllPermission "" "")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (java.util.PropertyPermission "*" "read")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "resource")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/content.graph" "read")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/documentation.graph" "read")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/config.graph" "read")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.a.graph" "read")
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>>> http://tpf.localhost/live.b.graph" "read")
>>>> DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>> -
>>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>>> */*;q=0.8]
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>> annotations: 0
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
>>>> DEBUG qtp18195096-19 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Inject parameter 1 to
>>>> org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
>>>> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
>>>> Exception (with no exception mapper)
>>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
>>>> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
>>>> at java.util.HashMap.put(HashMap.java:385)
>>>> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
>>>> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
>>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
>>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
>>>> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
>>>> at
>>>>
>>>>
>>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
>>>> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
>>>> at
>>>>
>>>> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>>
>>>>
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>>> at
>>>>
>>>>
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>> WARN qtp18195096-19 - /graph
>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory -
>>>> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
>>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>> /graph
>>>>  500
>>>> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>>>>
>>>>
>>>> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>>
>>>> Parsing the 3rd time results in
>>>>
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>>> on
>>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>>>
>>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet
>>>> holder=
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
>>>> DEBUG qtp7908994-20 - /graph
>>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>>> user
>>>> admin successfully authenticated
>>>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>>> -
>>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>>> */*;q=0.8]
>>>> DEBUG qtp7908994-20 - /graph
>>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>>> annotations: 0
>>>> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for
>>>> /graph
>>>> java.lang.OutOfMemoryError: Java heap space
>>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>>> at
>>>> org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>>> at
>>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>>> at
>>>>
>>>>
>>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>>> at
>>>>
>>>>
>>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>>> at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>>> at
>>>>
>>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>>> at
>>>>
>>>>
>>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
>>>> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
>>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>>> /graph
>>>>  500
>>>> DEBUG qtp7908994-17 - Acceptor0
>>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
>>>> cancelled keys 1 times
>>>> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>>>>
>>>>
>>>> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
>>>> Still no problem after parsing 5 times
>>>>
>>>>
>>>
>

Re: leak but where after parsing rdf files?

Posted by Hasan Hasan <ha...@trialox.org>.
Hi Andy

Except that there are quite some bnodes, there's nothing special about the
data.

Hasan

On Thu, Jan 13, 2011 at 9:40 AM, Andy Seaborne <
andy.seaborne@epimorphics.com> wrote:

> The RIOT parsers should have no state build-up except the necessary bNode
> label map - that gets dropped across files.
>
> Is there anything characteristic about the data?
>
>        Andy
>
>
> On 13/01/11 07:24, Reto Bachmann-Gmuer wrote:
>
>> Hi Hasan
>>
>> great thing to have an alternative parsing provider. I've been takling to
>> Andy Seaborne about the leak. He's aware of an issue when using the a
>> jena-riot parser he thinks it might be caused by a dependency of it.
>> Investigating further and doing profiling is high on my TODO-List.
>>
>> Cheers,
>> reto
>>
>> On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan<ha...@trialox.org>  wrote:
>>
>>  Hi all,
>>>
>>> We experienced out of memory error after parsing rdf files. Assuming (or
>>> rather guessing?) leak in the jena parsing provider, I implemented a
>>> sesame-based parsing provider.
>>> However, using sesame-based parsing provider, I also get out of memory
>>> error. I carried out some experiments with jena-based as well as
>>> sesame-based parsing providers.
>>> The results are shown below. There is a memory leak but where? Maybe
>>> during
>>> storing the triples into the mgraph? I'll check this tomorrow... too
>>> tired
>>> now to continue...
>>>
>>> regards
>>> hasan
>>>
>>> Test setup:
>>> - The serialized graph contains 148163 triples
>>> - The serialized graph is an n-triples file (each line is a triple) but
>>> parsed with a turtle parser
>>> - The serialized graph is parsed several times and in each time the
>>> result
>>> is always stored to the same mgraph replacing old contents
>>>
>>> A. With Jena-based Parser
>>>
>>> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>> Clerezza Platform is now operational.
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp11927727-23 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
>>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>> DEBUG qtp11927727-17 - Acceptor0
>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
>>> cancelled keys 1 times
>>> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>
>>> Parsing the second time results in:
>>>
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>>
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp29719186-20 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp29719186-20 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
>>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>>
>>>
>>> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>> Still no problem after parsing 5 times
>>>
>>>
>>> B. With Sesame-based Parser
>>>
>>> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>>
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp18102317-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for
>>> /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
>>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>>
>>>
>>>
>>> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>>
>>> Parsing the first time results in:
>>>
>>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>>> Clerezza Platform is now operational.
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet
>>> holder=
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions
>>> for
>>> user admin
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.security.AllPermission "" "")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (java.util.PropertyPermission "*" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "resource")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.osgi.framework.AdminPermission "*" "metadata")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/content.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/documentation.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/config.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.a.graph" "read")
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>>> http://tpf.localhost/live.b.graph" "read")
>>> DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl
>>> -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
>>> DEBUG qtp18195096-19 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Inject parameter 1 to
>>> org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
>>> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
>>> Exception (with no exception mapper)
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
>>> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
>>> at java.util.HashMap.put(HashMap.java:385)
>>> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
>>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
>>> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
>>> at
>>>
>>>
>>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
>>> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
>>> at
>>>
>>> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>>
>>>
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>> at
>>>
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> WARN qtp18195096-19 - /graph org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory
>>> -
>>> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
>>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE
>>> /graph
>>>  500
>>> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>>
>>> Parsing the 3rd time results in
>>>
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>>> on
>>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet holder=
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
>>> DEBUG qtp7908994-20 - /graph
>>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl -
>>> user
>>> admin successfully authenticated
>>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>>> */*;q=0.8]
>>> DEBUG qtp7908994-20 - /graph
>>> org.apache.clerezza.triaxrs.InjectionUtilities
>>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>>> annotations: 0
>>> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for /graph
>>> java.lang.OutOfMemoryError: Java heap space
>>> at java.util.Arrays.copyOf(Arrays.java:2786)
>>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>>> at
>>>
>>>
>>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>>> at
>>>
>>>
>>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>>> at java.security.AccessController.doPrivileged(Native Method)
>>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>>> at
>>> org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>>> at
>>>
>>>
>>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>>> at
>>>
>>>
>>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>>> at
>>>
>>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>>> at
>>>
>>>
>>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
>>> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
>>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>>  500
>>> DEBUG qtp7908994-17 - Acceptor0
>>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
>>> cancelled keys 1 times
>>> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>>>
>>>
>>> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
>>> Still no problem after parsing 5 times
>>>
>>>
>>

Re: leak but where after parsing rdf files?

Posted by Andy Seaborne <an...@epimorphics.com>.
The RIOT parsers should have no state build-up except the necessary 
bNode label map - that gets dropped across files.

Is there anything characteristic about the data?

	Andy

On 13/01/11 07:24, Reto Bachmann-Gmuer wrote:
> Hi Hasan
>
> great thing to have an alternative parsing provider. I've been takling to
> Andy Seaborne about the leak. He's aware of an issue when using the a
> jena-riot parser he thinks it might be caused by a dependency of it.
> Investigating further and doing profiling is high on my TODO-List.
>
> Cheers,
> reto
>
> On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan<ha...@trialox.org>  wrote:
>
>> Hi all,
>>
>> We experienced out of memory error after parsing rdf files. Assuming (or
>> rather guessing?) leak in the jena parsing provider, I implemented a
>> sesame-based parsing provider.
>> However, using sesame-based parsing provider, I also get out of memory
>> error. I carried out some experiments with jena-based as well as
>> sesame-based parsing providers.
>> The results are shown below. There is a memory leak but where? Maybe during
>> storing the triples into the mgraph? I'll check this tomorrow... too tired
>> now to continue...
>>
>> regards
>> hasan
>>
>> Test setup:
>> - The serialized graph contains 148163 triples
>> - The serialized graph is an n-triples file (each line is a triple) but
>> parsed with a turtle parser
>> - The serialized graph is parsed several times and in each time the result
>> is always stored to the same mgraph replacing old contents
>>
>> A. With Jena-based Parser
>>
>> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>
>> Parsing the first time results in:
>>
>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>> Clerezza Platform is now operational.
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>> on
>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet holder=
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
>> admin successfully authenticated
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
>> user admin
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.security.AllPermission "" "")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.util.PropertyPermission "*" "read")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "resource")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "metadata")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/content.graph" "read")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/documentation.graph" "read")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/config.graph" "read")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.a.graph" "read")
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.b.graph" "read")
>> DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>> */*;q=0.8]
>> DEBUG qtp11927727-23 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>> annotations: 0
>> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for /graph
>> java.lang.OutOfMemoryError: Java heap space
>> at java.util.Arrays.copyOf(Arrays.java:2786)
>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>> at
>>
>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>> at
>>
>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>> at
>>
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>> at
>>
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
>> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
>> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>   500
>> DEBUG qtp11927727-17 - Acceptor0
>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
>> cancelled keys 1 times
>> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>>
>>
>> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>
>> Parsing the second time results in:
>>
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>> on
>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet holder=
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
>> DEBUG qtp29719186-20 - /graph
>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
>> admin successfully authenticated
>> DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>> */*;q=0.8]
>> DEBUG qtp29719186-20 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>> annotations: 0
>> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for /graph
>> java.lang.OutOfMemoryError: Java heap space
>> at java.util.Arrays.copyOf(Arrays.java:2786)
>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>> at
>>
>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>> at
>>
>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>> at
>>
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>> at
>>
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
>> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
>> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>   500
>>
>>
>> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
>> Still no problem after parsing 5 times
>>
>>
>> B. With Sesame-based Parser
>>
>> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>>
>> Parsing the first time results in:
>>
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>> on
>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet holder=
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
>> admin successfully authenticated
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
>> user admin
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.security.AllPermission "" "")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.util.PropertyPermission "*" "read")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "resource")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "metadata")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/content.graph" "read")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/documentation.graph" "read")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/config.graph" "read")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.a.graph" "read")
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.b.graph" "read")
>> DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>> */*;q=0.8]
>> DEBUG qtp18102317-19 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>> annotations: 0
>> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for /graph
>> java.lang.OutOfMemoryError: Java heap space
>> at java.util.Arrays.copyOf(Arrays.java:2786)
>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>> at
>>
>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>> at
>>
>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>> at
>>
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>> at
>>
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
>> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
>> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>   500
>>
>>
>>
>> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>>
>> Parsing the first time results in:
>>
>> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
>> Clerezza Platform is now operational.
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
>> on
>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet holder=
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
>> admin successfully authenticated
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
>> user admin
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.security.AllPermission "" "")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (java.util.PropertyPermission "*" "read")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "resource")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.osgi.framework.AdminPermission "*" "metadata")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/content.graph" "read")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/documentation.graph" "read")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/config.graph" "read")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.a.graph" "read")
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
>> (org.apache.clerezza.rdf.core.access.security.TcPermission "
>> http://tpf.localhost/live.b.graph" "read")
>> DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>> */*;q=0.8]
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>> annotations: 0
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
>> DEBUG qtp18195096-19 - /graph
>> org.apache.clerezza.triaxrs.InjectionUtilities
>> - Inject parameter 1 to org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
>> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
>> Exception (with no exception mapper)
>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
>> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
>> at java.util.HashMap.put(HashMap.java:385)
>> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
>> at
>>
>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
>> at
>>
>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
>> at
>>
>> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
>> at
>>
>> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
>> at
>>
>> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
>> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
>> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
>> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
>> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
>> at
>>
>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
>> at
>>
>> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
>> at
>>
>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
>> at
>>
>> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
>> at
>>
>> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
>> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
>> at
>>
>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at
>>
>> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
>> at
>>
>> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
>> at
>> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:597)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>> WARN qtp18195096-19 - /graph org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory -
>> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
>> java.lang.OutOfMemoryError: GC overhead limit exceeded
>> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>   500
>> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>>
>>
>> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>>
>> Parsing the 3rd time results in
>>
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
>> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
>> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet holder=
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
>> DEBUG qtp7908994-20 - /graph
>> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
>> admin successfully authenticated
>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
>> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
>> */*;q=0.8]
>> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
>> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
>> annotations: 0
>> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for /graph
>> java.lang.OutOfMemoryError: Java heap space
>> at java.util.Arrays.copyOf(Arrays.java:2786)
>> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
>> at
>>
>> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
>> at
>>
>> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
>> at
>>
>> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
>> at
>>
>> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
>> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
>> at
>>
>> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
>> at
>>
>> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
>> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
>> at
>>
>> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
>> at
>>
>> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
>> at
>> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
>> at
>>
>> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
>> at
>>
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
>> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
>> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>>   500
>> DEBUG qtp7908994-17 - Acceptor0
>> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
>> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
>> cancelled keys 1 times
>> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>>
>>
>> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
>> Still no problem after parsing 5 times
>>
>

Re: leak but where after parsing rdf files?

Posted by Reto Bachmann-Gmuer <re...@trialox.org>.
Hi Hasan

great thing to have an alternative parsing provider. I've been takling to
Andy Seaborne about the leak. He's aware of an issue when using the a
jena-riot parser he thinks it might be caused by a dependency of it.
Investigating further and doing profiling is high on my TODO-List.

Cheers,
reto

On Thu, Jan 13, 2011 at 12:08 AM, Hasan Hasan <ha...@trialox.org> wrote:

> Hi all,
>
> We experienced out of memory error after parsing rdf files. Assuming (or
> rather guessing?) leak in the jena parsing provider, I implemented a
> sesame-based parsing provider.
> However, using sesame-based parsing provider, I also get out of memory
> error. I carried out some experiments with jena-based as well as
> sesame-based parsing providers.
> The results are shown below. There is a memory leak but where? Maybe during
> storing the triples into the mgraph? I'll check this tomorrow... too tired
> now to continue...
>
> regards
> hasan
>
> Test setup:
> - The serialized graph contains 148163 triples
> - The serialized graph is an n-triples file (each line is a triple) but
> parsed with a turtle parser
> - The serialized graph is parsed several times and in each time the result
> is always stored to the same mgraph replacing old contents
>
> A. With Jena-based Parser
>
> A1. Options used: -Xmx256m -XX:MaxPermSize=128M
>
> Parsing the first time results in:
>
> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
> Clerezza Platform is now operational.
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - REQUEST /graph
> on
> org.eclipse.jetty.server.nio.SelectChannelConnector$2@3de8fe
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@891d76
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - session=null
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log -
> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-33258683
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - servlet holder=
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - chain=
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
> admin successfully authenticated
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
> user admin
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.security.AllPermission "" "")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.util.PropertyPermission "*" "read")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "resource")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "metadata")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/content.graph" "read")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/documentation.graph" "read")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/config.graph" "read")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.a.graph" "read")
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.b.graph" "read")
> DEBUG qtp11927727-23 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
> */*;q=0.8]
> DEBUG qtp11927727-23 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
> annotations: 0
> WARN qtp11927727-23 - /graph org.eclipse.jetty.util.log - Error for /graph
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:2786)
> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
> at
>
> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
> at
>
> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
> at
>
> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - [POST
> /graph]@5006061 org.eclipse.jetty.server.Request@4c62ed
> DEBUG qtp11927727-23 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>  500
> DEBUG qtp11927727-17 - Acceptor0
> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@2f63c JVM BUG(s) -
> cancelled keys 1 times
> DEBUG qtp11927727-18 org.eclipse.jetty.util.log - EOF
>
>
> A2. Options used: -Xmx320m -XX:MaxPermSize=128M
>
> Parsing the second time results in:
>
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph
> on
> org.eclipse.jetty.server.nio.SelectChannelConnector$2@e64ba2
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1abdb8a
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - session=null
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log -
> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-24612108
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - servlet holder=
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - chain=
> DEBUG qtp29719186-20 - /graph
> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
> admin successfully authenticated
> DEBUG qtp29719186-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
> */*;q=0.8]
> DEBUG qtp29719186-20 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
> annotations: 0
> WARN qtp29719186-20 - /graph org.eclipse.jetty.util.log - Error for /graph
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:2786)
> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
> at
>
> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
> at
>
> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
> at
>
> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - [POST
> /graph]@31032394 org.eclipse.jetty.server.Request@1d9844a
> DEBUG qtp29719186-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>  500
>
>
> A3. Options used: -Xmx380m -XX:MaxPermSize=128M
> Still no problem after parsing 5 times
>
>
> B. With Sesame-based Parser
>
> B1. Options used: -Xmx256m -XX:MaxPermSize=128M
>
> Parsing the first time results in:
>
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
> on
> org.eclipse.jetty.server.nio.SelectChannelConnector$2@119e3ab
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@116c054
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - session=null
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log -
> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-30926038
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - servlet holder=
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - chain=
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
> admin successfully authenticated
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
> user admin
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.security.AllPermission "" "")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.util.PropertyPermission "*" "read")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "resource")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "metadata")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/content.graph" "read")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/documentation.graph" "read")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/config.graph" "read")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.a.graph" "read")
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.b.graph" "read")
> DEBUG qtp18102317-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
> */*;q=0.8]
> DEBUG qtp18102317-19 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
> annotations: 0
> WARN qtp18102317-19 - /graph org.eclipse.jetty.util.log - Error for /graph
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:2786)
> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
> at
>
> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
> at
>
> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
> at
>
> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - [POST
> /graph]@33413638 org.eclipse.jetty.server.Request@1fdda06
> DEBUG qtp18102317-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>  500
>
>
>
> B2. Options used: -Xmx320m -XX:MaxPermSize=128M
>
> Parsing the first time results in:
>
> INFO Thread-26 org.apache.clerezza.platform.BootMonitor - The Apache
> Clerezza Platform is now operational.
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - REQUEST /graph
> on
> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1214c4e
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@dc135d
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - session=null
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log -
> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-1848812
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - servlet holder=
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - chain=
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
> admin successfully authenticated
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Get permissions for
> user admin
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.security.AllPermission "" "")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (java.util.PropertyPermission "*" "read")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "resource")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.osgi.framework.AdminPermission "*" "metadata")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/content.graph" "read")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/documentation.graph" "read")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/config.graph" "read")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.a.graph" "read")
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.platform.security.UserAwarePolicy - Add permission
> (org.apache.clerezza.rdf.core.access.security.TcPermission "
> http://tpf.localhost/live.b.graph" "read")
> DEBUG qtp18195096-19 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
> */*;q=0.8]
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
> annotations: 0
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter javax.ws.rs.core.UriInfo has annotations: 1
> DEBUG qtp18195096-19 - /graph
> org.apache.clerezza.triaxrs.InjectionUtilities
> - Inject parameter 1 to org.apache.clerezza.triaxrs.util.UriInfoImpl@12bdf9
> WARN qtp18195096-19 - /graph org.apache.clerezza.triaxrs.JaxRsHandler -
> Exception (with no exception mapper)
> java.lang.OutOfMemoryError: GC overhead limit exceeded
> at java.util.LinkedHashMap.createEntry(LinkedHashMap.java:424)
> at java.util.LinkedHashMap.addEntry(LinkedHashMap.java:406)
> at java.util.HashMap.put(HashMap.java:385)
> at org.openjena.atlas.lib.cache.CacheLRU.put(CacheLRU.java:47)
> at
>
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.cacheUpdate(NodeTableCache.java:156)
> at
>
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache._retrieveNodeByNodeId(NodeTableCache.java:87)
> at
>
> com.hp.hpl.jena.tdb.nodetable.NodeTableCache.getNodeForNodeId(NodeTableCache.java:57)
> at
>
> com.hp.hpl.jena.tdb.nodetable.NodeTableWrapper.getNodeForNodeId(NodeTableWrapper.java:43)
> at
>
> com.hp.hpl.jena.tdb.nodetable.NodeTableInline.getNodeForNodeId(NodeTableInline.java:55)
> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:108)
> at com.hp.hpl.jena.tdb.lib.TupleLib.triple(TupleLib.java:103)
> at com.hp.hpl.jena.tdb.lib.TupleLib.access$000(TupleLib.java:32)
> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:64)
> at com.hp.hpl.jena.tdb.lib.TupleLib$3.convert(TupleLib.java:60)
> at org.openjena.atlas.iterator.Iter$4.next(Iter.java:265)
> at
>
> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:227)
> at
>
> com.hp.hpl.jena.tdb.store.GraphTDBBase$MapperIteratorTriples.next(GraphTDBBase.java:186)
> at
>
> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.next(JenaGraphAdaptor.java:108)
> at
>
> org.apache.clerezza.rdf.jena.storage.JenaGraphAdaptor$1.remove(JenaGraphAdaptor.java:120)
> at
>
> org.apache.clerezza.rdf.core.impl.AbstractTripleCollection$1.remove(AbstractTripleCollection.java:88)
> at java.util.AbstractCollection.clear(AbstractCollection.java:396)
> at
>
> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper$14.run(PrivilegedTripleCollectionWrapper.java:198)
> at java.security.AccessController.doPrivileged(Native Method)
> at
>
> org.apache.clerezza.rdf.core.impl.util.PrivilegedTripleCollectionWrapper.clear(PrivilegedTripleCollectionWrapper.java:194)
> at
>
> org.apache.clerezza.rdf.core.access.LockableMGraphWrapper.clear(LockableMGraphWrapper.java:218)
> at
> org.apache.clerezza.rdf.web.core.WebAccess.postTriples(WebAccess.java:183)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:469)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
> WARN qtp18195096-19 - /graph org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory -
> Exception handling requestorg.wymiwyg.wrhapi.HandlerException:
> java.lang.OutOfMemoryError: GC overhead limit exceeded
> DEBUG qtp18195096-19 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>  500
> DEBUG qtp18195096-23 org.eclipse.jetty.util.log - EOF
>
>
> B3. Options used: -Xmx380m -XX:MaxPermSize=128M
>
> Parsing the 3rd time results in
>
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - REQUEST /graph on
> org.eclipse.jetty.server.nio.SelectChannelConnector$2@1ff9440
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
> sessionManager=org.eclipse.jetty.server.session.HashSessionManager@35b5e8
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - session=null
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log -
> servlet=org.eclipse.equinox.http.servlet.HttpServiceServlet-14065888
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - servlet holder=
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - chain=
> DEBUG qtp7908994-20 - /graph
> org.apache.clerezza.platform.security.auth.AuthenticationCheckerImpl - user
> admin successfully authenticated
> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.WebRequestImpl -
> Accept-Header: [text/html, application/xhtml+xml, application/xml;q=0.9,
> */*;q=0.8]
> DEBUG qtp7908994-20 - /graph org.apache.clerezza.triaxrs.InjectionUtilities
> - Parameter org.apache.clerezza.jaxrs.utils.form.MultiPartBody has
> annotations: 0
> WARN qtp7908994-20 - /graph org.eclipse.jetty.util.log - Error for /graph
> java.lang.OutOfMemoryError: Java heap space
> at java.util.Arrays.copyOf(Arrays.java:2786)
> at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:71)
> at
>
> org.apache.clerezza.jaxrs.utils.form.DelimiterInputStream.readTill(DelimiterInputStream.java:68)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.readFields(MultiPartBodyImpl.java:358)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:222)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartBodyImpl.<init>(MultiPartBodyImpl.java:239)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:60)
> at
>
> org.apache.clerezza.jaxrs.utils.form.MultiPartFormMessageBodyReader.readFrom(MultiPartFormMessageBodyReader.java:43)
> at
>
> org.apache.clerezza.triaxrs.WebRequestImpl.getBodyObject(WebRequestImpl.java:194)
> at
>
> org.apache.clerezza.triaxrs.InjectionUtilities.createParametersForRequest(InjectionUtilities.java:201)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:461)
> at
>
> org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:119)
> at org.apache.clerezza.triaxrs.JaxRsHandler.handle(JaxRsHandler.java:503)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler$RegisteredHandler.handle(PathMappingHandler.java:127)
> at
>
> org.wymiwyg.wrhapi.util.pathmappings.PathMappingHandler.handle(PathMappingHandler.java:102)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter$1.run(AuthenticatingFilter.java:94)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
> at
>
> org.apache.clerezza.platform.security.auth.AuthenticatingFilter.handle(AuthenticatingFilter.java:90)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.apache.clerezza.platform.xhtml2html.Xhtml2HtmlFilter.handle(Xhtml2HtmlFilter.java:73)
> at org.wymiwyg.wrhapi.filter.impl.FilterRunner.handle(FilterRunner.java:56)
> at
>
> org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:78)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
>
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:109)
> at
>
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:532)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:453)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:965)
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - [POST
> /graph]@14584367 org.eclipse.jetty.server.Request@de8a2f
> DEBUG qtp7908994-20 - /graph org.eclipse.jetty.util.log - RESPONSE /graph
>  500
> DEBUG qtp7908994-17 - Acceptor0
> SelectChannelConnector@0.0.0.0:8080org.eclipse.jetty.util.log -
> org.eclipse.jetty.io.nio.SelectorManager$SelectSet@1d0a5f9 JVM BUG(s) -
> cancelled keys 1 times
> DEBUG qtp7908994-23 org.eclipse.jetty.util.log - EOF
>
>
> B4. Options used: -Xmx512m -XX:MaxPermSize=128M
> Still no problem after parsing 5 times
>