Skip to end of metadata
Go to start of metadata

Problem:


We cannot export any SGX files in our OnPremise Process Manager with version 13.15.x. In the logfile we see the following error message:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Argument data type image is invalid for argument 1 of len function.
2020-07-03 04:06:28,690 ERROR [https-jsse-nio-443-exec-3] r:1b3e2295a093480b95a7c0cfd853b1c8 u:8c254309bc474e7e95b14c065692647e t:d09f729cd5a24fb9ba0ef3e44ab2dcbb .(LoggingDirectory.java:242) [Fri Jul 03 04:06:28 NZST 2020][TRANSACTION][ERROR][f8a7d40cb670497f9dfefe58db491ee1] org.hibernate.exception.SQLGrammarException: could not execute query - Transaction HttpTransaction execution failed
[HTTP] POST /p/zip-export 500
javax.servlet.ServletException: org.hibernate.exception.SQLGrammarException: could not execute query
	at com.signavio.platform.filters.PrivateUrlFilter.doFilter(PrivateUrlFilter.java:127)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.saas.filter.CertificateGuestUserLogoutFilter.doFilter(CertificateGuestUserLogoutFilter.java:63)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.usermanagement.external.filter.Saml2AuthenticationFilter.doFilter(Saml2AuthenticationFilter.java:99)
	at com.signavio.usermanagement.external.filter.Saml2AuthenticationFilter.doFilter(Saml2AuthenticationFilter.java:40)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.enterprise.filter.GuestUserAuthenticationFilter.doFilter(GuestUserAuthenticationFilter.java:108)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.MonthlyConcurrentCheckFilter.doFilter(MonthlyConcurrentCheckFilter.java:49)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.oauth.provider.filter.OAuthAuthenticationFilter.doFilter(OAuthAuthenticationFilter.java:113)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:79)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.infrastructure.csp.CspFilter.doFilter(CspFilter.java:79)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.core.transactions.HttpTransaction.execute(HttpTransaction.java:95)
	at com.signavio.platform.core.transactions.PlatformTransaction.executeTransaction(PlatformTransaction.java:142)
	at com.signavio.platform.core.transactions.PlatformTransaction.runTransaction(PlatformTransaction.java:122)
	at com.signavio.platform.filters.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:35)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.infrastructure.filter.LocaleParameterFilter.doFilter(LocaleParameterFilter.java:40)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.ModelHandlerRedirectFilter.doFilter(ModelHandlerRedirectFilter.java:77)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.HandlerFilter.doFilter(HandlerFilter.java:151)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.ParseParametersFilter.doFilter(ParseParametersFilter.java:245)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.AngleBracketFilter.doFilter(AngleBracketFilter.java:70)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.EncodingAndDefaultsFilter.doFilter(EncodingAndDefaultsFilter.java:69)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.SessionUpdateFilter.doFilter(SessionUpdateFilter.java:35)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.RequestExceptionFilter.doFilter(RequestExceptionFilter.java:267)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.XssProtectionResponseFilter.doFilter(XssProtectionResponseFilter.java:37)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.SecurityResponseFilter.doFilter(SecurityResponseFilter.java:47)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.exception.ExceptionContextManagementFilter.doFilter(ExceptionContextManagementFilter.java:36)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.logging.RequestLoggingFilter.doFilter(RequestLoggingFilter.java:36)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.logging.EnrichLoggingContextFilter.doFilter(EnrichLoggingContextFilter.java:61)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.signavio.platform.filters.metrics.RequestMetricsFilter.lambda$0(RequestMetricsFilter.java:63)
	at com.signavio.infrastructure.metrics.facade.timer.TimeRecorderTwoExceptions.record(TimeRecorderTwoExceptions.java:57)
	at com.signavio.platform.filters.metrics.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:60)
	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:92)
	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
	at org.hibernate.loader.Loader.doList(Loader.java:2297)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172)
	at org.hibernate.loader.Loader.list(Loader.java:2167)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448)
	at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
	at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
	at com.signavio.platform.security.query.DefaultHqlQuery.createHibernateQueryWithPartitioning(DefaultHqlQuery.java:98)
	at com.signavio.platform.security.query.DefaultHqlQuery.list(DefaultHqlQuery.java:48)
	at com.signavio.platform.util.sgx.impl.SgxExportSizeEstimator.estimateModelJsonSizeInBytes(SgxExportSizeEstimator.java:46)
	at com.signavio.warehouse.model.handler.SgxExportHandler.estimateSizeAndThrowIfExportLimitExceeded(SgxExportHandler.java:165)
	at com.signavio.warehouse.model.handler.SgxExportHandler.doPost(SgxExportHandler.java:122)
	at com.signavio.platform.servlets.DispatcherServlet.dispatch(DispatcherServlet.java:152)
	at com.signavio.platform.servlets.DispatcherServlet.doPost(DispatcherServlet.java:230)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
	at com.signavio.platform.filters.logging.UpdateLoggingContextFilter.doFilter(UpdateLoggingContextFilter.java:58)
	at com.signavio.platform.filters.IPRangeFilter.doFilter(IPRangeFilter.java:76)
	at com.signavio.usermanagement.external.filter.ExternalUserFilter.doFilter(ExternalUserFilter.java:89)
	at com.signavio.platform.filters.AdminAuthenticationFilter.doFilter(AdminAuthenticationFilter.java:107)
	at com.signavio.platform.filters.AuthenticationFilter.executeFilterChain(AuthenticationFilter.java:185)
	at com.signavio.platform.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:172)
	at com.signavio.platform.filters.TenantSwitchFilter.doFilter(TenantSwitchFilter.java:72)
	at com.signavio.platform.filters.PrivateUrlFilter.doFilter(PrivateUrlFilter.java:123)
	at com.signavio.saas.filter.CertificateGuestUserLogoutFilter.doFilter(CertificateGuestUserLogoutFilter.java:63)
	at com.signavio.usermanagement.external.filter.Saml2AuthenticationFilter.doFilter(Saml2AuthenticationFilter.java:99)
	at com.signavio.usermanagement.external.filter.Saml2AuthenticationFilter.doFilter(Saml2AuthenticationFilter.java:40)
	at com.signavio.enterprise.filter.GuestUserAuthenticationFilter.doFilter(GuestUserAuthenticationFilter.java:108)
	at com.signavio.platform.filters.MonthlyConcurrentCheckFilter.doFilter(MonthlyConcurrentCheckFilter.java:49)
	at com.signavio.platform.oauth.provider.filter.OAuthAuthenticationFilter.doFilter(OAuthAuthenticationFilter.java:113)
	at com.signavio.platform.filters.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:79)
	at com.signavio.infrastructure.csp.CspFilter.doFilter(CspFilter.java:79)
	at com.signavio.platform.core.transactions.HttpTransaction.execute(HttpTransaction.java:95)
	at com.signavio.platform.core.transactions.PlatformTransaction.executeTransaction(PlatformTransaction.java:142)
	at com.signavio.platform.core.transactions.PlatformTransaction.runTransaction(PlatformTransaction.java:122)
	at com.signavio.platform.filters.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:35)
	at com.signavio.infrastructure.filter.LocaleParameterFilter.doFilter(LocaleParameterFilter.java:40)
	at com.signavio.platform.filters.ModelHandlerRedirectFilter.doFilter(ModelHandlerRedirectFilter.java:77)
	at com.signavio.platform.filters.HandlerFilter.doFilter(HandlerFilter.java:151)
	at com.signavio.platform.filters.ParseParametersFilter.doFilter(ParseParametersFilter.java:245)
	at com.signavio.platform.filters.AngleBracketFilter.doFilter(AngleBracketFilter.java:70)
	at com.signavio.platform.filters.EncodingAndDefaultsFilter.doFilter(EncodingAndDefaultsFilter.java:69)
	at com.signavio.platform.filters.SessionUpdateFilter.doFilter(SessionUpdateFilter.java:35)
	at com.signavio.platform.filters.RequestExceptionFilter.doFilter(RequestExceptionFilter.java:267)
	at com.signavio.platform.filters.XssProtectionResponseFilter.doFilter(XssProtectionResponseFilter.java:37)
	at com.signavio.platform.filters.SecurityResponseFilter.doFilter(SecurityResponseFilter.java:47)
	at com.signavio.platform.filters.exception.ExceptionContextManagementFilter.doFilter(ExceptionContextManagementFilter.java:36)
	at com.signavio.platform.filters.logging.RequestLoggingFilter.doFilter(RequestLoggingFilter.java:36)
	at com.signavio.platform.filters.logging.EnrichLoggingContextFilter.doFilter(EnrichLoggingContextFilter.java:61)
	at com.signavio.platform.filters.metrics.RequestMetricsFilter.lambda$0(RequestMetricsFilter.java:63)
	at com.signavio.infrastructure.metrics.facade.timer.TimeRecorderTwoExceptions.record(TimeRecorderTwoExceptions.java:57)
	at com.signavio.platform.filters.metrics.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:60)
	... 22 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Argument data type image is invalid for argument 1 of len function.
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:254)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1608)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:578)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:508)
	at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7240)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2869)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:243)
	at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:218)
	at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:434)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1471)
	at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
	at org.hibernate.loader.Loader.getResultSet(Loader.java:1849)
	at org.hibernate.loader.Loader.doQuery(Loader.java:718)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)
	at org.hibernate.loader.Loader.doList(Loader.java:2294)
	... 79 more


Solution:


This is a known issue with MS SQL and has already been solved with the OnPremise version 13.15.5. If you are affected by this bug, please update your system according to our Adminguide to the version 13.15.5 or newer.