StackOverflowError in FilterHandler of dispatcher
-------------------------------------------------

                 Key: AMDATU-285
                 URL: http://jira.amdatu.org/jira/browse/AMDATU-285
             Project: Amdatu
          Issue Type: Bug
          Components: Amdatu Web
    Affects Versions: 0.1.0
            Reporter: Ivo Ladage - van Doorn
            Assignee: Bram de Kruijff
            Priority: Blocker
             Fix For: 0.1.0


I created a small performance tests which:
- registers a single servlet
- registers 50 filters and 50 tenants
- fires 2000 GET requests to the servlet (synchronously in a single thread)

When doing this, this always results in a StackOverflowError in the dispatcher:

INFO: Added tenant tenant_50 in 1026 ms [pax-exam-probe]
INFO: Running single performance test with 50 filters and 50 tenants. 
[pax-exam-probe]
WARNING: Error for /test/servlet [org.apache.felix.http.jetty]
null
java.lang.StackOverflowError
        at java.lang.Character.codePointAt(Character.java:2335)
        at java.util.regex.Pattern$CharProperty.match(Pattern.java:3344)
        at java.util.regex.Pattern$Curly.match0(Pattern.java:3760)
        at java.util.regex.Pattern$Curly.match(Pattern.java:3744)
        at java.util.regex.Matcher.match(Matcher.java:1127)
        at java.util.regex.Matcher.matches(Matcher.java:502)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.matchesPath(FilterHandler.java:78)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:63)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        at 
org.amdatu.test.integration.mock.TestFilter.doFilter(TestFilter.java:24)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:91)
        at 
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:67)
        at 
org.amdatu.web.dispatcher.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
        at 
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:31)
        ...

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to