Export to SVG resulting in stack overflow
When having an SBML with several species and reactions sharing position, export to SVG results in stack overflow.
rva_1 | 2019-02-19 07:34:51,464 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,465 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,466 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,467 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,468 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,468 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,469 ERROR [http-apr-8080-exec-10] (ArrowTransformation.java:353) - Cannot draw arrow segment with length equal to 0.0
minerva_1 | 2019-02-19 07:34:51,892 ERROR [http-apr-8080-exec-10] (BaseController.java:47) - org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.StackOverflowError
minerva_1 | org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.StackOverflowError
minerva_1 | at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)
minerva_1 | at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
minerva_1 | at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
minerva_1 | at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
minerva_1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
minerva_1 | at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
minerva_1 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at lcsb.mapviewer.web.bean.utils.JsfAjaxAccessControlAllowFilter.doFilter(JsfAjaxAccessControlAllowFilter.java:37)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at lcsb.mapviewer.web.bean.utils.XFrameAccessControlFilter.doFilter(XFrameAccessControlFilter.java:54)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at lcsb.mapviewer.web.bean.utils.CssContentTypeFilter.doFilter(CssContentTypeFilter.java:45)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
minerva_1 | at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
minerva_1 | at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:84)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
minerva_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:155)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)
minerva_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
minerva_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
minerva_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
minerva_1 | at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
minerva_1 | at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
minerva_1 | at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
minerva_1 | at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
minerva_1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
minerva_1 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
minerva_1 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
minerva_1 | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
minerva_1 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
minerva_1 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
minerva_1 | at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
minerva_1 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
minerva_1 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
minerva_1 | at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
minerva_1 | at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
minerva_1 | at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2511)
minerva_1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
minerva_1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
minerva_1 | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
minerva_1 | at java.lang.Thread.run(Thread.java:748)
minerva_1 | Caused by: java.lang.StackOverflowError
minerva_1 | at sun.font.AttributeValues.get(AttributeValues.java:301)
minerva_1 | at sun.font.AttributeValues.toMap(AttributeValues.java:371)
minerva_1 | at sun.font.AttributeMap.delegate(AttributeMap.java:85)
minerva_1 | at sun.font.AttributeMap.entrySet(AttributeMap.java:66)
minerva_1 | at java.util.AbstractMap.get(AbstractMap.java:176)
minerva_1 | at org.apache.batik.svggen.SVGFont.weightToSVG(SVGFont.java:457)
minerva_1 | at org.apache.batik.svggen.SVGFont.toSVG(SVGFont.java:239)
minerva_1 | at org.apache.batik.svggen.SVGFont.toSVG(SVGFont.java:221)
minerva_1 | at org.apache.batik.svggen.SVGGraphicContextConverter.toSVG(SVGGraphicContextConverter.java:101)
minerva_1 | at org.apache.batik.svggen.DOMGroupManager.addElement(DOMGroupManager.java:167)
minerva_1 | at org.apache.batik.svggen.SVGGraphics2D.drawString(SVGGraphics2D.java:1204)
minerva_1 | at org.apache.batik.ext.awt.g2d.AbstractGraphics2D.drawString(AbstractGraphics2D.java:608)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter.drawText(SpeciesConverter.java:312)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter.drawText(SpeciesConverter.java:227)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.ComplexConverter.drawText(ComplexConverter.java:149)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.ComplexConverter.draw(ComplexConverter.java:141)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.ComplexConverter.draw(ComplexConverter.java:30)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter.draw(SpeciesConverter.java:501)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.element.species.SpeciesConverter.draw(SpeciesConverter.java:51)
minerva_1 | at lcsb.mapviewer.converter.graphics.bioEntity.BioEntityConverterImpl.draw(BioEntityConverterImpl.java:195)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:847)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:861)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:861)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:861)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:861)
minerva_1 | at lcsb.mapviewer.converter.graphics.AbstractImageGenerator.drawSpecies(AbstractImageGenerator.java:861)
Edited by David Hoksza