You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@jspwiki.apache.org by Harald Krammer <hk...@a1.net> on 2010/09/06 20:54:24 UTC

Re: ArrayIndexOutOfBoundsException now...

Hello,
I got a trigger for the problem.

If you can remember the stack Trace was:
 java.lang.ArrayIndexOutOfBoundsException: 6073
  at gnu.xml.dom.DomNode.addEventListener(DomNode.java:1249)
  at gnu.xml.dom.DomNode$LiveNodeList.<init>(DomNode.java:1059)
  at gnu.xml.dom.DomNode$ShadowList.<init>(DomNode.java:1030)
  at gnu.xml.dom.DomNode.getElementsByTagName(DomNode.java:1005)
  at
com.ecyrd.jspwiki.auth.user.XMLUserDatabase.findByAttribute(XMLUserDatabase.java:614)

It can occur when a user sets incorrect rules into the the ALLOW filter.
Today the trigger was a miss-typing of capitalization e.g [{ALLOW edit
FAMILY }] instead of [{ALLOW edit familiy }]. One thing is importen to
know. I saw this problem only together with Web-Container authentication
via LDAP. On my 2nd installation (without Web-Container  authentication)
wasn't possible to trigger that issue.

Any comments are welcome.
Nice greetings,
Harald


Am 2010-08-06 20:41, schrieb Harald Krammer:
> Hello,
> the problem is gone, but why? The Wiki runs more than 5 days without the
> Exception.
> 
> It looks like for me that a user did some unknown things to trigger the
> problem. I saw that a user added few attachments ( ~ 30 ) into a side
> and then the problems were starting. I got the exception, made a restart
> of the Wiki.  The user added more attachments -> Exception -> Restart ->
> ... The user finished his work -> all fine again.
> 
> hmmmmm. I would like to find the problem. I did all the jobs what I saw
> in the LOG to reproduce the user actions but the problems did not
> happen.  Only the differences was the Os version.
> 
> Any ideas are welcome.
> 
> Nice greeting,
> Harald
> 
> 
> Am 2010-07-28 21:07, schrieb Harald Krammer:
>> Hello Andrew,
>>
>> Today I moved back to JRE 1.6u20 and the problem happens again. So I
>> think the VM isn't involved.
>> I agree that other components could be the reason, but my test
>> environment and my family wiki is running fine with the same system. I
>> guess it is a local problem with "special" content in my company-wiki.
>>
>> I enabled the debug option and here is my log in case of the problem:
>> http://hkr.at/problem.txt
>>
>> I got one more Exception 'javax.servlet.jsp.JspException: WikiContext
>> may not be NULL - serious internal problem'. Maybe it helps to find out
>> what's wrong.
>> The user told me he added only an attachment to a side and then the
>> problems were starting. (e.g. Login not possible any more)
>>
>> After reviewing of the log file I found one more exception  type:
>> 2010-07-28 10:01:47,447 [main] WARN
>> com.ecyrd.jspwiki.parser.JSPWikiMarkupParser  - TranslatorReader got a
>> faulty page name!
>>
>> Full trace is here http://hkr.at/exception.txt
>> Is there a connection ?
>>
>> Nice greetings,
>> Harald
>>
>> Am 2010-07-28 03:32, schrieb Andrew Jaquith:
>>> Hi Harald --
>>>
>>> Having taken a look at the code, I think it is possible that unlikely
>>> that JSPWiki could be causing the problem. The line in XMLUserDatabase
>>> that triggered the downstream error is simply searching for an XML
>>> Node by tag name:
>>>
>>> NodeList users = c_dom.getElementsByTagName( USER_TAG )
>>>
>>> The tag name USER_TAG is static and predictable, so no user- or
>>> configuration-related inputs could be causing this.
>>>
>>> It is possible that there is something funky with your XML DOM parser.
>>> I noticed that your JRE is using the gnu.xml.dom package. You might
>>> want to see if using a different DOM parser (for example, Xerces)
>>> produces a different result. The GNU DOM package might have been
>>> updated when you did your update.
>>>
>>> Let me know what you find out..
>>>
>>> Andrew
>>>
>>> On Tue, Jul 27, 2010 at 1:04 PM, Harald Krammer <Ha...@hkr.at> wrote:
>>>> Hello,
>>>>
>>>> I am using JSPWiki Version 2.8.3 on Apache Tomcat 6.0.26 (Debian Linux
>>>> i386) with JRE 1.6u21. The last two days I am getting  a
>>>> ArrayIndexOutOfBoundsException few times per day and the Login does not
>>>> work anymore. A restart of the container fixes the problem but it isn't
>>>> a solution for me.
>>>> I don't know why it happens now. What could be the trigger? I did not
>>>> change any configurations.
>>>> One week ago I made a security update of the system (also Java) too.
>>>> Authentication method is Web Container Authentication Via LDAP.
>>>>
>>>> Any help are welcome!
>>>>
>>>>
>>>> java.lang.ArrayIndexOutOfBoundsException: 6073
>>>> at gnu.xml.dom.DomNode.addEventListener(DomNode.java:1249)
>>>> at gnu.xml.dom.DomNode$LiveNodeList.<init>(DomNode.java:1059)
>>>> at gnu.xml.dom.DomNode$ShadowList.<init>(DomNode.java:1030)
>>>> at gnu.xml.dom.DomNode.getElementsByTagName(DomNode.java:1005)
>>>> at
>>>> com.ecyrd.jspwiki.auth.user.XMLUserDatabase.findByAttribute(XMLUserDatabase.java:614)
>>>> at
>>>> com.ecyrd.jspwiki.auth.user.XMLUserDatabase.findByFullName(XMLUserDatabase.java:163)
>>>> at
>>>> com.ecyrd.jspwiki.auth.user.AbstractUserDatabase.find(AbstractUserDatabase.java:81)
>>>> at
>>>> com.ecyrd.jspwiki.auth.AuthorizationManager.resolvePrincipal(AuthorizationManager.java:630)
>>>> at
>>>> com.ecyrd.jspwiki.auth.AuthorizationManager.checkPermission(AuthorizationManager.java:248)
>>>> at
>>>> com.ecyrd.jspwiki.attachment.AttachmentServlet.doGet(AttachmentServlet.java:273)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>> at com.ecyrd.jspwiki.dav.WebdavServlet.service(WebdavServlet.java:167)
>>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>> at
>>>> com.ecyrd.jspwiki.ui.WikiServletFilter.doFilter(WikiServletFilter.java:174)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>>>> at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>> at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>> at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>> at
>>>> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
>>>> at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>> at
>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>> at
>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>> at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>> at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
>>>> at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
>>>> at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
>>>> at
>>>> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
>>>> at
>>>> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)
>>>> at
>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
>>>> at java.lang.Thread.run(Thread.java:619)
>>>>
>>>>
>>>>
>>>> Nice greetings,
>>>> Harald
>>>>
>>>> --
>>>>
>>>> Harald Krammer
>>>>
>>>> Mobil +43.(0) 664. 130 59 58
>>>> Mail: Harald.Krammer (at) hkr.at
>>>>
>>>
>>
> 

-- 

Harald Krammer

Mobil +43.(0) 664. 130 59 58
Mail: Harald.Krammer (at) hkr.at