Git Product home page Git Product logo

acrarium's Introduction

Actions Status License Docker Pulls Github Downloads Latest Version

A Backend for ACRA written in Kotlin using Spring Boot, Vaadin and MySQL

Setup

See Wiki Setup guide

Screenshots

Listing reports

report list

Statistics

statistics

Proguard and Export Support

admin tab

Report Summary and Attachment Support

report summary

Full Report content

report content

Dark Theme

dark theme

Development

Running locally

./gradlew bootRun

Building release

Jar

./gradlew bootJar -x test -Pvaadin.productionMode=true

Docker Image

./gradlew bootJar -x test -Pvaadin.productionMode=true
docker build -t f43nd1r/acrarium:git acrarium

License

All source code in this repository is licensed under the Apache License 2.0 (see LICENSE)

Credits

Thanks to

acrarium's People

Contributors

astarivi avatar bemeyvif avatar bykivi avatar dependabot-preview[bot] avatar dependabot[bot] avatar f43nd1r avatar federicoiosue avatar gerethd avatar iisimpler avatar otbutz avatar renovate[bot] avatar thedroiddiv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

acrarium's Issues

Record incoming IP address

As part of each report, the incoming IP address, user agent, and other information metadata should be attached.

User cannot login after password change

After a user has changed the password, the user cannot login anymore.
Reason may be, that after creation of an user the column 'password' of table 'user' contains the crypted password. But after changing the password, it is written uncrypted to the database.

Data truncation: Data too long for column 'id' at row 1

Hi,
we try to upgrade from version 0.6.1 to 0.8.1.
Using acra version ch.acra:acra:4.7.0, we get the following error:

Hibernate: insert into report (android_version, brand, content, date, installation_id, phone_model, stacktrace_id, user_comment, user_email, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2019-09-16 09:05:10.875 WARN 10628 --- [o-8080-exec-154] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1406, SQLState: 22001
2019-09-16 09:05:10.876 ERROR 10628 --- [o-8080-exec-154] o.h.engine.jdbc.spi.SqlExceptionHelper : Data truncation: Data too long for column 'id' at row 1
2019-09-16 09:05:10.896 ERROR 10628 --- [o-8080-exec-154] o.s.b.w.servlet.support.ErrorPageFilter : Forwarding to error page from request [/report] due to exception [org.hibernate.exception.DataException: could not execute statement]

Do you have any idea, what we are doing wrong?

Thanks!

Here is the complete stacktrace:

javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not execute statement
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1460) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1440) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at sun.reflect.GeneratedMethodAccessor334.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]
	at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:350) ~[spring-orm-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at com.sun.proxy.$Proxy130.flush(Unknown Source) ~[na:na]
	at sun.reflect.GeneratedMethodAccessor334.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:308) ~[spring-orm-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at com.sun.proxy.$Proxy130.flush(Unknown Source) ~[na:na]
	at com.faendir.acra.service.DataService.createNewReport(DataService.java:384) ~[classes/:na]
	at com.faendir.acra.service.DataService$$FastClassBySpringCGLIB$$c0f33e7.invoke(<generated>) ~[classes/:na]
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) ~[spring-security-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at com.faendir.acra.service.DataService$$EnhancerBySpringCGLIB$$557f4170.createNewReport(<generated>) ~[classes/:na]
	at com.faendir.acra.rest.RestReportInterface.report(RestReportInterface.java:71) ~[classes/:na]
	at com.faendir.acra.rest.RestReportInterface$$FastClassBySpringCGLIB$$710fedc2.invoke(<generated>) ~[classes/:na]
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) ~[spring-security-core-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at com.faendir.acra.rest.RestReportInterface$$EnhancerBySpringCGLIB$$a44587d4.report(<generated>) ~[classes/:na]
	at sun.reflect.GeneratedMethodAccessor330.invoke(Unknown Source) ~[na:na]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201]
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) ~[servlet-api.jar:na]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) ~[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ~[servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263) ~[ziplet-2.3.0.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [catalina.jar:8.5.6]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.6]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.5.6]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.6]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [catalina.jar:8.5.6]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) [tomcat-coyote.jar:8.5.6]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.6]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) [tomcat-coyote.jar:8.5.6]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) [tomcat-coyote.jar:8.5.6]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.6]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_201]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.6]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
Caused by: org.hibernate.exception.DataException: could not execute statement
	at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:52) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3171) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	... 121 common frames omitted
Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'id' at row 1
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:970) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1109) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1057) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1377) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1042) ~[mysql-connector-java-8.0.15.jar:8.0.15]
	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-3.2.0.jar:na]
	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-3.2.0.jar:na]
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175) ~[hibernate-core-5.3.7.Final.jar:5.3.7.Final]
	... 129 common frames omitted

acra doesn't merge same bugs

Hi. thank you for great effort.
version: 0.7.1
(screenshot)
merging
this bug :
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Paint.setColor(int)' on a null object reference at app.ui.Components.CheckBoxSquare.onDraw(CheckBoxSquare.java:132) at android.view.View.draw(View.java:16195) at android.view.View.updateDisplayListIfDirty(View.java:15192) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.draw(View.java:16198) at android.view.View.updateDisplayListIfDirty(View.java:15192) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.updateDisplayListIfDirty(View.java:15187) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at app.ui.ActionBar.AlertDialog$2.drawChild(AlertDialog.java:348) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.draw(View.java:16198) at android.widget.ScrollView.draw(ScrollView.java:1712) at android.view.View.updateDisplayListIfDirty(View.java:15192) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.draw(View.java:16198) at android.view.View.updateDisplayListIfDirty(View.java:15192) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.updateDisplayListIfDirty(View.java:15187) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.updateDisplayListIfDirty(View.java:15187) at android.view.View.draw(View.java:15965) at android.view.ViewGroup.drawChild(ViewGroup.java:3610) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3400) at android.view.View.draw(View.java:16198) at com.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2690) at android.view.View.updateDisplayListIfDirty(View.java:15192) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:322) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2620) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2439) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2072) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1112) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6035) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5484) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

and this bug:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Paint.setColor(int)' on a null object reference at app.ui.Components.CheckBoxSquare.onDraw(CheckBoxSquare.java:132) at android.view.View.draw(View.java:19187) at android.view.View.updateDisplayListIfDirty(View.java:18137) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.draw(View.java:19190) at android.view.View.updateDisplayListIfDirty(View.java:18137) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.updateDisplayListIfDirty(View.java:18128) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at app.ui.ActionBar.AlertDialog$2.drawChild(AlertDialog.java:348) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.draw(View.java:19190) at android.widget.ScrollView.draw(ScrollView.java:1777) at android.view.View.updateDisplayListIfDirty(View.java:18137) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.draw(View.java:19190) at android.view.View.updateDisplayListIfDirty(View.java:18137) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.updateDisplayListIfDirty(View.java:18128) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.updateDisplayListIfDirty(View.java:18128) at android.view.View.draw(View.java:18915) at android.view.ViewGroup.drawChild(ViewGroup.java:4288) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4074) at android.view.View.draw(View.java:19190) at com.android.internal.policy.DecorView.draw(DecorView.java:817) at android.view.View.updateDisplayListIfDirty(View.java:18137) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:643) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:649) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:757) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3080) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2884) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2437) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1441) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7171) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:979) at android.view.Choreographer.doCallbacks(Choreographer.java:791) at android.view.Choreographer.doFrame(Choreographer.java:726) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:965) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6710) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)

