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