java.sql.SQLSyntaxErrorException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • When creating an analyzer cube and the mondrian schema is being loaded to display the available cubes we fire queries to detect database information; one of the queries that is being fired is this: {noformat} select version(); {noformat} http://mondrian.pentaho.com/api/src-html/mondrian/spi/impl/JdbcDialectImpl.html#line.1129 This query generates different errors depending on the database used. Here is a sample of the stacktrace shown in the logs when customers are using Oracle as their data warehouse: {noformat} 2016-08-05 14:07:50,785 DEBUG [mondrian.rolap.RolapSchemaPool] get: catalog=mondrian:/oFoodMarts, connectionKey=null{}, jdbcUser=null, dataSourceStr=jndiOracle, dataSource=null, jdbcConnectionUuid=null, useSchemaPool=true, useContentChecksum=true, map-size=0, md5-map-size=0 2016-08-05 14:07:50,837 DEBUG [mondrian.rolap.RolapSchemaPool] get(key=9b4f21c83511b81f718bb2fb3093c411) returned null 2016-08-05 14:07:50,873 DEBUG [mondrian.server.MondrianServerImpl] addConnection , id=1, statements=1, connections=1 2016-08-05 14:07:50,873 DEBUG [mondrian.server.MondrianServerImpl] addStatement , id=1, statements=1, connections=2 2016-08-05 14:07:50,874 DEBUG [mondrian.server.monitor] ConnectionStartEvent(1) 2016-08-05 14:07:50,874 DEBUG [mondrian.server.monitor] StatementStartEvent(1) 2016-08-05 14:07:53,365 DEBUG [mondrian.spi.impl.JdbcDialectImpl] NOT Using IMPALA dialect. java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:999) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:539) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:235) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:199) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:1216) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1500) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1717) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:2013) at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:1709) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at mondrian.spi.impl.JdbcDialectImpl.isDatabase(JdbcDialectImpl.java:1144) at mondrian.spi.impl.ImpalaDialect$1.acceptsConnection(ImpalaDialect.java:52) at mondrian.spi.impl.JdbcDialectFactory.createDialect(JdbcDialectFactory.java:122) at mondrian.spi.DialectManager$ChainDialectFactory.createDialect(DialectManager.java:329) at mondrian.spi.DialectManager$ChainDialectFactory.createDialect(DialectManager.java:329) at mondrian.spi.DialectManager$CachingDialectFactory.createDialect(DialectManager.java:428) at mondrian.spi.DialectManager$DialectManagerImpl.createDialect(DialectManager.java:288) at mondrian.spi.DialectManager.createDialect(DialectManager.java:108) at mondrian.spi.DialectManager.createDialect(DialectManager.java:81) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:228) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:188) at mondrian.rolap.RolapSchema.<init>(RolapSchema.java:216) at mondrian.rolap.RolapSchemaPool.createRolapSchema(RolapSchemaPool.java:294) at mondrian.rolap.RolapSchemaPool.getByChecksum(RolapSchemaPool.java:270) at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:158) at mondrian.rolap.RolapSchemaPool.get(RolapSchemaPool.java:72) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:161) at mondrian.rolap.RolapConnection.<init>(RolapConnection.java:91) at mondrian.olap.DriverManager.getConnection(DriverManager.java:113) at mondrian.olap.DriverManager.getConnection(DriverManager.java:69) at mondrian.olap4j.MondrianOlap4jConnection.<init>(MondrianOlap4jConnection.java:162) at mondrian.olap4j.FactoryJdbc4Plus$AbstractConnection.<init>(FactoryJdbc4Plus.java:323) at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jConnectionJdbc41.<init>(FactoryJdbc41Impl.java:118) at mondrian.olap4j.FactoryJdbc41Impl.newConnection(FactoryJdbc41Impl.java:32) at mondrian.olap4j.MondrianOlap4jDriver.connect(MondrianOlap4jDriver.java:97) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at org.pentaho.platform.plugin.services.connections.mondrian.MDXOlap4jConnection.connect(MDXOlap4jConnection.java:100) at org.pentaho.platform.plugin.services.connections.mondrian.MDXOlap4jConnection.setProperties(MDXOlap4jConnection.java:219) at org.pentaho.platform.engine.services.connection.PentahoConnectionFactory.getConnection(PentahoConnectionFactory.java:124) at com.pentaho.analyzer.service.impl.OlapConnectionManagerImpl.createConnection(SourceFile:147) at com.pentaho.analyzer.service.impl.OlapConnectionManagerImpl.createConnection(SourceFile:75) at com.pentaho.analyzer.service.impl.a.getConnection(SourceFile:55) at com.pentaho.analyzer.service.impl.OlapMetaDataManager.getConnection(SourceFile:67) at com.pentaho.analyzer.service.impl.AnalysisAreaManager.createOlapConnection(SourceFile:109) at com.pentaho.analyzer.content.controller.p.a(SourceFile:86) at com.pentaho.analyzer.content.controller.p.a(SourceFile:118) at com.pentaho.analyzer.content.AnalyzerContentGenerator.createContent(SourceFile:152) at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutput.generateContent(GeneratorStreamingOutput.java:236) at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutput.write(GeneratorStreamingOutput.java:163) at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutputProvider.writeTo(GeneratorStreamingOutputProvider.java:54) at org.pentaho.platform.web.http.api.resources.GeneratorStreamingOutputProvider.writeTo(GeneratorStreamingOutputProvider.java:33) at com.sun.jersey.spi.container.ContainerResponse.write(ContainerResponse.java:306) at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1479) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) at org.pentaho.platform.web.servlet.JAXRSServlet.service(JAXRSServlet.java:109) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.pentaho.platform.web.servlet.JAXRSServlet.service(JAXRSServlet.java:114) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.pentaho.platform.web.http.filters.PentahoWebContextFilter.doFilter(PentahoWebContextFilter.java:185) at com.pentaho.platform.web.http.filters.PentahoEnterpriseWebContextFilter.doFilter(SourceFile:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.pentaho.platform.web.http.filters.PentahoRequestContextFilter.doFilter(PentahoRequestContextFilter.java:87) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:399) at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:191) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) at org.pentaho.platform.web.http.security.PentahoBasicProcessingFilter.doFilterHttp(PentahoBasicProcessingFilter.java:115) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.pentaho.platform.web.http.filters.HttpSessionPentahoSessionIntegrationFilter.doFilter(HttpSessionPentahoSessionIntegrationFilter.java:263) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:411) at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:188) at org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at com.pentaho.ui.servlet.SystemStatusFilter.doFilter(SourceFile:87) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:114) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.pentaho.platform.web.http.filters.WebappRootForwardingFilter.doFilter(WebappRootForwardingFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.pentaho.platform.web.http.filters.PentahoPathDecodingFilter.doFilter(PentahoPathDecodingFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500) at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) 2016-08-05 14:07:53,487 DEBUG [mondrian.spi.impl.JdbcDialectImpl] NOT Using NETEZZA dialect. java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400) {noformat} The same query in MS SQL Server would throw the following error: {noformat} 'version' is not a recognized built-in function name. {noformat}
    via by Carlos Lopez,
  • When creating an analyzer cube and the mondrian schema is being loaded to display the available cubes we fire queries to detect database information; one of the queries that is being fired is this: select version(); http://mondrian.pentaho.com/api/src-html/mondrian/spi/impl/JdbcDialectImpl.html#line.1129 This query generates different errors depending on the database used. Here is a sample of the stacktrace shown in the logs when customers are using Oracle as their data warehouse: {noformat} 2016-08-05 14:07:50,785 DEBUG [mondrian.rolap.RolapSchemaPool] get: catalog=mondrian:/oFoodMarts, connectionKey=null{}, jdbcUser=null, dataSourceStr=jndiOracle, dataSource=null, jdbcConnectionUuid=null, useSchemaPool=true, useContentChecksum=true, map-size=0, md5-map-size=0 2016-08-05 14:07:50,837 DEBUG [mondrian.rolap.RolapSchemaPool] get(key=9b4f21c83511b81f718bb2fb3093c411) returned null 2016-08-05 14:07:50,873 DEBUG [mondrian.server.MondrianServerImpl] addConnection , id=1, statements=1, connections=1 2016-08-05 14:07:50,873 DEBUG [mondrian.server.MondrianServerImpl] addStatement , id=1, statements=1, connections=2 2016-08-05 14:07:50,874 DEBUG [mondrian.server.monitor] ConnectionStartEvent(1) 2016-08-05 14:07:50,874 DEBUG [mondrian.server.monitor] StatementStartEvent(1) 2016-08-05 14:07:53,365 DEBUG [mondrian.spi.impl.JdbcDialectImpl] NOT Using IMPALA dialect. java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:999) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:539) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:235) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:199) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:1216) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1500) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1717) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:2013) at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:1709) 2016-08-05 14:07:53,487 DEBUG [mondrian.spi.impl.JdbcDialectImpl] NOT Using NETEZZA dialect. java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400) {noformat} The same query in MS SQL Server would throw the following error: {noformat} 'version' is not a recognized built-in function name {noformat} The purpose of this improvement is to allow Mondrian to capture the Database Product Name using the proper version function for each database supported
    via by Carlos Lopez,
  • Oracle Dashboard Error
    via GitHub by jtesser
    ,
  • Spring app Mybatis not logging exceptions
    via by Unknown author,
  • Variable into Query
    via by ab_db,
  • db:: 4.10::Help with ORA 02291 fj
    via by Unknown author,
  • For Oracle: {noformat} caused by: org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: error performing findBySQL; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected - got CLOB at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:107) caused by: java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected - got CLOB at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) {noformat} For DB2: {noformat} 2011-04-13 06:19:41,145 ERROR [http-8080-6] [atlassian.confluence.servlet.ConfluenceServletDispatcher] sendError Could not execute action -- url: /pages/dopurgetrashitem.action | userName: admin | referer: http://ec2-50-16-150-219.compute-1.amazonaws.com:8080/pages/purgetrashitem.action?key=ds&contentId=32815 org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: error performing findBySQL; bad SQL grammar []; nested exception is com.ibm.db2.jcc.am.mo: DB2 SQL Error: SQLCODE=-134, SQLSTATE=42907, SQLERRMC=VERSIONC9_0_, DRIVER=4.7.85 Caused by: com.ibm.db2.jcc.am.mo: DB2 SQL Error: SQLCODE=-134, SQLSTATE=42907, SQLERRMC=VERSIONC9_0_, DRIVER=4.7.85 ... at com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao$5.doInHibernate(HibernatePageDao.java:473) at org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:370) at org.springframework.orm.hibernate.HibernateTemplate.executeFind(HibernateTemplate.java:341) at com.atlassian.confluence.pages.persistence.dao.hibernate.HibernatePageDao.getDescendents(HibernatePageDao.java:462) at com.atlassian.confluence.pages.persistence.dao.hibernate.CachingPageDao.getDescendents(CachingPageDao.java:201) at com.atlassian.confluence.pages.DefaultPageManager.getDescendents(DefaultPageManager.java:167) ... {noformat} For SQL Server: {noformat} 2011-04-06 14:37:19,123 ERROR [http-8081-9] [atlassian.confluence.servlet.ConfluenceServletDispatcher] sendError Could not execute action url: /pages/movepage.action | userName: xxxxx | referer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: error performing findBySQL; uncategorized SQLException for SQL []; SQL state [S1000]; error code [421]; The ntext data type cannot be selected as DISTINCT because it is not comparable.; nested exception is java.sql.SQLException: The ntext data type cannot be selected as DISTINCT because it is not comparable. Caused by: java.sql.SQLException: The ntext data type cannot be selected as DISTINCT because it is not comparable. {noformat} {panel:title=Workaround Available|borderStyle=solid|borderColor=#3C78B5| titleBGColor=#3C78B5| bgColor=#E7F4FA} To fix this problem in Confluence 3.5.1 or 3.5.2, use the [attached patch|^CONF-22164-patch-v1.zip] as follows: # Shut down Confluence. # Unzip the patch file, [^CONF-22164-patch-v1.zip] into the {{confluence/WEB-INF/classes/}} directory. This will create a deep nesting of subdirectories with the 7 patched class files in {{confluence/WEB-INF/classes/com/atlassian/confluence/pages/persistence/dao/hibernate/}}. # Start Confluence again. Please contact [Atlassian support|https://support.atlassian.com] if you have trouble applying the patch. *Do not under any circumstances change your database schema to fix this problem.* Doing so may break future upgrades of Confluence and will not be supported by Atlassian in the future. If you have already changed your database schema to work around this problem, we recommend rolling back that change and applying this patch instead. The patch is not be required in Confluence 3.5.3 or later, which will ship with this fix. Confluence 3.5 and earlier does not have this issue. {panel}
    via by Wolfram Richter,
    • java.sql.SQLSyntaxErrorException: ORA-00923: FROM keyword not found where expected at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:459) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    tomthomas
    1 times, last one,
    70 more bugmates