their different is mostly in code lines.

Docker ARM Image

I'm trying to install acdrarium on a raspberry pi.
When starting the container, it quits with an error:
ERROR: no matching manifest for linux/arm/v7 in the manifest list entries

Could you publish an arm v7 image?

SQL error ONLY_FULL_GROUP_BY

Hibernate: select report0_.date as col_0_0_, count(report0_.id) as col_1_0_ from report report0_ cross join stacktrace stacktrace1_ cross join bug bug2_ where report0_.stacktrace_id=stacktrace1_.id and stacktrace1_.bug_id=bug2_.id and bug2_.app_id=? group by date(report0_.date)
2018-06-15 14:30:07.785 WARN 15813 --- [io-8182-exec-16] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1055, SQLState: 42000
2018-06-15 14:30:07.785 ERROR 15813 --- [io-8182-exec-16] o.h.engine.jdbc.spi.SqlExceptionHelper : Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'acra.report0_.date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
2018-06-15 14:30:07.804 ERROR 15813 --- [io-8182-exec-16] com.vaadin.server.DefaultErrorHandler :

javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:149) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1423) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.Query.getResultList(Query.java:146) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at sun.reflect.GeneratedMethodAccessor528.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:379) ~[spring-orm-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.sun.proxy.$Proxy280.getResultList(Unknown Source) ~[na:na]
at com.querydsl.jpa.impl.AbstractJPAQuery.getResultList(AbstractJPAQuery.java:146) ~[querydsl-jpa-4.2.1.jar:na]
at com.querydsl.jpa.impl.AbstractJPAQuery.fetch(AbstractJPAQuery.java:202) ~[querydsl-jpa-4.2.1.jar:na]
at com.faendir.acra.service.DataService.countReports(DataService.java:321) ~[classes/:na]
at com.faendir.acra.service.DataService$$FastClassBySpringCGLIB$$c0f33e7.invoke() ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.faendir.acra.service.DataService$$EnhancerBySpringCGLIB$$a1c60208.countReports() ~[classes/:na]
at com.faendir.acra.ui.view.base.statistics.Property.update(Property.java:79) ~[classes/:na]
at com.faendir.acra.ui.view.base.statistics.Statistics.update(Statistics.java:93) ~[classes/:na]
at com.faendir.acra.ui.view.base.statistics.Statistics.(Statistics.java:84) ~[classes/:na]
at com.faendir.acra.ui.view.app.tabs.StatisticsTab.createContent(StatisticsTab.java:48) ~[classes/:na]
at com.faendir.acra.ui.view.app.tabs.StatisticsTab.createContent(StatisticsTab.java:36) ~[classes/:na]
at com.faendir.acra.ui.view.base.MyTabSheet$TabWrapper.selectedTabChange(MyTabSheet.java:103) ~[classes/:na]
at sun.reflect.GeneratedMethodAccessor527.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:499) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:273) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:237) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1014) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.ui.TabSheet.fireSelectedTabChange(TabSheet.java:924) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.ui.TabSheet.setSelectedTab(TabSheet.java:573) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.ui.TabSheet$TabsheetServerRpcImpl.setSelected(TabSheet.java:92) ~[vaadin-server-8.4.2.jar:8.4.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:90) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1601) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:445) [vaadin-server-8.4.2.jar:8.4.2]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263) [ziplet-2.3.0.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:209) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [catalina.jar:8.0.52]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [catalina.jar:8.0.52]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [catalina.jar:8.0.52]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94) [catalina.jar:8.0.52]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496) [catalina.jar:8.0.52]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [catalina.jar:8.0.52]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.0.52]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [catalina.jar:8.0.52]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [catalina.jar:8.0.52]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502) [catalina.jar:8.0.52]
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1156) [tomcat-coyote.jar:8.0.52]
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684) [tomcat-coyote.jar:8.0.52]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539) [tomcat-coyote.jar:8.0.52]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495) [tomcat-coyote.jar:8.0.52]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.0.52]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:69) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.getResultSet(Loader.java:2168) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1931) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1893) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doQuery(Loader.java:938) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2692) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2675) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.list(Loader.java:2502) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:502) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:392) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:216) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1490) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.AbstractProducedQuery.doList(AbstractProducedQuery.java:1445) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
... 96 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'acra.report0_.date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_131]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_131]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_131]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_131]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-2.7.9.jar:na]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-2.7.9.jar:na]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:60) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
... 111 common frames omitted

Auto-merging isn't very smart

These three stacktraces are not auto-merged, presumably because of the request=ID difference in the first line:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=311518, result=-1, data=Intent { act=com.google.zxing.client.android.SCAN flg=0x80000 (has extras) }} to activity {com.wireguard.android/com.wireguard.android.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	... 9 more	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=245982, result=-1, data=Intent { act=com.google.zxing.client.android.SCAN flg=0x80000 (has extras) }} to activity {com.wireguard.android/com.wireguard.android.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	... 9 more	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=180446, result=-1, data=Intent { act=com.google.zxing.client.android.SCAN flg=0x80000 (has extras) }} to activity {com.wireguard.android/com.wireguard.android.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Enum.ordinal()' on a null object reference
	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	... 9 more	at com.wireguard.config.Interface.parse(Interface.java:143)
	at com.wireguard.config.Config.from(Config.java:64)
	at com.wireguard.config.Config.from(Config.java:37)
	at com.wireguard.android.fragment.TunnelListFragment.importTunnel(TunnelListFragment.java:82)
	at com.wireguard.android.fragment.TunnelListFragment.onActivityResult(TunnelListFragment.java:196)
	at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:156)
	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
	at android.app.ActivityThread.handleSendResult(ActivityThread.java:4312)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1644)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:164)
	at android.app.ActivityThread.main(ActivityThread.java:6494)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Failed to init MainView

I start Acrarium from docker and get this error when going to the main page:
"There was an exception while trying to navigate to '' with the exception message 'Error creating bean with name 'mainView' defined in file [/acrarium/com/faendir/acra/ui/view/MainView.class]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.faendir.acra.ui.view.MainView]: Constructor threw exception; nested exception is java.lang.NullPointerException: Null value is not supported'".

Exception when merging Bugs

Hibernate: select vbug0_.id as id1_5_, vbug0_.app_id as app_id7_5_, vbug0_.solved as solved2_5_, vbug0_.title as title3_5_, vbug0_.version_code as version_4_5_, vbug0_.last_report as last_rep5_5_, vbug0_.report_count as report_c6_5_ from bug_view vbug0_ where vbug0_.app_id=? and vbug0_.solved=0 order by vbug0_.last_report desc limit ?
Hibernate: select bug0_.id as id1_3_0_, bug0_.app_id as app_id5_3_0_, bug0_.solved as solved2_3_0_, bug0_.title as title3_3_0_, bug0_.version_code as version_4_3_0_ from bug bug0_ where bug0_.id=?
2018-06-13 14:42:09.428 ERROR 34853 --- [nio-8080-exec-3] com.vaadin.server.DefaultErrorHandler :

