Openfire 4.3.0 Alpha start by openfire.bat on windows show error when setup by Admin Console 'setup/setup-host-settings.jsp'

i use the master branch on gitHub
then i import it to IDEA and built it by maven: mvn clean package -Dmaven.test.skip=true
so i got the dic “\Openfire\distribution\target\distribution-base”
start it by [ bin\openfire.bat ] successfully
but when setup on page http://127.0.0.1:9090/setup/setup-host-settings.jsp it return the following mistakes~~~

I have tried various solutions such as change the project encoding as UTF-8 but can’t solved it.
Has anyone encountered this problem? Thanks~

2018.11.14 17:13:26 INFO [main]: org.jivesoftware.openfire.XMPPServer - Registering shutdown hook (standalone mode)
2018.11.14 17:13:26 INFO [main]: org.jivesoftware.openfire.XMPPServer - Openfire 4.3.0 Alpha [Nov 14, 2018 5:13:26 PM]
2018.11.14 17:13:26 WARN [pool-2-thread-1]: org.jivesoftware.openfire.container.AdminConsolePlugin - Admin console: CertificateStoreManager has not been initialized yet. HTTPS will be unavailable.
2018.11.14 17:13:27 INFO [pool-2-thread-1]: org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Favicon Misses
2018.11.14 17:13:27 INFO [pool-2-thread-1]: org.jivesoftware.util.cache.CacheFactory - Created cache [org.jivesoftware.util.cache.DefaultLocalCacheStrategy] for Favicon Hits
2018.11.14 17:13:27 INFO [pool-2-thread-1]: org.jivesoftware.openfire.container.AdminConsolePlugin - Admin console listening at http://10.39.74.116:9090
2018.11.14 17:13:27 INFO [pool-2-thread-1]: org.jivesoftware.openfire.container.PluginManager - Successfully loaded plugin ‘admin’.
2018.11.14 17:13:42 WARN [Jetty-QTP-AdminConsole-25]: org.eclipse.jetty.server.handler.ContextHandler.ROOT - Unhandled exception occurred whilst decorating page
org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content
at org.eclipse.jetty.server.Request.getParameters(Request.java:390) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.Request.getParameter(Request.java:1029) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.jivesoftware.util.ParamUtils.getParameter(ParamUtils.java:52) ~[xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.jivesoftware.util.ParamUtils.getParameter(ParamUtils.java:36) ~[xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.jivesoftware.openfire.admin.setup.setup_002dhost_002dsettings_jsp._jspService(setup_002dhost_002dsettings_jsp.java:143) ~[xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) ~[apache-jsp-8.5.24.2.jar:2.3]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) ~[sitemesh-2.4.2.jar:?]
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) [sitemesh-2.4.2.jar:?]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:73) [xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49) [xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:226) [xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:215) [xmppserver-4.3.0-SNAPSHOT.jar:4.3.0-SNAPSHOT]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [jetty-security-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) [jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.Server.handle(Server.java:503) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) [jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) [jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) [jetty-io-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) [jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
Caused by: org.eclipse.jetty.util.Utf8Appendable$NotUtf8Exception: Not valid UTF8! byte Bc in state 0
at org.eclipse.jetty.util.Utf8Appendable.appendByte(Utf8Appendable.java:253) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.Utf8Appendable.append(Utf8Appendable.java:158) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:522) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.util.UrlEncoded.decodeTo(UrlEncoded.java:577) ~[jetty-util-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.Request.extractFormParameters(Request.java:551) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.Request.extractContentParameters(Request.java:475) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
at org.eclipse.jetty.server.Request.getParameters(Request.java:386) ~[jetty-server-9.4.12.v20180830.jar:9.4.12.v20180830]
… 50 more
2018.11.14 17:13:42 WARN [Jetty-QTP-AdminConsole-25]: org.eclipse.jetty.server.HttpChannel - /setup/setup-host-settings.jsp org.eclipse.jetty.http.BadMessageException: 400: Unable to parse form content

I’ve seen a similar problem elsewhere (https://issues.igniterealtime.org/browse/OF-1632); what’s your locale?

I’m guessing it’s not English, and that is throwing things off. It should be sufficient to add the following directive

<%@ page contentType="text/html; charset=UTF-8" %>

At the top of /setup/setup-host-settings.jsp (cf. https://github.com/igniterealtime/Openfire/pull/1188/commits/bb24a8b3a98e97dce1a6d8c88fab96459bef734c) - can you try that, as you’ve got it going in your IDE?

Worst case is it probably needs it at the top of every JSP :frowning:

Thanks,

Greg

Thank you replay~
you are right
after post message here , i try add <%@ page contentType="text/html; charset=UTF-8" %> in every JSP
it had worked
Thanks
Pumpkin.Gan

Thanks for checking and confirming - I’ve raised https://issues.igniterealtime.org/browse/OF-1641

Greg