Unable to start Sakai

200 views
Skip to first unread message

Markus Stetschnig

unread,
Mar 12, 2021, 1:08:40 PM3/12/21
to Sakai Development
Hey!

I am trying to setup an Sakai development environment. There are errors
when starting up tomcat and at 127.0.0.1:8080 i see 404 instead of the
portal.

The database got populated with tables and data automatically.

mysql> show tables;
+--------------------------------+
| Tables_in_sakai                |
+--------------------------------+
| ANNOUNCEMENT_CHANNEL           |
| ANNOUNCEMENT_MESSAGE           |
| ASN_AP_ITEM_ACCESS_T           |
| ASN_AP_ITEM_T                  |
| ASN_ASSIGNMENT                 |


At tomcat/conf/context.xml i commented out the default <WatchedResource>
blocks. Is this right? As i think this caused me another error.


Environment:

- Linux Mint 20

- Tomcat 9.0.44

- MySQL 5.7.33 (docker)

- MySQL Connector /J 5.1.48

- JAVA 1.8.0_282 (from apt)

I attached the sakai.properties, sentenv.sh and log files.


Does anyone know what could cause this problem?

Thanks in advance!


Greetings

Markus Stetschnig


sakai.properties
setenv.sh
catalina.2021-03-12.log
catalina.out
localhost.2021-03-12.log

Miguel Pellicer

unread,
Mar 15, 2021, 11:58:38 AM3/15/21
to Markus Stetschnig, Sakai Development
Hi Markus!

Apparently your instance is starting up fine before faces this error:

12-Mar-2021 12:42:40.405 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [mailsender-tool] created a ThreadLocal with key of
type [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1] (value
[uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@46495e7f]) and a
value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@64d117e7]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:40.817 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [accountvalidator] created a ThreadLocal with key of
type [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1] (value
[uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@5b31a848]) and a
value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@39199c0]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:40.925 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [sakai-reset-pass] created a ThreadLocal with key of
type [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1] (value
[uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@dc026de]) and a
value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@3d473b33]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:41.276 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [sakai-site-pageorder-helper] created a ThreadLocal
with key of type [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1]
(value [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@30d503a]) and
a value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@b0bb25f]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:41.328 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [emailtemplateservice-tool] created a ThreadLocal
with key of type [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1]
(value [uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@2841e48a])
and a value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@658631a7]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:41.477 SEVERE [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks
The web application [samigo-app] created a ThreadLocal with key of type
[uk.org.ponder.saxalizer.support.SAXalXMLProvider$1] (value
[uk.org.ponder.saxalizer.support.SAXalXMLProvider$1@43d27ef3]) and a
value of type [uk.org.ponder.saxalizer.SAXalizerHelper] (value
[uk.org.ponder.saxalizer.SAXalizerHelper@3e2bdab2]) but failed to remove
it when the web application was stopped. Threads are going to be renewed
over time to try and avoid a probable memory leak.
12-Mar-2021 12:42:42.656 WARNING [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads
The web application [sakai-calendar-connector] appears to have started a
thread named [Sakai.SessionComponent.Maintenance] but has failed to stop
it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 org.sakaiproject.tool.impl.SessionComponent$Maintenance.run(SessionComponent.java:600)
 java.lang.Thread.run(Thread.java:748)
12-Mar-2021 12:42:42.657 WARNING [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads
The web application [sakai-calendar-connector] appears to have started a
thread named [FileWatchdog] but has failed to stop it. This is very
likely to create a memory leak. Stack trace of thread:
 java.lang.Thread.sleep(Native Method)
 org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:104)
12-Mar-2021 12:42:42.658 WARNING [Thread-19]
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads
The web application [sakai-calendar-connector] appears to have started a
thread named [sakai housekeeper] but has failed to stop it. This is very
likely to create a memory leak. Stack trace of thread:
 sun.misc.Unsafe.park(Native Method)
 java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 java.lang.Thread.run(Thread.java:748)


Could you try assigning more memory? Like -Xmx4g

Regards
--
-----------------------------------------------
Miguel Pellicer
CTO at EDF

Website: https://www.edf.global
LinkedIn: https://www.linkedin.com/in/mpellicer-edf
Office Phone: +34 - 96 381 35 75
Request a meeting here: https://calendly.com/mpellicer
-----------------------------------------------

Markus Stetschnig

unread,
Mar 15, 2021, 12:29:34 PM3/15/21
to Miguel Pellicer, Sakai Development
Thanks so far Miguel!

This looks a lot better already, but i still get 404 on 127.0.0.1:8080...

What could that be?


Best regards

Markus
catalina.2021-03-15.log
catalina.out.2
localhost.2021-03-15.log
localhost_access_log.2021-03-15.txt

Miguel Pellicer

unread,
Mar 17, 2021, 8:28:38 AM3/17/21
to Markus Stetschnig, Sakai Development
Hi Markus, I don't see anything suspicous in the log, looks like started
well.

Could you try http://localhost:8080/portal or http://127.0.0.1:8080/portal

Miguel

Markus Stetschnig

unread,
Mar 23, 2021, 4:37:36 PM3/23/21
to saka...@apereo.org
Of course!

I totally forgot that. Meanwhile i wrote a Script to set it up and had
the same result...

At least something useful came out of the error search haha


Thanks Miguel!

Best regards

Kunal Jaykam

unread,
Feb 16, 2022, 7:18:48 AM2/16/22
to Sakai Development, Markus Stetschnig
Hey Guys, every time I am trying to start tomcat I get these errors

OS: Mac
Java11,
Apache Maven 3.6.3 
tomcat 9
MariaDB,
catalina.2022-02-16.log

Miguel Pellicer

unread,
Feb 16, 2022, 7:26:51 AM2/16/22
to Kunal Jaykam, Sakai Development, Markus Stetschnig

Could you paste your catalina.out file? It may reveal more than this file.

What version of Sakai are you trying to install?

Thanks

--
You received this message because you are subscribed to the Google Groups "Sakai Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sakai-dev+...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/sakai-dev/f4383c7f-5d51-4997-8202-eb6f9fb870f3n%40apereo.org.

Kunal Jaykam

unread,
Feb 16, 2022, 7:48:30 AM2/16/22
to Sakai Development, mpellicer, Markus Stetschnig, Kunal Jaykam
Thanks for the response, Miguel. 
catalina.out

Miguel Pellicer

unread,
Feb 16, 2022, 8:59:29 AM2/16/22
to Kunal Jaykam, Sakai Development, Markus Stetschnig

You cannot connect to your MariaDB instance.

Sakai does not support MariaDB officially, however, it does work, I'm running one MariaDB instance, check your DB configuration:

16-Feb-2022 07:05:11.064 [31mERROR [m [main] c.z.h.p.HikariPool.throwPoolInitializationException sakai - Exception during pool initialization.
java.sql.SQLTransientConnectionException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : RSA public key is not available client side (option serverRsaPublicKeyFile not set)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:79) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:197) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1394) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:635) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.MariaDbConnection.newConnection(MariaDbConnection.java:150) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.Driver.connect(Driver.java:89) ~[mariadb-java-client-2.7.5.jar:?]
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[HikariCP-4.0.3.jar:?]
    at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-4.0.3.jar:?]
    at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy.afterPropertiesSet(LazyConnectionDataSourceProxy.java:164) ~[spring-jdbc-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:330) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:113) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1707) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1452) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) [spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) [spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) [spring-beans-5.3.14.jar:5.3.14]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) [spring-context-5.3.14.jar:5.3.14]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) [spring-context-5.3.14.jar:5.3.14]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) [spring-context-5.3.14.jar:5.3.14]
    at org.sakaiproject.component.impl.SpringCompMgr.init(SpringCompMgr.java:164) [sakai-component-manager-23-SNAPSHOT.jar:23-SNAPSHOT]
    at org.sakaiproject.component.cover.ComponentManager.getInstance(ComponentManager.java:115) [sakai-component-manager-23-SNAPSHOT.jar:23-SNAPSHOT]
    at org.sakaiproject.component.impl.SakaiContextLoader.loadParentContext(SakaiContextLoader.java:97) [sakai-component-manager-23-SNAPSHOT.jar:23-SNAPSHOT]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:289) [spring-web-5.3.14.jar:5.3.14]
    at org.sakaiproject.util.SakaiContextLoaderListener.contextInitialized(SakaiContextLoaderListener.java:56) [sakai-component-manager-23-SNAPSHOT.jar:23-SNAPSHOT]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4768) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5230) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.58]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726) [catalina.jar:9.0.58]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1024) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911) [catalina.jar:9.0.58]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) [?:?]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.58]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118) [?:?]
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:825) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:475) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) [catalina.jar:9.0.58]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.58]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) [catalina.jar:9.0.58]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) [catalina.jar:9.0.58]
    at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) [tomcat-util.jar:9.0.58]
    at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) [?:?]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.58]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927) [catalina.jar:9.0.58]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:9.0.58]
    at org.apache.catalina.startup.Catalina.start(Catalina.java:772) [catalina.jar:9.0.58]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345) [bootstrap.jar:9.0.58]
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476) [bootstrap.jar:9.0.58]
Caused by: java.sql.SQLException: RSA public key is not available client side (option serverRsaPublicKeyFile not set)
    at org.mariadb.jdbc.internal.com.send.authentication.CachingSha2PasswordPlugin.process(CachingSha2PasswordPlugin.java:189) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authenticationHandler(AbstractConnectProtocol.java:757) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.createConnection(AbstractConnectProtocol.java:558) ~[mariadb-java-client-2.7.5.jar:?]
    at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1389) ~[mariadb-java-client-2.7.5.jar:?]
    ... 78 more

Kunal Jaykam

unread,
Feb 17, 2022, 6:55:25 AM2/17/22
to Sakai Development, mpellicer, Markus Stetschnig, Kunal Jaykam
Thank you so much, Miguel, you were right. It was one bad DB config. 

Best,
Kunal

Miguel Pellicer

unread,
Feb 17, 2022, 7:35:00 AM2/17/22
to Kunal Jaykam, Sakai Development, Markus Stetschnig
You're welcome! Awesome
Reply all
Reply to author
Forward
0 new messages