org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value element [com.faendir.acra.model.view.VBug@3] did not match expected type [com.faendir.acra.model.Bug (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value element [com.faendir.acra.model.view.VBug@3] did not match expected type [com.faendir.acra.model.Bug (n/a)]
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:367) ~[spring-orm-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:227) ~[spring-orm-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:527) ~[spring-orm-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:153) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:135) ~[spring-data-jpa-2.0.7.RELEASE.jar:2.0.7.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:61) ~[spring-data-commons-2.0.7.RELEASE.jar:2.0.7.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.sun.proxy.$Proxy137.loadStacktraces(Unknown Source) ~[na:na]
at com.faendir.acra.service.data.DataService.mergeBugs(DataService.java:159) ~[classes/:na]
at com.faendir.acra.service.data.DataService$$FastClassBySpringCGLIB$$b263246b.invoke() ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.faendir.acra.service.data.DataService$$EnhancerBySpringCGLIB$$13a7f921.mergeBugs() ~[classes/:na]
at com.faendir.acra.ui.view.app.tabs.BugTab.lambda$createContent$1(BugTab.java:77) ~[classes/:na]
at com.faendir.acra.ui.view.base.Popup.lambda$addCreateButton$a7fdd7ae$1(Popup.java:48) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:499) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:273) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:237) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1014) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.ui.Button.fireClick(Button.java:384) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.ui.Button$1.click(Button.java:57) ~[vaadin-server-8.4.2.jar:8.4.2]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_151]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_151]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:445) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:410) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:274) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.PushHandler.lambda$new$1(PushHandler.java:146) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:236) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.PushHandler.onMessage(PushHandler.java:522) [vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.PushAtmosphereHandler.onMessage(PushAtmosphereHandler.java:87) ~[vaadin-server-8.4.2.jar:8.4.2]
at com.vaadin.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77) ~[vaadin-server-8.4.2.jar:8.4.2]
at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:224) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:114) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2290) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:594) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.websocket.DefaultWebSocketProcessor$3.run(DefaultWebSocketProcessor.java:345) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:340) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:448) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:272) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.atmosphere.container.JSR356Endpoint$3.onMessage(JSR356Endpoint.java:269) ~[atmosphere-runtime-2.4.24.vaadin1.jar:2.4.24.vaadin1]
at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:399) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:106) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:500) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:295) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:131) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:69) ~[tomcat-websocket.jar:8.5.6]
at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:148) ~[tomcat-websocket.jar:8.5.6]
at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:54) ~[tomcat-coyote.jar:8.5.6]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:53) ~[tomcat-coyote.jar:8.5.6]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) ~[tomcat-coyote.jar:8.5.6]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) ~[tomcat-coyote.jar:8.5.6]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:8.5.6]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_151]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:8.5.6]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_151]

How to start after deployment?

Hello,
I know your time is precious, but unfortunately I can't find a solution on the net.
I have deployed the war from 0.71 successfull on my tomcat. Since i'm not very familiar with tomcat, I installed the tomcat sample application.
After that, there is an index.html under /webapps/sample which i can also access under http://xx.xx.de/sample.index.html

Which file do I have to call for acrarium?
There is no index.html neither a web.xml in WEB-INF

Thanks in advance.
Tolotos

load js returncode 404

failed to load widgetset ./VAADIN/widgetsets/com.faendir.acra.AppWidgetset/com.faendir.acra.AppWidgetset.nocache.js?1529036824635 404

REST API

Having a REST API in addition to the web interface would be nice for building automated monitoring solutions or even a mobile app or something to help access the data a little easier from places other than a web browser

Oracle support

It would be great if Oracle could be used as database. I've tried it but there are at least these issues that prevent it:

  • there is more than one primary key with name "PRIMARY"
  • "user" as tablename must be escaped in generated SQLs
  • "level" as columnname must be escaped in generated SQLs
  • some generated SQLs don't work because of Oracle is case-sensitiv

Cannot add or update a child row

Hi, sometimes after few successful logs this error appears:

