Stack overflow error on login page

Hi,

I seem to have a low-level error which I am unable to solve alone. I am new to JMIX. All went well for the four weeks I have worked with it so far.

On the login screen, the progress bar at the top edge of the login page progress starts off fast, then slows down, stops and flickers.

In the console I have the following:
alpha_overflow_error_console.txt (177.9 KB)

I hope you can guide me on where to start to solve this.

Is this perhaps a clue?

Caused by: java.lang.reflect.InvocationTargetException: null
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:153) ~[vaadin-server-8.14.1-1-jmix.jar:8.14.1-1-jmix]
… 83 common frames omitted
Caused by: java.lang.StackOverflowError: null

java.lang.StackOverflowError
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:408)
at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:167)
at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:119)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeQuery(ProxyPreparedStatement.java:52)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeQuery(HikariProxyPreparedStatement.java)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeSelect(DatabaseAccessor.java:1059)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:679)
at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:564)
at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2102)
at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:603)
at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:265)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:277)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.executeCall(ExpressionQueryMechanism.java:2938)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:263)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeSelectCall(DatasourceCallQueryMechanism.java:334)
at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.selectAllRows(DatasourceCallQueryMechanism.java:746)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRowsFromTable(ExpressionQueryMechanism.java:2826)
at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.selectAllRows(ExpressionQueryMechanism.java:2779)
at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:584)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:1229)
at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:911)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:1188)
at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:485)
at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:1276)
at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:3043)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1895)
at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1877)
at org.eclipse.persistence.mappings.CollectionMapping.executeBatchQuery(CollectionMapping.java:979)
at org.eclipse.persistence.mappings.ForeignReferenceMapping.extractResultFromBatchQuery(ForeignReferenceMapping.java:654)
at org.eclipse.persistence.mappings.CollectionMapping.extractResultFromBatchQuery(CollectionMapping.java:960)
at org.eclipse.persistence.internal.indirection.BatchValueHolder.instantiate(BatchValueHolder.java:60)
at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:124)
at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:124)
at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:176)
at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:239)
at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:118)
at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:275)
at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:458)
at org.eclipse.persistence.indirection.IndirectList.toArray(IndirectList.java:864)
at java.base/java.util.ArrayList.(ArrayList.java:179)
at io.jmix.data.impl.EntityFetcher.fetch(EntityFetcher.java:139)
at io.jmix.data.impl.EntityFetcher.fetch(EntityFetcher.java:69)
at io.jmix.eclipselink.impl.JmixEclipseLinkQuery.lambda$getResultList$0(JmixEclipseLinkQuery.java:142)
at io.jmix.eclipselink.impl.JmixEclipseLinkQuery.getResultFromCache(JmixEclipseLinkQuery.java:826)
at io.jmix.eclipselink.impl.JmixEclipseLinkQuery.getResultList(JmixEclipseLinkQuery.java:138)
at io.jmix.eclipselink.impl.JpaDataStore.executeQuery(JpaDataStore.java:502)
at io.jmix.eclipselink.impl.JpaDataStore.loadOne(JpaDataStore.java:143)
at io.jmix.core.datastore.AbstractDataStore.load(AbstractDataStore.java:86)
at io.jmix.core.impl.UnconstrainedDataManagerImpl.load(UnconstrainedDataManagerImpl.java:97)
at io.jmix.core.FluentLoader$ByQuery.optional(FluentLoader.java:494)
at io.jmix.securitydata.impl.role.provider.BaseDatabaseRoleProvider.findRoleByCode(BaseDatabaseRoleProvider.java:61)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:63)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)
at io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)

towards the end one line keeps repeating

“io.jmix.security.impl.role.BaseRoleRepository.findRoleByCodeExcludeVisited(BaseRoleRepository.java:68)”

have solved the problem - appears to be from a corruption of security table data when a crash occured. When creating a new blank database and allowing for a fresh start, the problem was solved. Now just porting data and we will be on track again.