You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org> on 2010/10/19 16:09:29 UTC
[jira] Commented: (CLEREZZA-321) stresstest: requests an ssp page
containing an rdflist makes the list corrupt
[ https://issues.apache.org/jira/browse/CLEREZZA-321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12922562#action_12922562 ]
Reto Bachmann-Gmür commented on CLEREZZA-321:
---------------------------------------------
I didn't manage to reproduce the erorr yet, but got another exception (100 threads, no delay between requests)
ava.lang.RuntimeException: Cannot compare users!
at org.apache.clerezza.platform.usermanager.UserComparator.compare(UserComparator.java:39)
at org.apache.clerezza.platform.usermanager.UserComparator.compare(UserComparator.java:28)
at java.util.TreeMap.put(TreeMap.java:547)
at java.util.TreeSet.add(TreeSet.java:255)
at org.apache.clerezza.platform.usermanager.webinterface.UserManagerWeb.listUsers(UserManagerWeb.java:222)
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.clerezza.triaxrs.RootResourceExecutorImpl.handleWithMethod(RootResourceExecutorImpl.java:471)
at org.apache.clerezza.triaxrs.RootResourceExecutorImpl.execute(RootResourceExecutorImpl.java:121)
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:537)
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:820)
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:820)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:527)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:423)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)
at org.eclipse.jetty.server.Server.handle(Server.java:337)
at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:595)
at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1038)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211)
at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)
at java.lang.Thread.run(Thread.java:636)
In the system graph there's onlyone user:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:j.0="http://clerezza.org/2008/10/permission#"
xmlns:j.1="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:j.2="http://clerezza.org/2009/08/platform#"
xmlns:j.3="http://rdfs.org/sioc/ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >
<rdf:Description rdf:nodeID="A0">
<rdf:rest rdf:nodeID="A1"/>
<rdf:first rdf:resource="http://clerezza.org/2009/09/hierarchy#Collection"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A2">
<j.0:javaPermissionEntry>(org.apache.clerezza.rdf.core.access.security.TcPermission "http://tpf.localhost/documentation.graph" "read")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A3">
<j.0:javaPermissionEntry>(org.apache.clerezza.rdf.core.access.security.TcPermission "http://tpf.localhost/config.graph" "read")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A4">
<j.0:javaPermissionEntry>(org.apache.clerezza.platform.accountcontrolpanel.ChangePasswordPermission "{username}" "")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A5">
<rdf:type rdf:resource="http://clerezza.org/2008/10/permission#Role"/>
<rdf:type rdf:resource="http://clerezza.org/2008/10/permission#BaseRole"/>
<dc:title>BasePermissionsRole</dc:title>
<rdfs:comment>Every user implicitely has this role as this is a perm:BaseRole</rdfs:comment>
<j.0:hasPermission rdf:nodeID="A6"/>
<j.0:hasPermission rdf:nodeID="A7"/>
<j.0:hasPermission rdf:nodeID="A8"/>
<j.0:hasPermission rdf:nodeID="A2"/>
<j.0:hasPermission rdf:nodeID="A3"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A8">
<j.0:javaPermissionEntry>(org.apache.clerezza.rdf.core.access.security.TcPermission "http://tpf.localhost/content.graph" "read")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A7">
<j.0:javaPermissionEntry>(org.osgi.framework.AdminPermission "*" "resource")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:about="http://tpf.localhost/typePriorityList">
<rdf:rest rdf:nodeID="A9"/>
<rdf:rest rdf:nodeID="A10"/>
<rdf:first rdf:resource="http://clerezza.org/2009/07/script#ScriptGeneratedResource"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A11">
<rdf:type rdf:resource="http://clerezza.org/2008/10/permission#Role"/>
<dc:title>CommunityUser</dc:title>
<j.0:hasPermission rdf:nodeID="A12"/>
<j.0:hasPermission rdf:nodeID="A13"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A14">
<rdf:type rdf:resource="http://clerezza.org/2009/08/platform#Instance"/>
<j.2:languages rdf:nodeID="A15"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A1">
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
<rdf:first rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A16">
<j.0:javaPermissionEntry>(org.apache.clerezza.platform.accountcontrolpanel.AccountControlPanelAppPermission "{username}" "")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A9">
<rdf:rest rdf:nodeID="A17"/>
<rdf:first rdf:resource="http://clerezza.org/2009/07/script#ScriptGeneratedResource"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A6">
<j.0:javaPermissionEntry>(java.util.PropertyPermission "*" "read")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A10">
<rdf:rest rdf:nodeID="A0"/>
<rdf:first rdf:resource="http://clerezza.org/2009/09/hierarchy#Collection"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A12">
<j.0:javaPermissionEntry>(org.apache.clerezza.platform.accountcontrolpanel.UserBundlePermission "{username}" "")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A15">
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
<rdf:first rdf:resource="http://www.lingvoj.org/lang/en"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A18">
<j.0:javaPermissionEntry>(java.security.AllPermission "" "")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A19">
<rdf:rest rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#nil"/>
<rdf:first rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A20">
<rdf:type rdf:resource="http://clerezza.org/2008/10/permission#Role"/>
<dc:title>DefaultRole</dc:title>
<rdfs:comment>A role regular users typically have</rdfs:comment>
<j.0:hasPermission rdf:nodeID="A4"/>
<j.0:hasPermission rdf:nodeID="A16"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A13">
<j.0:javaPermissionEntry>(org.apache.clerezza.rdf.core.access.security.TcPermission "http://tpf.localhost/user/{username}/*" "readwrite")</j.0:javaPermissionEntry>
</rdf:Description>
<rdf:Description rdf:nodeID="A21">
<rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Agent"/>
<j.0:hasPermission rdf:nodeID="A18"/>
<j.2:userName>admin</j.2:userName>
<j.1:mbox rdf:resource="mailto:noreply@clerezza.org"/>
<j.0:passwordSha1>d033e22ae348aeb5660fc2140aec35850c4da997</j.0:passwordSha1>
</rdf:Description>
<rdf:Description rdf:nodeID="A17">
<rdf:rest rdf:nodeID="A19"/>
<rdf:first rdf:resource="http://clerezza.org/2009/07/script#ScriptGeneratedResource"/>
</rdf:Description>
<rdf:Description rdf:nodeID="A22">
</rdf:Description>
</rdf:RDF>
import org.apache.clerezza.rdf.core._
import org.apache.clerezza.rdf.core.impl._
import org.apache.clerezza.rdf.utils._
import org.apache.clerezza.rdf.ontologies._
val graphName =new UriRef("http://tpf.localhost/system.graph")
val graph = tcManager.getMGraph(graphName)
val iter = graph.filter(null, RDF.`type`, FOAF.Agent)
var result = ""
while (iter.hasNext) {
val agentStmt = iter.next
val iter2 = graph.filter(agentStmt.getSubject, null, null)
while (iter2.hasNext) {
val stmt = iter2.next
result = result + "-> "+stmt.toString+ "\n"
}
result = result + agentStmt.toString+ "\n"
}
<pre>{result}</pre>.toString
yields to:
org.apache.clerezza.rdf.core.BNode@100c657 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent>.
-> org.apache.clerezza.rdf.core.BNode@15492d3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent>.
-> org.apache.clerezza.rdf.core.BNode@15492d3 <http://clerezza.org/2008/10/permission#hasPermission> org.apache.clerezza.rdf.core.BNode@1d9462f.
-> org.apache.clerezza.rdf.core.BNode@15492d3 <http://clerezza.org/2009/08/platform#userName> "admin".
-> org.apache.clerezza.rdf.core.BNode@15492d3 <http://xmlns.com/foaf/0.1/mbox> <ma...@clerezza.org>.
-> org.apache.clerezza.rdf.core.BNode@15492d3 <http://clerezza.org/2008/10/permission#passwordSha1> "d033e22ae348aeb5660fc2140aec35850c4da997".
org.apache.clerezza.rdf.core.BNode@15492d3 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Agent>.
consistently
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf:<http://xmlns.com/foaf/0.1/>
PREFIX platform:<http://clerezza.org/2009/08/platform#>
SELECT ?U ?A {?A rdf:type foaf:Agent.
OPTIONAL {?A platform:userName ?U}}
to:
<sparql>
−
<head>
<variable name="U"/>
<variable name="A"/>
</head>
−
<results>
−
<result>
−
<binding name="A">
<bnode>org.apache.clerezza.rdf.core.BNode@15cd718</bnode>
</binding>
</result>
−
<result>
−
<binding name="U">
<literal>admin</literal>
</binding>
−
<binding name="A">
<bnode>org.apache.clerezza.rdf.core.BNode@2d739d</bnode>
</binding>
</result>
</results>
</sparql>
restarting scb core: no change
restart scb jena tdb storage provider, user anonymous resurrected:
<sparql>
−
<head>
<variable name="U"/>
<variable name="A"/>
</head>
−
<results>
−
<result>
−
<binding name="U">
<literal>anonymous</literal>
</binding>
−
<binding name="A">
<bnode>org.apache.clerezza.rdf.core.BNode@1d147a8</bnode>
</binding>
</result>
−
<result>
−
<binding name="U">
<literal>admin</literal>
</binding>
−
<binding name="A">
<bnode>org.apache.clerezza.rdf.core.BNode@b776e9</bnode>
</binding>
</result>
</results>
</sparql>
> stresstest: requests an ssp page containing an rdflist makes the list corrupt
> -----------------------------------------------------------------------------
>
> Key: CLEREZZA-321
> URL: https://issues.apache.org/jira/browse/CLEREZZA-321
> Project: Clerezza
> Issue Type: Bug
> Reporter: Tsuyoshi Ito
> Assignee: Reto Bachmann-Gmür
> Priority: Critical
>
> After a while the following error occured on the page:
> java.lang.RuntimeException: java.lang.RuntimeException: broken list org.apache.clerezza.rdf.core.BNode@3bebc3b5 at org.apache.clerezza.rdf.utils.RdfList.getFirstEntry(RdfList.java:270) at org.apache.clerezza.rdf.utils.RdfList.expandTill(RdfList.java:155) at org.apache.clerezza.rdf.utils.RdfList.size(RdfList.java:170) at java.util.AbstractList$Itr.hasNext(AbstractList.java:339) at scala.collection.JavaConversions$JIteratorWrapper.hasNext(JavaConversions.scala:475) at scala.collection.Iterator$class.foreach(Iterator.scala:631) at scala.collection.JavaConversions$JIteratorWrapper.foreach(JavaConversions.scala:474) at scala.collection.IterableLike$class.foreach(IterableLike.scala:79) at scala.collection.JavaConversions$JListWrapper.foreach(JavaConversions.scala:521) at scala.collection.TraversableLike$class.map(TraversableLike.scala:206) at scala.collection.JavaConversions$JListWrapper.map(JavaConversions.scala:521) at org.apache.clerezza.rdf.scala.utils.RichGraphNode.$bang$bang(RichGraphNode.scala:46) at CompiledScript5.topMenu$1(<script>:76) at CompiledScript5.run(<script>:188) at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.clerezza.scala.scripting.ScriptEngineFactory$MyScriptEngine$$anon$4$$anon$5.eval(ScriptEngineFactory.scala:270) at javax.script.CompiledScript.eval(CompiledScript.java:75) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet$1.run(ScalaServerPagesRenderlet.java:231) at java.security.AccessController.doPrivileged(Native Method) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet.exec(ScalaServerPagesRenderlet.java:227) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet.render(ScalaServerPagesRenderlet.java:132) at org.apache.clerezza.platform.typerendering.RendererImpl.render(RendererImpl.java:95) at org.apache.clerezza.platform.typerendering.CallbackRendererImpl.render(CallbackRendererImpl.java:59) at CompiledScript1.render$1(<script>:31) at CompiledScript1.run(<script>:150) at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.clerezza.scala.scripting.ScriptEngineFactory$MyScriptEngine$$anon$4$$anon$5.eval(ScriptEngineFactory.scala:270) at javax.script.CompiledScript.eval(CompiledScript.java:75) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet$1.run(ScalaServerPagesRenderlet.java:231) at java.security.AccessController.doPrivileged(Native Method) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet.exec(ScalaServerPagesRenderlet.java:227) at org.apache.clerezza.platform.typerendering.scalaserverpages.ScalaServerPagesRenderlet.render(ScalaServerPagesRenderlet.java:132) at org.apache.clerezza.platform.typerendering.RendererImpl.render(RendererImpl.java:95) at org.apache.clerezza.platform.typerendering.GenericGraphNodeMBW.writeTo(GenericGraphNodeMBW.java:159) at org.apache.clerezza.platform.typerendering.GenericGraphNodeMBW.writeTo(GenericGraphNodeMBW.java:76) at org.apache.clerezza.triaxrs.ResponseProcessor$1.writeTo(ResponseProcessor.java:333) at org.apache.clerezza.triaxrs.ResponseProcessor$1.access$200(ResponseProcessor.java:280) at org.apache.clerezza.triaxrs.ResponseProcessor$1$3.run(ResponseProcessor.java:313) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.clerezza.triaxrs.ResponseProcessor$1.writeTo(ResponseProcessor.java:309) at org.wymiwyg.wrhapi.osgi.OsgiWebServerFactory$1.service(OsgiWebServerFactory.java:112) 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) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:388) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:187) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:901) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:352) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:549) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:211) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:425) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:489) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.RuntimeException: broken list org.apache.clerezza.rdf.core.BNode@3bebc3b5 at org.apache.clerezza.rdf.utils.RdfList.getFirstEntry(RdfList.java:268) ... 68 more Caused by: java.lang.NullPointerException
> Console log says
> [qtp1281006702-136] WARN org.apache.clerezza.rdf.utils.RdfList - GraphNode: org.apache.clerezza.rdf.core.BNode@3bebc3b5
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.