> acrarium    | Hibernate: insert into `version` (`app_id`, `code`, `mappings`, `name`) values (?, ?, ?, ?)
> acrarium    | Hibernate: insert into `stacktrace` (`bug_id`, `stacktrace`, `version_id`) values (?, ?, ?)
> acrarium    | Hibernate: select report0_.`id` as id1_4_3_, report0_.`android_version` as android_2_4_3_, report0_.`brand` as brand3_4_3_, report0_.`content` as content4_4_3_, report0_.`date` as date5_4_3_, report0_.`installation_id` as installa6_4_3_, report0_.`phone_model` as phone_mo7_4_3_, report0_.`stacktrace_id` as stacktr10_4_3_, report0_.`user_comment` as user_com8_4_3_, report0_.`user_email` as user_ema9_4_3_, stacktrace1_.`id` as id1_5_0_, stacktrace1_.`bug_id` as bug_id3_5_0_, stacktrace1_.`stacktrace` as stacktra2_5_0_, stacktrace1_.`version_id` as version_4_5_0_, bug2_.`id` as id1_2_1_, bug2_.`app_id` as app_id3_2_1_, bug2_.`solved_version` as solved_v4_2_1_, bug2_.`title` as title2_2_1_, version3_.`id` as id1_10_2_, version3_.`app_id` as app_id5_10_2_, version3_.`code` as code2_10_2_, version3_.`mappings` as mappings3_10_2_, version3_.`name` as name4_10_2_ from `report` report0_ inner join `stacktrace` stacktrace1_ on report0_.`stacktrace_id`=stacktrace1_.`id` left outer join `bug` bug2_ on stacktrace1_.`bug_id`=bug2_.`id` left outer join `version` version3_ on stacktrace1_.`version_id`=version3_.`id` where report0_.`id`=?
> acrarium    | Hibernate: insert into `report` (`android_version`, `brand`, `content`, `date`, `installation_id`, `phone_model`, `stacktrace_id`, `user_comment`, `user_email`, `id`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> acrarium    | Hibernate: select bug1_.`id` as id1_2_0_, app2_.`id` as id1_0_1_, bug1_.`app_id` as app_id3_2_0_, bug1_.`solved_version` as solved_v4_2_0_, bug1_.`title` as title2_2_0_, app2_.`min_score` as min_scor2_0_1_, app2_.`name` as name3_0_1_, app2_.`reporter_username` as reporter4_0_1_ from `stacktrace` stacktrace0_ inner join `bug` bug1_ on stacktrace0_.`bug_id`=bug1_.`id` inner join `app` app2_ on bug1_.`app_id`=app2_.`id` where stacktrace0_.`id`=?
> acrarium    | Hibernate: select stacktrace0_.`id` as id1_5_0_, bug1_.`id` as id1_2_1_, stacktrace0_.`bug_id` as bug_id3_5_0_, stacktrace0_.`stacktrace` as stacktra2_5_0_, stacktrace0_.`version_id` as version_4_5_0_, bug1_.`app_id` as app_id3_2_1_, bug1_.`solved_version` as solved_v4_2_1_, bug1_.`title` as title2_2_1_ from `stacktrace` stacktrace0_ inner join `bug` bug1_ on stacktrace0_.`bug_id`=bug1_.`id` where stacktrace0_.`id`<>? and bug1_.`app_id`=(select app5_.`id` from `stacktrace` stacktrace3_ inner join `bug` bug4_ on stacktrace3_.`bug_id`=bug4_.`id` inner join `app` app5_ on bug4_.`app_id`=app5_.`id` where stacktrace3_.`id`=?) and (stacktrace0_.`id` not in  (select stacktrace6_.`right_id` from `stacktrace_match` stacktrace6_ cross join `stacktrace` stacktrace7_ where stacktrace6_.`right_id`=stacktrace7_.`id` and stacktrace6_.`left_id`=?)) and (stacktrace0_.`id` not in  (select stacktrace8_.`left_id` from `stacktrace_match` stacktrace8_ cross join `stacktrace` stacktrace9_ where stacktrace8_.`left_id`=stacktrace9_.`id` and stacktrace8_.`right_id`=?))
> acrarium    | Hibernate: select version0_.`id` as id1_10_0_, version0_.`app_id` as app_id5_10_0_, version0_.`code` as code2_10_0_, version0_.`mappings` as mappings3_10_0_, version0_.`name` as name4_10_0_, app1_.`id` as id1_0_1_, app1_.`min_score` as min_scor2_0_1_, app1_.`name` as name3_0_1_, app1_.`reporter_username` as reporter4_0_1_ from `version` version0_ left outer join `app` app1_ on version0_.`app_id`=app1_.`id` where version0_.`id`=?
> acrarium    | Hibernate: select version0_.`id` as id1_10_0_, version0_.`app_id` as app_id5_10_0_, version0_.`code` as code2_10_0_, version0_.`mappings` as mappings3_10_0_, version0_.`name` as name4_10_0_, app1_.`id` as id1_0_1_, app1_.`min_score` as min_scor2_0_1_, app1_.`name` as name3_0_1_, app1_.`reporter_username` as reporter4_0_1_ from `version` version0_ left outer join `app` app1_ on version0_.`app_id`=app1_.`id` where version0_.`id`=?
> acrarium    | Hibernate: select version0_.`id` as id1_10_0_, version0_.`app_id` as app_id5_10_0_, version0_.`code` as code2_10_0_, version0_.`mappings` as mappings3_10_0_, version0_.`name` as name4_10_0_, app1_.`id` as id1_0_1_, app1_.`min_score` as min_scor2_0_1_, app1_.`name` as name3_0_1_, app1_.`reporter_username` as reporter4_0_1_ from `version` version0_ left outer join `app` app1_ on version0_.`app_id`=app1_.`id` where version0_.`id`=?
> acrarium    | Hibernate: select version0_.`id` as id1_10_0_, version0_.`app_id` as app_id5_10_0_, version0_.`code` as code2_10_0_, version0_.`mappings` as mappings3_10_0_, version0_.`name` as name4_10_0_, app1_.`id` as id1_0_1_, app1_.`min_score` as min_scor2_0_1_, app1_.`name` as name3_0_1_, app1_.`reporter_username` as reporter4_0_1_ from `version` version0_ left outer join `app` app1_ on version0_.`app_id`=app1_.`id` where version0_.`id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: insert into `stacktrace_match` (`score`, `left_id`, `right_id`) values (?, ?, ?)
> acrarium    | Hibernate: insert into `stacktrace_match` (`score`, `left_id`, `right_id`) values (?, ?, ?)
> acrarium    | Hibernate: insert into `stacktrace_match` (`score`, `left_id`, `right_id`) values (?, ?, ?)
> acrarium    | Hibernate: insert into `stacktrace_match` (`score`, `left_id`, `right_id`) values (?, ?, ?)
> acrarium    | Hibernate: update `stacktrace` set `bug_id`=? where `bug_id`=?
> acrarium    | Hibernate: delete from `bug` where `id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: select stacktrace0_.`left_id` as left_id3_6_0_, stacktrace0_.`right_id` as right_id2_6_0_, stacktrace0_.`score` as score1_6_0_ from `stacktrace_match` stacktrace0_ where stacktrace0_.`left_id`=? and stacktrace0_.`right_id`=?
> acrarium    | Hibernate: insert into `stacktrace_match` (`score`, `left_id`, `right_id`) values (?, ?, ?)
> acrarium    | 2019-10-01 08:32:07.672  WARN 1 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 1452, SQLState: 23000
> acrarium    | 2019-10-01 08:32:07.672 ERROR 1 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper   : Cannot add or update a child row: a foreign key constraint fails (`acra`.`stacktrace_match`, CONSTRAINT `FK_match_right_stacktrace` FOREIGN KEY (`right_id`) REFERENCES `stacktrace` (`id`) ON DELETE CASCADE)
> acrarium    | 2019-10-01 08:32:07.672 ERROR 1 --- [nio-8080-exec-2] o.h.i.ExceptionMapperStandardImpl        : HHH000346: Error during managed flush [org.hibernate.exception.ConstraintViolationException: could not execute statement]
> acrarium    | 2019-10-01 08:32:07.692 ERROR 1 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement] with root cause

Java stacktrace :

acrarium    | java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (acra.stacktrace_match, CONSTRAINT FK_match_right_stacktrace FOREIGN KEY (right_id) REFERENCES stacktrace (id) ON DELETE CASCADE)
acrarium    | 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:117) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1340) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1025) ~[mysql-connector-java-8.0.17.jar!/:8.0.17]
acrarium    | 	at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61) ~[HikariCP-3.2.0.jar!/:na]
acrarium    | 	at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java) ~[HikariCP-3.2.0.jar!/:na]
acrarium    | 	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3205) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3719) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:356) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1483) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:512) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3321) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2517) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:178) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:39) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:271) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104) ~[hibernate-core-5.3.11.Final.jar!/:5.3.11.Final]
acrarium    | 	at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:532) ~[spring-orm-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:746) ~[spring-tx-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:714) ~[spring-tx-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:534) ~[spring-tx-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:305) ~[spring-tx-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) ~[spring-security-core-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at com.faendir.acra.service.DataService$$EnhancerBySpringCGLIB$$56c36284.createNewReport(<generated>) ~[classes!/:0.9.6]
acrarium    | 	at com.faendir.acra.rest.RestReportInterface.report(RestReportInterface.java:71) ~[classes!/:0.9.6]
acrarium    | 	at com.faendir.acra.rest.RestReportInterface$$FastClassBySpringCGLIB$$710fedc2.invoke(<generated>) ~[classes!/:0.9.6]
acrarium    | 	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) ~[spring-security-core-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at com.faendir.acra.rest.RestReportInterface$$EnhancerBySpringCGLIB$$8bc0154c.report(<generated>) ~[classes!/:0.9.6]
acrarium    | 	at sun.reflect.GeneratedMethodAccessor341.invoke(Unknown Source) ~[na:na]
acrarium    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_222]
acrarium    | 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_222]
acrarium    | 	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1039) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:665) ~[javax.servlet-api-4.0.1.jar!/:4.0.1]
acrarium    | 	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) ~[spring-webmvc-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:750) ~[javax.servlet-api-4.0.1.jar!/:4.0.1]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263) ~[ziplet-2.3.0.jar!/:na]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.1.6.RELEASE.jar!/:5.1.6.RELEASE]
acrarium    | 	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118) ~[spring-web-5.1.9.RELEASE.jar!/:5.1.9.RELEASE]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_222]
acrarium    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_222]
acrarium    | 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.24.jar!/:9.0.24]
acrarium    | 	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_222]

And then every time I crash the application on a specific device that previously caused this error, it appears again.

Error occured when uploading a proguard mapping file

I followed the guide to setup Acrarium on my local tomcat server, and it truly worked well. But when I tried to upload a proguard mapping file, I was prompted this error: "Unexpected Server Error".
I have no server-side background knowledge, so can't figure out this is something I need to do on my local test environment or an issue.

Emails on New Issues

