Xwiki docker error

I installed the xwiki docker solution from this wiki page https://github.com/xwiki/xwiki-docker/blob/master/README.md#using-docker-run. After many new beginnings it finally worked (always error 500 at 50% initialization) that the config page appeared. Then configured and wiki built. After restarting the container now this, error 500:

Type Exception Report

Message Failed to execute the action with name [view]

Beschreibung The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

javax.servlet.ServletException: Failed to execute the action with name [view]
	com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:116)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
	org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
	org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
	org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
Root Cause

com.xpn.xwiki.XWikiException: Error number 11007 in 0: Failed to extract Entity Resource Reference from URL [http://192.168.2.74:8080/bin/view/Main/]
	com.xpn.xwiki.XWiki.initializeResourceFromURL(XWiki.java:1106)
	com.xpn.xwiki.XWiki.getXWiki(XWiki.java:952)
	com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:429)
	com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
	com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:114)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
	com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
	org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
	org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
	org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
	org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
	org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
Root Cause

java.lang.RuntimeException: Failed to locate wiki descriptor for alias [192.168.2.74]
	org.xwiki.url.internal.standard.AbstractWikiReferenceExtractor.getWikiDescriptorByAlias(AbstractWikiReferenceExtractor.java:82)
	org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.resolveDomainBasedWikiReference(DomainWikiReferenceExtractor.java:61)
	org.xwiki.url.internal.standard.DomainWikiReferenceExtractor.extract(DomainWikiReferenceExtractor.java:47)
	org.xwiki.url.internal.standard.entity.BinEntityResourceReferenceResolver.extractWikiReference(BinEntityResourceReferenceResolver.java:51)
	org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:87)
	org.xwiki.url.internal.standard.entity.AbstractEntityResourceReferenceResolver.resolve(AbstractEntityResourceReferenceResolver.java:50)
	org.xwiki.url.internal.GenericResourceReferenceResolver.resolve(GenericResourceReferenceResolver.java:61)
	...... see log attached .......

Database is up and running, can login from shell.

it doesn’t seem to be a stable solution with docker and the wiki method. I have tried to setup on a fresh debian machine, only docker installed and on an other debian server. Mostly error 500

_xwiki_logs.txt (9.9 KB)
browser error.txt (51.6 KB)

Crazy. I need to login to the database in the MySQL container and after that xwiki starts working.
During the deployment attempt it only worked after logging into the database.

it’s a bug

From your log the error is Public Key Retrieval is not allowed, see:

Caused by: org.hibernate.HibernateException: Could not create a DBCP pool. There is an error in the Hibernate configuration file, please review it.
	at com.xpn.xwiki.store.DBCPConnectionProvider.configure(DBCPConnectionProvider.java:242)
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:107)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:246)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:214)
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:146)
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
	at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
	at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:101)
	at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:263)
	... 44 common frames omitted
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (Public Key Retrieval is not allowed)
	at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:653)
	at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:531)
	at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:731)
	at com.xpn.xwiki.store.DBCPConnectionProvider.configure(DBCPConnectionProvider.java:225)
	... 52 common frames omitted
Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:111)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:819)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188)
	at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:52)
	at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:374)
	at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:106)
	at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:649)
	... 55 common frames omitted
Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed
	at jdk.internal.reflect.GeneratedConstructorAccessor112.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:86)
	at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130)
	at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:443)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:213)
	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1430)
	at com.mysql.cj.NativeSession.connect(NativeSession.java:134)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:939)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:809)
	... 62 common frames omitted

See for example Connection Java - MySQL : Public Key Retrieval is not allowed - Stack Overflow

Thx, pointed me in the right direction

this 3 year old bug should slowy be fixed in container releases…/ doku
should the goal of xwiki doku not be proper running system?

the problem is the same. without login to database manually, xwiki don’t starts propper. the option was set.

Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed
	at jdk.internal.reflect.GeneratedConstructorAccessor112.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62)
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:86)
	at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130)
	at com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:443)
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:213)
	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1430)
	at com.mysql.cj.NativeSession.connect(NativeSession.java:134)
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:939)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:809)
	... 76 common frames omitted
2023-11-02 19:16:46,911 [XWiki initialization] INFO  .HibernateDataMigrationManager - Storage schema updates and data migrations are enabled 
2023-11-02 19:16:46,931 [XWiki initialization] INFO  .HibernateDataMigrationManager - No data migration to apply for wiki [xwiki] currently in version [141016001] 
2023-11-02 19:16:46,931 [XWiki initialization] INFO  .HibernateDataMigrationManager - Checking Hibernate mapping and updating schema if needed for wiki [xwiki] 
2023-11-02 19:16:54,410 [solr/indexer job group daemon thread - org.xwiki.search.solr.internal.job.IndexerJob@1a9d6ca([solr, indexer])] INFO  o.x.s.s.i.j.IndexerJob         - Starting job of type [solr.indexer] with identifier [[solr, indexer]] 
2023-11-02 19:16:56,095 [solr/indexer job group daemon thread - org.xwiki.search.solr.internal.job.IndexerJob@1a9d6ca([solr, indexer])] INFO  o.x.s.s.i.j.IndexerJob         - 0 documents added, 0 deleted and 0 updated during the synchronization of the Solr index. 
2023-11-02 19:16:56,097 [solr/indexer job group daemon thread - org.xwiki.search.solr.internal.job.IndexerJob@1a9d6ca([solr, indexer])] INFO  o.x.s.s.i.j.IndexerJob         - Finished job of type [solr.indexer] with identifier [[solr, indexer]]

In the logs is a loop with Public Key Retrieval is not allowed

2023-11-02 19:16:46,911 → there was my login into the database, after this time it runs from 50% initialization up to 100%

WDYM by “doku”?

FYI, I’m fixing this in the default XWiki docker image, so that allowPublicKeyRetrieval=true is set by default.

Fixed in Loading...

1 Like