It would be nice to be able to configure email settings to get alerts from Acrarium. I can think of a few use cases where this might be useful:

  • a new issue is reported
  • an issue marked as resolved shows up in a new release (a regression)
  • a massive number of issues suddenly are reported (e.g. 20% more than usual)
  • a weekly summary of the top issues

java.lang.NoSuchMethodError: com.querydsl.core.NonUniqueResultException.<init>

Hello,
I'm using release 0.6.1.

I'm getting a lot of java.lang.NoSuchMethodError: com.querydsl.core.NonUniqueResultException when creating reports.

The Exception is thrown in DataService Class when calling
public Optional findStacktrace(@nonnull String stacktrace, int versionCode)
if there is more then one Stacktrace-Entry with the same stacktrace(text) and versionCode.

Is it correct that the stacktrace (text and versionCode) is expected to be unique?

Stacktrace:
java.lang.NoSuchMethodError: com.querydsl.core.NonUniqueResultException.(Ljava/lang/Exception;)V
at com.querydsl.jpa.impl.AbstractJPAQuery.fetchOne(AbstractJPAQuery.java:258) ~[querydsl-jpa-4.2.1.jar:na]
at com.faendir.acra.service.DataService.findStacktrace(DataService.java:245) ~[classes/:na]
at com.faendir.acra.service.DataService.createNewReport(DataService.java:282) ~[classes/:na]
at com.faendir.acra.service.DataService$$FastClassBySpringCGLIB$$c0f33e7.invoke() ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:294) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:98) ~[spring-tx-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.faendir.acra.service.DataService$$EnhancerBySpringCGLIB$$87e43f24.createNewReport() ~[classes/:na]
at com.faendir.acra.rest.RestReportInterface.report(RestReportInterface.java:71) ~[classes/:na]
at com.faendir.acra.rest.RestReportInterface$$FastClassBySpringCGLIB$$710fedc2.invoke() ~[classes/:na]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:69) ~[spring-security-core-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) ~[spring-aop-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.faendir.acra.rest.RestReportInterface$$EnhancerBySpringCGLIB$$f7b78311.report() ~[classes/:na]
at sun.reflect.GeneratedMethodAccessor321.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_172]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_172]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:877) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:783) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) ~[servlet-api.jar:na]
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851) ~[spring-webmvc-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) ~[servlet-api.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) ~[tomcat-websocket.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263) ~[ziplet-2.3.0.jar:na]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:215) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) ~[spring-security-web-5.0.5.RELEASE.jar:5.0.5.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) ~[spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [catalina.jar:8.5.23]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [catalina.jar:8.5.23]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [catalina.jar:8.5.23]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [catalina.jar:8.5.23]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) [catalina.jar:8.5.23]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.23]
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) [catalina.jar:8.5.23]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [catalina.jar:8.5.23]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.23]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) [catalina.jar:8.5.23]
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) [tomcat-coyote.jar:8.5.23]
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.23]
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) [tomcat-coyote.jar:8.5.23]
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) [tomcat-coyote.jar:8.5.23]
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.23]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_172]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_172]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.23]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_172]

2018-12-03 11:14:46.744 ERROR 71762 --- [io-8080-exec-15] o.s.b.w.servlet.support.ErrorPageFilter : Forwarding to error page from request [/report] due to exception [com.querydsl.core.NonUniqueResultException.(Ljava/lang/Exception;)V]

POST with gzip?

Hi! Does Acrarium accept gzip request payload compression?

I'm testing ANR reporting to acrarium backend and traces.txt can be close to 1 MB size of plain text. Would be nice to compress that over the network.

App overview: error on click

Hello,
following error occurs every time I want to click on an app in the app overview:

Bildschirmfoto 2019-05-09 um 15 34 55
Bildschirmfoto 2019-05-09 um 15 45 56

Clicking on an app worked for quite some time, but now it shows this error. I also get the same error in case I am on the Bug overview and want to click on the app name in the breadcrumb navigation.
If you need additional information don't hesitate to ask.

Button is setup wizard is not clickable

I set up the application using TomCat 8, but when I got to the initial setup screen there were just 3 unlabeled input fields and an unclickable piece of text saying "Confirm". Looking at the HTML, it seems like there's some client-side rendering that didn't happen?

Screenshot from 2019-10-12 14-36-05

One thing I had to do in order to get the application to deploy was to add <vaadin.productionMode>true</vaadin.productionMode> (according to the Vaadin documentation) to pom.xml. Otherwise it would compile in hard-coded paths to files on the machine I built the WAR file with, as opposed to the machine the application is running on.

Why is Acrarium SQL rather than NoSQL?

This question might make no sense, given that I'm not that experienced in setting up large data management systems. But it would seem to me that NoSQL would have better scalability.

ReportColumnsChange#afterChange throws Exception

The code in master is out of sync with database.

HHH000397: Using ASTQueryTranslatorFactory Hibernate: select report0_.id as id1_4_, report0_.android_version as android_2_4_, report0_.brand as brand3_4_, report0_.content as content4_4_, report0_.date as date5_4_, report0_.installation_id as installa6_4_, report0_.phone_model as phone_mo7_4_, report0_.stacktrace_id as stacktr10_4_, report0_.user_comment as user_com8_4_, report0_.user_email as user_ema9_4_ from report report0_
WARN 17640 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1054, SQLState: 42S22
ERROR 17640 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : Unknown column 'report0_.stacktrace_id' in 'field list'

Build Issues

Hey, I may be running the wrong commands here, but I'm unable to get a working WAR with the latest build. I've tried the war, bootWar, and release tasks but none seem to be working for me.

I'm getting this exception when I load the page in my browser:

Failed to load the widgetset: ./VAADIN/widgetsets/com.faendir.acra.AppWidgetset/com.faendir.acra.AppWidgetset.nocache.js?1535159061034

For what it's worth, I'm on Java 8 (both for building locally and running in Tomcat8 on the server)

Dangling reports left when bug delete

When deleting a bug, it looks like the reports previous associated with the bug are not deleted, remaining in the database, but there is no longer a way to access them, so they're just leftover data. Probably these reports should be deleted when the associated bug is deleted.

Update standalone setup

Create database line should be :

CREATE DATABASE CHARACTER SET utf8; otherwise some distributions will report Index column size too large. The maximum column size is 767 bytes.

config file database line sbould be:
spring.datasource.url=jdbc:mysql://localhost:3306/acrarium?useSSL=false

On my distribution, I had to change to GRANT ALL PRIVILEGES ON acrarium.* TO acrarium; but i'm not sure why.

Missing version code on some reports

Some reports have an empty version name and code:

image

That results in 0 as the version in the main view, which is confusing:

image

However, that very same report does have a happy BUILD_CONFIG section (thanks to me supplying buildConfigClass = BuildConfig.class in @AcraCore):

image

I'm not sure why this report doesn't have APP_VERSION_* filled in; perhaps it's due to something awful on the part of the user's OS. Or perhaps it couldn't be parsed by Acrarium? However, if it's the first case, it would be smart to fallback to using BUILD_CONFIG in the event that APP_VERSION_* are missing, for populating the actual version column of each report.

Logo/Icon

Need to create a recognizable logo and favicon.

First crash report fails

The first crash report tends to get a 403, whereas subsequent ones succeed.

Log from first:

==> /var/log/tomcat8/catalina.out <==
Hibernate: select user0_.`username` as username1_6_, user0_.`password` as password2_6_ from `user` user0_ where user0_.`username`=?
Hibernate: select roles0_.`user_username` as user_use1_8_0_, roles0_.`roles` as roles2_8_0_ from `user_roles` roles0_ where roles0_.`user_username`=?
Hibernate: select permission0_.`user_username` as user_use1_7_0_, permission0_.`app_id` as app_id2_7_0_, permission0_.`level` as level3_7_0_, app1_.`id` as id1_0_1_, app1_.`ignore_android_line_numbers` as ignore_a2_0_1_, app1_.`ignore_instance_ids` as ignore_i3_0_1_, app1_.`match_by_message` as match_by4_0_1_, app1_.`name` as name5_0_1_, app1_.`reporter_username` as reporter6_0_1_ from `user_permissions` permission0_ left outer join `app` app1_ on permission0_.`app_id`=app1_.`id` where permission0_.`user_username`=?

==> /var/log/tomcat8/localhost_access_log.2018-07-27.txt <==
192.168.231.2 - - [27/Jul/2018:01:53:01 +0200] "POST /android/report HTTP/1.0" 403 300

Log from second:

==> /var/log/tomcat8/catalina.out <==
Hibernate: select user0_.`username` as username1_6_, user0_.`password` as password2_6_ from `user` user0_ where user0_.`username`=?
Hibernate: select roles0_.`user_username` as user_use1_8_0_, roles0_.`roles` as roles2_8_0_ from `user_roles` roles0_ where roles0_.`user_username`=?
Hibernate: select permission0_.`user_username` as user_use1_7_0_, permission0_.`app_id` as app_id2_7_0_, permission0_.`level` as level3_7_0_, app1_.`id` as id1_0_1_, app1_.`ignore_android_line_numbers` as ignore_a2_0_1_, app1_.`ignore_instance_ids` as ignore_i3_0_1_, app1_.`match_by_message` as match_by4_0_1_, app1_.`name` as name5_0_1_, app1_.`reporter_username` as reporter6_0_1_ from `user_permissions` permission0_ left outer join `app` app1_ on permission0_.`app_id`=app1_.`id` where permission0_.`user_username`=?
Hibernate: select app0_.`id` as id1_0_, app0_.`ignore_android_line_numbers` as ignore_a2_0_, app0_.`ignore_instance_ids` as ignore_i3_0_, app0_.`match_by_message` as match_by4_0_, app0_.`name` as name5_0_, app0_.`reporter_username` as reporter6_0_ from `app` app0_ where app0_.`reporter_username`=?
Hibernate: select stacktrace0_.`id` as id1_5_, stacktrace0_.`bug_id` as bug_id5_5_, stacktrace0_.`stacktrace` as stacktra2_5_, stacktrace0_.`version_code` as version_3_5_, stacktrace0_.`version_name` as version_4_5_ from `stacktrace` stacktrace0_ where stacktrace0_.`stacktrace`=? and stacktrace0_.`version_code`=?
Hibernate: select bug1_.`id` as id1_2_, bug1_.`app_id` as app_id4_2_, bug1_.`solved` as solved2_2_, bug1_.`title` as title3_2_ from `stacktrace` stacktrace0_ inner join `bug` bug1_ on stacktrace0_.`bug_id`=bug1_.`id` where bug1_.`app_id`=? and (stacktrace0_.`stacktrace` like ? escape '!') limit ?
Hibernate: select report0_.`id` as id1_4_2_, report0_.`android_version` as android_2_4_2_, report0_.`brand` as brand3_4_2_, report0_.`content` as content4_4_2_, report0_.`date` as date5_4_2_, report0_.`installation_id` as installa6_4_2_, report0_.`phone_model` as phone_mo7_4_2_, report0_.`stacktrace_id` as stacktr10_4_2_, report0_.`user_comment` as user_com8_4_2_, report0_.`user_email` as user_ema9_4_2_, stacktrace1_.`id` as id1_5_0_, stacktrace1_.`bug_id` as bug_id5_5_0_, stacktrace1_.`stacktrace` as stacktra2_5_0_, stacktrace1_.`version_code` as version_3_5_0_, stacktrace1_.`version_name` as version_4_5_0_, bug2_.`id` as id1_2_1_, bug2_.`app_id` as app_id4_2_1_, bug2_.`solved` as solved2_2_1_, bug2_.`title` as title3_2_1_ from `report` report0_ inner join `stacktrace` stacktrace1_ on report0_.`stacktrace_id`=stacktrace1_.`id` left outer join `bug` bug2_ on stacktrace1_.`bug_id`=bug2_.`id` where report0_.`id`=?
Hibernate: insert into `bug` (`app_id`, `solved`, `title`) values (?, ?, ?)
Hibernate: insert into `stacktrace` (`bug_id`, `stacktrace`, `version_code`, `version_name`) values (?, ?, ?, ?)
Hibernate: insert into `report` (`android_version`, `brand`, `content`, `date`, `installation_id`, `phone_model`, `stacktrace_id`, `user_comment`, `user_email`, `id`) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

==> /var/log/tomcat8/localhost_access_log.2018-07-27.txt <==
192.168.231.2 - - [27/Jul/2018:01:53:30 +0200] "POST /android/report HTTP/1.0" 200 -

API documentation wanted

Because the old Acralyzer is without a maintainer right now, and the new Acrarium is not production ready, our team want to implement the backend by ourselves. The question is we cannot find any API documentation for ACRA backend. Is there anything like this that can help us start?

BTW, thanks for your time to develop the open source ACRA!

MySQL ONLY_FULL_GROUP_BY stops statistics page from working

Hi,

I love having a Java based ACRA backend! Many many thanks for this. I just installed this on a new Ubuntu instance running MySQL 5.7 . Apparently in MySQL 5.7 ONLY_FULL_GROUP_BY is enabled by default. When accessing the statistics page, the page wouldn't show and I saw an error like this in the logs:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'acra.report0_.date' which is not functionally dependent on columns in
GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

When I changed the sql_mode to remove ONLY_FULL_GROUP_BY - it seemed to work happily again. Perhaps it's possible to set MySQL accordingly by default?

Thanks/regards,

-Mike

Documention enhancement - setup guide for free/lite tier on IBM / bluemix

This is a friendly request for a setup guide similar to acralyzer that shows step by step how to set up Acrarium on the lite (free forever) plan in IBM's bluemix cloud system

My reasoning here is I'm not aware of any other professional grade free hosting plans like this that would allow people to try out a Java+SQL app, and you can also scale it out with them if you need to later.

If this were possible I could try to use Acrarium as the back-end for a couple apps vs acralyzer (which I'm using now, and know how to setup after reading their cloudant setup guide)

As with all enhancement requests, feel free to either completely ignore this or summarily close it as won't-fix at your option :-)

Database schema creation fails - SQL syntaxt error: to use near '"report" limit 64' at line 1

Trying latest code (pulled from master on 25-Jun-2018) to initialize MySql 5.7 from empty schema:

2018-06-25 15:45:52.584 INFO 2548 --- [ main] liquibase : classpath:/db/changelog/db.changelog-master.yaml: classpath:/db/changelog/db.changelog-master.yaml::2018-06-01-add-report-columns::lukas: Columns brand(varchar(255)),installation_id(varchar(255)) added to report
2018-06-25 15:45:52.584 INFO 2548 --- [ main] liquibase : classpath:/db/changelog/db.changelog-master.yaml: classpath:/db/changelog/db.changelog-master.yaml::2018-06-01-add-report-columns::lukas: ChangeSet classpath:/db/changelog/db.changelog-master.yaml::2018-06-01-add-report-columns::lukas ran successfully in 49ms
2018-06-25 15:45:52.820 INFO 2548 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2018-06-25 15:45:52.848 INFO 2548 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2018-06-25 15:45:52.994 INFO 2548 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {5.2.17.Final}
2018-06-25 15:45:52.997 INFO 2548 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2018-06-25 15:45:53.064 INFO 2548 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
2018-06-25 15:45:53.370 INFO 2548 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL57Dialect
2018-06-25 15:45:54.248 INFO 2548 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
Hibernate: SELECT "content" FROM "report" limit ?
2018-06-25 15:45:54.783 WARN 2548 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1064, SQLState: 42000
2018-06-25 15:45:54.784 ERROR 2548 --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"report" limit 64' at line 1
2018-06-25 15:45:54.792 INFO 2548 --- [ main] liquibase : classpath:/db/changelog/db.changelog-master.yaml::2018-06-01-add-report-columns::lukas: Successfully released change log lock
2018-06-25 15:45:54.793 INFO 2548 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2018-06-25 15:45:54.793 WARN 2548 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in file [C:\dev\projects\Acrarium\build\classes\java\main\com\faendir\acra\liquibase\ChangeAwareSpringLiquibase.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
2018-06-25 15:45:54.793 INFO 2548 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated...
2018-06-25 15:45:54.799 INFO 2548 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed.
2018-06-25 15:45:54.803 INFO 2548 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
2018-06-25 15:45:54.805 INFO 2548 --- [ost-startStop-1] c.g.z.f.compression.CompressingFilter : CompressingFilter is being destroyed...
2018-06-25 15:45:54.824 INFO 2548 --- [ main] ConditionEvaluationReportLoggingListener :

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-06-25 15:45:54.834 ERROR 2548 --- [ main] o.s.boot.SpringApplication : Application run failed

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in file [C:\dev\projects\Acrarium\build\classes\java\main\com\faendir\acra\liquibase\ChangeAwareSpringLiquibase.class]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:579) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:501) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:304) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1089) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:859) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:395) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1255) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1243) [spring-boot-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at com.faendir.acra.BackendApplication.main(BackendApplication.java:36) [main/:na]
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:149) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:157) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1423) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.Query.getResultList(Query.java:146) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_121]
at org.springframework.orm.jpa.SharedEntityManagerCreator$DeferredQueryInvocationHandler.invoke(SharedEntityManagerCreator.java:379) ~[spring-orm-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at com.sun.proxy.$Proxy117.getResultList(Unknown Source) ~[na:na]
at com.faendir.acra.liquibase.LiquibaseChangePostProcessor.iterate(LiquibaseChangePostProcessor.java:41) ~[main/:na]
at com.faendir.acra.liquibase.change.ReportColumnsChange.afterChange(ReportColumnsChange.java:44) ~[main/:na]
at com.faendir.acra.liquibase.LiquibaseChangePostProcessor.handle(LiquibaseChangePostProcessor.java:49) ~[main/:na]
at com.faendir.acra.liquibase.ChangeAwareSpringLiquibase$1.lambda$ran$0(ChangeAwareSpringLiquibase.java:67) ~[main/:na]
at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_121]
at com.faendir.acra.liquibase.ChangeAwareSpringLiquibase$1.ran(ChangeAwareSpringLiquibase.java:67) ~[main/:na]
at liquibase.changelog.visitor.UpdateVisitor.fireRan(UpdateVisitor.java:81) ~[liquibase-core-3.5.5.jar:na]
at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:59) ~[liquibase-core-3.5.5.jar:na]
at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:79) ~[liquibase-core-3.5.5.jar:na]
at liquibase.Liquibase.update(Liquibase.java:214) ~[liquibase-core-3.5.5.jar:na]
at liquibase.Liquibase.update(Liquibase.java:192) ~[liquibase-core-3.5.5.jar:na]
at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:431) ~[liquibase-core-3.5.5.jar:na]
at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388) ~[liquibase-core-3.5.5.jar:na]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1765) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1702) ~[spring-beans-5.0.6.RELEASE.jar:5.0.6.RELEASE]
... 18 common frames omitted
Caused by: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:63) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:111) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:97) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:69) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.getResultSet(Loader.java:2168) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1931) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1893) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doQuery(Loader.java:938) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:341) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2692) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.doList(Loader.java:2675) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2507) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.Loader.list(Loader.java:2502) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:335) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.internal.SessionImpl.listCustomQuery(SessionImpl.java:2200) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.internal.AbstractSharedSessionContract.list(AbstractSharedSessionContract.java:1016) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.NativeQueryImpl.doList(NativeQueryImpl.java:152) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1414) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
... 40 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"report" limit 64' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_121]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_121]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.Util.getInstance(Util.java:408) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966) ~[mysql-connector-java-5.1.46.jar:5.1.46]
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52) ~[HikariCP-2.7.9.jar:na]
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java) ~[HikariCP-2.7.9.jar:na]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:60) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
... 54 common frames omitted

Task :bootRun FAILED

db initialization failed : can not create view

Changlog 34 & 35 has specific database name β€˜acra’, initialization will failed when database has difference name.

[ost-startStop-1] liquibase : classpath:/db/changelog/db.changelog-master.yaml: classpath:/db/changelog/db.changelog-master.yaml::1527006878002-34::lukas (generated): Change Set classpath:/db/changelog/db.changelog-master.yaml::1527006878002-34::lukas (generated) failed. Error: ANY command denied to user 'usr_android'@'%' for table 'app' [Failed SQL: CREATE VIEW android_log.app_view AS (select acra.app.id AS id,acra.app.name AS name,count(acra.report.id) AS report_count from ((acra.app left join acra.bug on((acra.bug.app_id = acra.app.id))) left join acra.report on((acra.report.bug_id = acra.bug.id))) group by acra.app.id)]

Release in development mode

Hi,
thanks a lot for the new release!
I just tried to deploy it, but it seems like you build it in development mode instead of production mode:

17-Sep-2019 07:56:06.846 SCHWERWIEGEND [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/acra]]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Running project in development mode with no access to folder '/home/travis/build/F43nd1r/Acrarium/acrarium'.
Build project in production mode instead, see https://vaadin.com/docs/v14/flow/production/tutorial-production-mode-basic.html
	at com.vaadin.flow.server.DeploymentConfigurationFactory.verifyFolderExists(DeploymentConfigurationFactory.java:281)
	at com.vaadin.flow.server.DeploymentConfigurationFactory.readBuildInfo(DeploymentConfigurationFactory.java:220)
	at com.vaadin.flow.server.DeploymentConfigurationFactory.createInitParameters(DeploymentConfigurationFactory.java:164)
	at com.vaadin.flow.server.DeploymentConfigurationFactory.createPropertyDeploymentConfiguration(DeploymentConfigurationFactory.java:124)
	at com.vaadin.flow.server.startup.ServletDeployer$StubServletConfig.createDeploymentConfiguration(ServletDeployer.java:143)
	at com.vaadin.flow.server.startup.DevModeInitializer.onStartup(DevModeInitializer.java:214)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5178)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	... 10 more

17-Sep-2019 07:56:06.846 SCHWERWIEGEND [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive /Users/myuser/workspace/acra/tomcat-8.5.6 acra/webapps/acra.war
 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/acra]]
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:728)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Time Zone is Ignored

Observe:

image

It appears that Acrarium isn't parsing the timezone part of strings, resulting in things like this.

It's not something you'd notice debugging if your server timezone and phone timezone are the same, but if they diverge, things will get confusing.

Internal error while clicking on the app name

Hi,

we deployed version 0.8.1 local on a tomcat 8.5.6 with a mysql:5.7 image from docker.
After some bug reports, it is not possible anymore to view the reports by clicking on the app name.
The following error message appears:

Internal error
Please notify the administrator.
Take note of any unsaved data, and click here or press ESC to continue.

Even after restarting the server it is not possible to continue.

After looking in the catalina.out file, we found out the problem is an OutOfBoundsException.

Do you have any idea what causes the problem?

Thanks a lot!

Here the complete stacktrace:

Hibernate: select count(app0_.`id`) as col_0_0_ from `app` app0_ where  not (exists (select 1 from `user` user1_ inner join `user_permissions` permission2_ on user1_.`username`=permission2_.`user_username` where user1_.`username`=? and permission2_.`app_id`=app0_.`id` and permission2_.`level`<?))
Hibernate: select app0_.`id` as col_0_0_, count(distinct bug1_.`id`) as col_1_0_, count(report3_.`id`) as col_2_0_, app0_.`id` as id1_0_, app0_.`min_score` as min_scor2_0_, app0_.`name` as name3_0_, app0_.`reporter_username` as reporter4_0_ from `app` app0_ left outer join `bug` bug1_ on (bug1_.`app_id`=app0_.`id`) left outer join `stacktrace` stacktrace2_ on (stacktrace2_.`bug_id`=bug1_.`id`) left outer join `report` report3_ on (report3_.`stacktrace_id`=stacktrace2_.`id`) where  not (exists (select 1 from `user` user4_ inner join `user_permissions` permission5_ on user4_.`username`=permission5_.`user_username` where user4_.`username`=? and permission5_.`app_id`=app0_.`id` and permission5_.`level`<?)) group by app0_.`id` limit ?
Hibernate: select app0_.`id` as id1_0_, app0_.`min_score` as min_scor2_0_, app0_.`name` as name3_0_, app0_.`reporter_username` as reporter4_0_ from `app` app0_ where app0_.`id`=?
Hibernate: select version0_.`id` as id1_10_, version0_.`app_id` as app_id5_10_, version0_.`code` as code2_10_, version0_.`mappings` as mappings3_10_, version0_.`name` as name4_10_ from `version` version0_ where version0_.`app_id`=?
Hibernate: select app0_.`id` as id1_0_0_, app0_.`min_score` as min_scor2_0_0_, app0_.`name` as name3_0_0_, app0_.`reporter_username` as reporter4_0_0_ from `app` app0_ where app0_.`id`=?
Hibernate: select count(bug0_.`id`) as col_0_0_ from `bug` bug0_ where bug0_.`app_id`=? and (bug0_.`solved_version` is null)
Hibernate: select bug0_.`id` as col_0_0_, max(report2_.`date`) as col_1_0_, count(report2_.`id`) as col_2_0_, max(version3_.`code`) as col_3_0_, count(distinct report2_.`installation_id`) as col_4_0_, bug0_.`id` as id1_2_, bug0_.`app_id` as app_id3_2_, bug0_.`solved_version` as solved_v4_2_, bug0_.`title` as title2_2_ from `bug` bug0_ left outer join `stacktrace` stacktrace1_ on (stacktrace1_.`bug_id`=bug0_.`id`) cross join `version` version3_ left outer join `report` report2_ on (report2_.`stacktrace_id`=stacktrace1_.`id`) where stacktrace1_.`version_id`=version3_.`id` and bug0_.`app_id`=? and (bug0_.`solved_version` is null) group by bug0_.`id` limit ?
Hibernate: select count(bug0_.`id`) as col_0_0_ from `bug` bug0_ where bug0_.`app_id`=? and (bug0_.`solved_version` is null)
2019-09-16 12:48:33.368 ERROR 14758 --- [nio-8080-exec-7] c.v.flow.server.DefaultErrorHandler      : 

java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
	at java.util.ArrayList.rangeCheck(ArrayList.java:657) ~[na:1.8.0_201]
	at java.util.ArrayList.get(ArrayList.java:433) ~[na:1.8.0_201]
	at com.vaadin.flow.data.provider.DataCommunicator.lambda$getJsonItems$3(DataCommunicator.java:611) ~[flow-data-2.0.0.rc2.jar:2.0.0.rc2]
	at java.util.stream.IntPipeline$4$1.accept(IntPipeline.java:250) ~[na:1.8.0_201]
	at java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:110) ~[na:1.8.0_201]
	at java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:693) ~[na:1.8.0_201]
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_201]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_201]
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_201]
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_201]
	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_201]
	at com.vaadin.flow.data.provider.DataCommunicator.getJsonItems(DataCommunicator.java:613) ~[flow-data-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.data.provider.DataCommunicator.collectChangesToSend(DataCommunicator.java:556) ~[flow-data-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.data.provider.DataCommunicator.flush(DataCommunicator.java:473) ~[flow-data-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.data.provider.DataCommunicator.lambda$requestFlush$2f364bb9$1(DataCommunicator.java:421) ~[flow-data-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.internal.StateTree.lambda$runExecutionsBeforeClientResponse$1(StateTree.java:350) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_201]
	at com.vaadin.flow.internal.StateTree.runExecutionsBeforeClientResponse(StateTree.java:347) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.communication.UidlWriter.encodeChanges(UidlWriter.java:392) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.communication.UidlWriter.createUidl(UidlWriter.java:182) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:116) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:89) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1522) ~[flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:246) [flow-server-2.0.0.rc2.jar:2.0.0.rc2]
	at com.vaadin.flow.spring.SpringServlet.service(SpringServlet.java:83) [vaadin-spring-12.0.0.rc2.jar:na]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:726) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:351) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311) [catalina.jar:8.5.6]
	at org.springframework.web.servlet.mvc.ServletForwardingController.handleRequestInternal(ServletForwardingController.java:141) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) [servlet-api.jar:na]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) [spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-websocket.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263) [ziplet-2.3.0.jar:na]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:209) [spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) [spring-security-web-5.1.4.RELEASE.jar:5.1.4.RELEASE]
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:130) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:105) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.boot.web.servlet.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:123) [spring-boot-2.1.3.RELEASE.jar:2.1.3.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192) [catalina.jar:8.5.6]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108) [catalina.jar:8.5.6]
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) [catalina.jar:8.5.6]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [catalina.jar:8.5.6]
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620) [catalina.jar:8.5.6]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [catalina.jar:8.5.6]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349) [catalina.jar:8.5.6]
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784) [tomcat-coyote.jar:8.5.6]
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-coyote.jar:8.5.6]
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802) [tomcat-coyote.jar:8.5.6]
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410) [tomcat-coyote.jar:8.5.6]
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:8.5.6]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_201]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_201]
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:8.5.6]
	at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]

Question: HTTPS support?

Hi there.

Thanks for a useful tool. I can't however find any information about HTTPS support? As of Android API level 28, HTTP (clear text) is disabled by default and it's of course not a good idea to send any information off a device in clear text. ACRA itself supports HTTPS - is this supported by Acrarium or are there plans to support it?

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.