Projects tigase _server server-core Issues #621
Message Archive Management not working in Windows service mode (#621)
Closed
Vijay Kaimal opened 9 years ago
Due Date
2016-01-14

Base Bug : Bug #3735

Description :

When running XMPP server as windows service, tables for XEP-0313: Message Archive Management are not created (tig_ma_jids,tig_ma_msgs, tig_ma_msgs_tags,tig_ma_tags) and archive management is not working.

Everything seems to work fine when running in console mode.

I am using the nightly build from Dec 10,2016 as suggested in the Base bug.

Andrzej Wójcik (Tigase) commented 9 years ago

Tigase XMPP Server do not support XEP-0313 Message Archiving Management only XEP-0136 Message Archiving

I checked and wrapper.conf do not have entries to load Message Archiving component jar, so it will not work.

%wojtek - maybe we should somehow generate this file instead of having static version in repository? so it would autoupdate during compilation/packaging?

wojciech.kapcia@tigase.net commented 9 years ago

Andrzej Wójcik wrote:

wojtek - maybe we should somehow generate this file instead of having static version in repository? so it would autoupdate during compilation/packaging?

As discussed in #3735#note-3 - I've proposed using wildcards (I've briefly tested it and it worked for me) but %daniel said it has some issues. I think it would be most convenient approach.

Daniel Wisnewski commented 9 years ago

Tanuki wrapper does support wildcards natively now(with the upgraded version), so we can use that.

Condensing the java.classpath list to the following

wrapper.java.classpath.1=jars/wrapper.jar

wrapper.java.classpath.2=jars/*.jar

Wrapper must have wrapper.jar specified as a single classpath.

However, I run into the following error

INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: Encountered an error running main:
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.rest.RestServlet.init(RestServlet.groovy:58)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at javax.servlet.GenericServlet.init(GenericServlet.java:244)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.java.RequestHandler.registerServlet(RequestHandler.java:108)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.java.RequestHandler.<init>(RequestHandler.java:72)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:157)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.java.JavaStandaloneHttpServer.deploy(JavaStandaloneHttpServer.java:107)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.HttpServer.deploy(HttpServer.java:99)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.rest.RestModule.start(RestModule.java:143)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.HttpMessageReceiver.reconfigure(HttpMessageReceiver.java:273)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.http.HttpMessageReceiver.setProperties(HttpMessageReceiver.java:229)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:540)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:177)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.Configurator.componentAdded(Configurator.java:50)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.Configurator.componentAdded(Configurator.java:33)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.MessageRouter.addComponent(MessageRouter.java:108)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.MessageRouter.addRouter(MessageRouter.java:145)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.MessageRouter.setProperties(MessageRouter.java:698)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:540)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:177)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.Configurator.componentAdded(Configurator.java:50)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.conf.Configurator.componentAdded(Configurator.java:33)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:131)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.MessageRouter.setConfig(MessageRouter.java:597)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.XMPPServer.start(XMPPServer.java:142)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at tigase.server.XMPPServer.main(XMPPServer.java:112)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at java.lang.reflect.Method.invoke(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:325)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at java.lang.Thread.run(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.runtime.typehandling.ShortTypeHandling
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at java.net.URLClassLoader.findClass(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at java.lang.ClassLoader.loadClass(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	at java.lang.ClassLoader.loadClass(Unknown Source)
INFO   | jvm 1    | 2016/01/05 08:26:41 | WrapperSimpleApp Error: 	... 33 more
Andrzej Wójcik (Tigase) commented 9 years ago

This issue could be caused by old version of Groovy (old version of groovy-all.jar@) however in distribution we have new version @2.4.3 which is OK and it should be used.

As for now I suppose that there might be issue with order of classpath, ie. if Tigase HTTP API jar is loaded before groovy-all.jar then maybe it is not possible for HTTP API to use classes from groovy-all.jar? but I do not know how this wrapper actually work and I do not have Windows machine to check.

%daniel - could you check if following list of classpaths in wrapper.conf file will help?

wrapper.java.classpath.1=jars/wrapper.jar
wrapper.java.classpath.2=jars/groovy-all.jar
wrapper.java.classpath.3=jars/*.jar

This way we would force loading groovy-all.jar before other jars which may help.

Andrzej Wójcik (Tigase) commented 9 years ago

%kobit - please check http://wrapper.tanukisoftware.com/doc/english/licenseOverview.html for licensing options as I look on this we may not be able to use this wrapper for -dist builds as not all code is open sourced.

Daniel Wisnewski commented 9 years ago

%andrzej.wojcik the configuration listing you gave yields the same error, I'm including some more information prior to the error if it might help, I'm going to experiment with settings in the meantime.

INFO   | jvm 1    | 2016/01/08 08:53:47 | Loading component: pubsub :: componentInfo{Title=Tigase PubSub, Version=3.2.0-SNAPSHOT-b513/642f967a, Class=tigase.pubsub.PubSubComponent}
DEBUG  | wrapperp | 2016/01/08 08:53:47 | Send a packet PING : ping fffffe7c
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperManager Debug: Received a packet PING : ping fffffe7c
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperManager Debug: Send a packet PING : ping fffffe7c
INFO   | jvm 1    | 2016/01/08 08:53:48 | 2016-01-08 08:53:48.019 [WrapperSimpleAppMain]  ConfigRepository.setProperties()  WARNING: Items list is not set in the configuration file!!
DEBUG  | wrapperp | 2016/01/08 08:53:48 | read a packet PING : ping fffffe7c
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperSimpleApp: 
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperSimpleApp Error: Encountered an error running main:
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperSimpleApp Error: java.lang.NoClassDefFoundError: org/codehaus/groovy/runtime/typehandling/ShortTypeHandling
INFO   | jvm 1    | 2016/01/08 08:53:48 | WrapperSimpleApp Error: 	at tigase.http.rest.RestServlet.init(RestServlet.groovy:58)
Daniel Wisnewski commented 9 years ago

%wojtek I've tried a number of settings and configurations for loading Tigase VIA wrapper, but any time a wildcard is invoked, it results in the same error when loading pubsub component. Even if the tigase-pubsub.jar is specifically listed in the wrapper.conf the, I still get the same error when pubsub component is loaded. I'm not sure if the calls to groovy files are relative (i.e. uses the call to tigase-pubsub.jar as the reference point). Loading order seems to not effect changes either as renaming jar files using numbers yielded no changes.

We have two options to proceed I think:

  1. write wrapper.conf to load proper files, without using wildcards

  2. investigate loading of groovy files in pubsub component.

wojciech.kapcia@tigase.net commented 9 years ago

Daniel Wisnewski wrote:

Tanuki wrapper does support wildcards natively now(with the upgraded version), so we can use that.

Which updated version? Why?

I've tried latest nightly installer: tigase-issue #7.1.0-SNAPSHOT-b4127.exe with rather default installation, afterwards I've tried installing the service, run the server, removed the service (it shouldn't matter, but just to have clear picture).

Then I've opened tigase-server/wrapper.conf file, changed it's config to:

# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=jars/*.jar


# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=jars
STATUS | wrapperm | 2016/01/11 09:55:55 | Tigase XMPP server service removed.
STATUS | wrapperm | 2016/01/11 09:56:23 | Tigase XMPP server service installed.
STATUS | wrapper  | 2016/01/11 09:56:30 | --> Wrapper Started as Service
STATUS | wrapper  | 2016/01/11 09:56:31 | Java Service Wrapper Community Edition 32-bit 3.5.26
STATUS | wrapper  | 2016/01/11 09:56:31 |   Copyright (C) 1999-2014 Tanuki Software, Ltd. All Rights Reserved.
STATUS | wrapper  | 2016/01/11 09:56:31 |     http://wrapper.tanukisoftware.com
STATUS | wrapper  | 2016/01/11 09:56:31 | 
STATUS | wrapper  | 2016/01/11 09:56:31 | Launching a JVM...
INFO   | jvm 1    | 2016/01/11 09:56:31 | WrapperManager: Initializing...
INFO   | jvm 1    | 2016/01/11 09:56:31 | componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.xml.XMLUtils}
INFO   | jvm 1    | 2016/01/11 09:56:31 | componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.util.ClassUtil}
INFO   | jvm 1    | 2016/01/11 09:56:31 | componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.server.XMPPServer}
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.577 [WrapperSimpleAppMain]  DNSResolver.<clinit>()        WARNING:  Resolving default host name: ns501254 took: 859
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Setting defaults: --property-file = etc/init.properties
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Loading initial properties from property file: etc/init.properties
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--cluster-mode=true)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (config-type=--gen-config-def)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--debug=server)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--user-db=sqlserver)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--admins=admin@ns501254)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--user-db-uri=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--virt-hosts=ns501254)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-name-4=message-archive)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-class-4=tigase.archive.MessageArchiveComponent)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-name-3=proxy)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-class-3=tigase.socks5.Socks5ProxyComponent)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-name-2=pubsub)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-class-2=tigase.pubsub.PubSubComponent)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-class-1=tigase.muc.MUCComponent)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--comp-name-1=muc)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.593 [WrapperSimpleAppMain]  ConfiguratorAbstract.parseArgs()  CONFIG: Added default config parameter: (--sm-plugins=+message-archive-xep-0136)
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  AbstractMessageReceiver.setMaxQueueSize()  FINEST: message-router maxQueueSize: 1,267, maxInQueueSize: 78, maxOutQueueSize: 2,534
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  MessageRouter.addRegistrator()  INFO:   Adding registrator: Configurator
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  MessageRouter.addComponent()  INFO:     Adding component: 
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  ConfiguratorAbstract.componentAdded()  CONFIG:  component: basic-conf
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  ConfiguratorAbstract.setup()  CONFIG:   Setting up component: basic-conf
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  ConfiguratorAbstract.setup()  CONFIG:   Component basic-conf defaults: {component-id=basic-conf@ns501254, def-hostname=ns501254, admins=[Ljava.lang.String;@4b9164, scripts-dir=scripts/admin, command/ALL=ADMIN, logging/.level=CONFIG, logging/handlers=java.util.logging.ConsoleHandler java.util.logging.FileHandler, logging/java.util.logging.ConsoleHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.ConsoleHandler.level=WARNING, logging/java.util.logging.FileHandler.append=true, logging/java.util.logging.FileHandler.count=5, logging/java.util.logging.FileHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.FileHandler.limit=10000000, logging/java.util.logging.FileHandler.pattern=logs/tigase.log, logging/tigase.useParentHandlers=true, logging/java.util.logging.FileHandler.level=ALL, logging/tigase.server.level=ALL, user-domain-repo-pool=tigase.db.UserRepositoryMDImpl, auth-domain-repo-pool=tigase.db.AuthRepositoryMDImpl, user-repo-pool-size=10, data-repo-pool-size=10, user-repo-class=sqlserver, user-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, auth-repo-class=tigase.db.jdbc.TigaseCustomAuth, auth-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, ssl-container-class=tigase.io.SSLContextContainer, ssl-certs-location=certs/, ssl-def-cert-domain=default, config-dump-file=etc/config-dump.properties}
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.609 [WrapperSimpleAppMain]  ConfiguratorAbstract.setup()  CONFIG:   Component basic-conf configuration: {component-id=basic-conf@ns501254, def-hostname=ns501254, admins=[Ljava.lang.String;@4b9164, scripts-dir=scripts/admin, command/ALL=ADMIN, logging/.level=CONFIG, logging/handlers=java.util.logging.ConsoleHandler java.util.logging.FileHandler, logging/java.util.logging.ConsoleHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.ConsoleHandler.level=WARNING, logging/java.util.logging.FileHandler.append=true, logging/java.util.logging.FileHandler.count=5, logging/java.util.logging.FileHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.FileHandler.limit=10000000, logging/java.util.logging.FileHandler.pattern=logs/tigase.log, logging/tigase.useParentHandlers=true, logging/java.util.logging.FileHandler.level=ALL, logging/tigase.server.level=ALL, user-domain-repo-pool=tigase.db.UserRepositoryMDImpl, auth-domain-repo-pool=tigase.db.AuthRepositoryMDImpl, user-repo-pool-size=10, data-repo-pool-size=10, user-repo-class=sqlserver, user-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, auth-repo-class=tigase.db.jdbc.TigaseCustomAuth, auth-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, ssl-container-class=tigase.io.SSLContextContainer, ssl-certs-location=certs/, ssl-def-cert-domain=default, config-dump-file=etc/config-dump.properties}
INFO   | jvm 1    | 2016/01/11 09:56:32 | 2016-01-11 09:56:32.624 [WrapperSimpleAppMain]  ConfiguratorAbstract.setProperties()  INFO: Propeties size is 33, and here are all propeties: {component-id=basic-conf@ns501254, def-hostname=ns501254, admins=[Ljava.lang.String;@4b9164, scripts-dir=scripts/admin, command/ALL=ADMIN, logging/.level=CONFIG, logging/handlers=java.util.logging.ConsoleHandler java.util.logging.FileHandler, logging/java.util.logging.ConsoleHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.ConsoleHandler.level=WARNING, logging/java.util.logging.FileHandler.append=true, logging/java.util.logging.FileHandler.count=5, logging/java.util.logging.FileHandler.formatter=tigase.util.LogFormatter, logging/java.util.logging.FileHandler.limit=10000000, logging/java.util.logging.FileHandler.pattern=logs/tigase.log, logging/tigase.useParentHandlers=true, logging/java.util.logging.FileHandler.level=ALL, logging/tigase.server.level=ALL, user-domain-repo-pool=tigase.db.UserRepositoryMDImpl, auth-domain-repo-pool=tigase.db.AuthRepositoryMDImpl, user-repo-pool-size=10, data-repo-pool-size=10, user-repo-class=sqlserver, user-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, auth-repo-class=tigase.db.jdbc.TigaseCustomAuth, auth-repo-url=jdbc:jtds:sqlserver://localhost;databaseName=tigaseWrapperTest;user=tigaseWrapperTest;password=tigaseWrapperTest;schema=dbo;lastUpdateCount=false;cacheMetaData=false, ssl-container-class=tigase.io.SSLContextContainer, ssl-certs-location=certs/, ssl-def-cert-domain=default, config-dump-file=etc/config-dump.properties, shared-user-repo=null, shared-user-repo-params=null, shared-auth-repo=null, shared-auth-repo-params=null}
INFO   | jvm 1    | 2016/01/11 09:56:35 | 2016-01-11 09:56:35.691 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:36 | 2016-01-11 09:56:36.098 [WrapperSimpleAppMain]  VHostManager.setProperties()  WARNING:  {ns501254=Domain: ns501254, enabled: true, anonym: true, register: true, maxusers: 0, tls: false, s2sSecret: 981668fa-171a-44d8-958d-c2b90e9164ea, domainFilter: ALL, domainFilterDomains: null, c2sPortsAllowed: null, saslAllowedMechanisms: null}
INFO   | jvm 1    | 2016/01/11 09:56:36 | 2016-01-11 09:56:36.301 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:36 | Loading component: amp :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.AmpComponentClustered}
INFO   | jvm 1    | 2016/01/11 09:56:36 | Loading component: bosh :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.BoshConnectionClustered}
INFO   | jvm 1    | 2016/01/11 09:56:36 | Loading component: c2s :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.ClientConnectionClustered}
INFO   | jvm 1    | 2016/01/11 09:56:36 | Loading component: cl-comp :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.ClusterConnectionManager}
INFO   | jvm 1    | 2016/01/11 09:56:36 | 2016-01-11 09:56:36.849 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:36 | Loading component: eventbus :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.disteventbus.component.EventBusComponent}
INFO   | jvm 1    | 2016/01/11 09:56:37 | Loading component: message-archive :: componentInfo{Title=Tigase Message Archiving Component, Version=1.2.0-SNAPSHOT-b101/8d8aee33-7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.archive.MessageArchiveComponent}
INFO   | jvm 1    | 2016/01/11 09:56:37 | 2016-01-11 09:56:37.412 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:37 | 2016-01-11 09:56:37.412 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:37 | 2016-01-11 09:56:37.412 [WrapperSimpleAppMain]  ConfigRepository.setProperties()  WARNING: Items list is not set in the configuration file!!
INFO   | jvm 1    | 2016/01/11 09:56:37 | 2016-01-11 09:56:37.427 [WrapperSimpleAppMain]  MonitorComponent.setProperties()  WARNING: Monitoring Tasks: {} with items: {}
INFO   | jvm 1    | 2016/01/11 09:56:37 | Loading component: monitor :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.monitor.MonitorComponent}
INFO   | jvm 1    | 2016/01/11 09:56:37 | 2016-01-11 09:56:37.677 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:37 | Loading component: muc :: componentInfo{Title=Tigase MUC, Version=2.4.0-SNAPSHOT-b407/0bb04837-7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.muc.MUCComponent}
INFO   | jvm 1    | 2016/01/11 09:56:37 | Loading component: proxy :: componentInfo{Title=Tigase Socks5 Component, Version=1.2.0-SNAPSHOT-b54/429715f7, Class=tigase.socks5.Socks5ProxyComponent}
INFO   | jvm 1    | 2016/01/11 09:56:38 | 2016-01-11 09:56:38.737 [WrapperSimpleAppMain]  SimpleCache.<init>()          WARNING:  Tigase cache turned off.
INFO   | jvm 1    | 2016/01/11 09:56:38 | Loading component: pubsub :: componentInfo{Title=Tigase PubSub, Version=3.2.0-SNAPSHOT-b513/642f967a, Class=tigase.pubsub.PubSubComponent}
INFO   | jvm 1    | 2016/01/11 09:56:39 | Loading component: s2s :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.server.xmppserver.S2SConnectionManager}
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: session-close=4:3167 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: session-open=4:3167 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: default-handler=4:3167 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:register=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:auth=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: urn:ietf:params:xml:ns:xmpp-sasl=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: urn:ietf:params:xml:ns:xmpp-bind=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: urn:ietf:params:xml:ns:xmpp-session=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:roster=16:791 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:privacy=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:version=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: http://jabber.org/protocol/stats=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: starttls=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: vcard-temp=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: http://jabber.org/protocol/commands=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: jabber:iq:private=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: urn:xmpp:ping=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: presence-state=16:791 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: presence-subscription=16:791 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: disco=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: zlib=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: amp=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: message-carbons=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: vcard-xep-0292=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: urn:xmpp:time=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading plugin: message-archive-xep-0136=8:1583 ... 	, version: 7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38)
INFO   | jvm 1    | 2016/01/11 09:56:40 | MA LOADED = message-archive@ns501254
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading component: sess-man :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.SessionManagerClustered, componentData={ClusteringStrategy=class tigase.cluster.strategy.DefaultClusteringStrategy}}
INFO   | jvm 1    | 2016/01/11 09:56:40 | Loading component: ws2s :: componentInfo{Title=Tigase XMPP Server, Version=7.1.0-SNAPSHOT-b4127/46ed9144 (2016-01-11/11:10:38), Class=tigase.cluster.WebSocketClientConnectionClustered}
INFO   | jvm 1    | 2016/01/11 09:56:40 | 2016-01-11 09:56:40.081 [WrapperSimpleAppMain]  ConfigurationCache.store()    WARNING:  Dumping server configuration to: etc/config-dump.properties
INFO   | jvm 1    | 2016/01/11 10:01:34 | ShutdownThread started...
INFO   | jvm 1    | 2016/01/11 10:01:34 | == Removing cluster_nodes item: ns501254
INFO   | jvm 1    | 2016/01/11 10:01:34 | vhost-man/Number of VHosts = 1
INFO   | jvm 1    | 2016/01/11 10:01:34 | vhost-man/Checks: is local domain = 0
…

Can you check, that you have groovy libraries in the jars/ directory present? This would be different issue than wildcard in the service wrapper configuration.

Daniel Wisnewski commented 9 years ago

Wojciech Kapcia wrote:

Daniel Wisnewski wrote:

Tanuki wrapper does support wildcards natively now(with the upgraded version), so we can use that.

Which updated version? Why?

Older versions of Tigase had Tanuki wrapper v2.7.1, wildcards were not supported until v3.3.8 which is now enabled since we last updated in #3449

I've tried latest nightly installer: tigase-issue #7.1.0-SNAPSHOT-b4127.exe with rather default installation, afterwards I've tried installing the service, run the server, removed the service (it shouldn't matter, but just to have clear picture).

Then I've opened tigase-server/wrapper.conf file, changed it's config to:

[...] installed the service again, started it and it worked:

Can you check, that you have groovy libraries in the jars/ directory present? This would be different issue than wildcard in the service wrapper configuration.

I repeated the same actions as you on two windows machines, however I still got that error. groovy-all.jar is in the jars directory (are any others required for groovy?), and using the currently configured wrapper.conf file, the servers start up.

Configuration-wise defaults except for enabling HTTP API, and using derbyDB. MySQL shows the same error. (I don't think the issue is DB related).

wojciech.kapcia@tigase.net commented 9 years ago

Daniel Wisnewski wrote:

Older versions of Tigase had Tanuki wrapper v2.7.1, wildcards were not supported until v3.3.8 which is now enabled since we last updated in #3449

OK, I'm sticking with what we are distributing.

I've tried latest nightly installer: tigase-issue #7.1.0-SNAPSHOT-b4127.exe with rather default installation, afterwards I've tried installing the service, run the server, removed the service (it shouldn't matter, but just to have clear picture).

Then I've opened tigase-server/wrapper.conf file, changed it's config to:

[...] installed the service again, started it and it worked:

Can you check, that you have groovy libraries in the jars/ directory present? This would be different issue than wildcard in the service wrapper configuration.

I repeated the same actions as you on two windows machines, however I still got that error. groovy-all.jar is in the jars directory (are any others required for groovy?), and using the currently configured wrapper.conf file, the servers start up.

Configuration-wise defaults except for enabling HTTP API, and using derbyDB. MySQL shows the same error. (I don't think the issue is DB related).

OK, I've done 'next-next-next' installation, changed the wrapper.conf and it works (both on our test windows server as well as my home computer). Can you share details of your installation (architecture, operating system version, which Java do you use and for which architecture) as well resulting list of files after installation?

D:\dev\___tigase_dl\inst\jars>dir

 Directorio de D:\dev\___tigase_dl\inst\jars

11.01.2016  22:50    <DIR>          .
11.01.2016  22:50    <DIR>          ..
11.01.2016  11:10         2 703 892 derby.jar
11.01.2016  11:10           174 932 derbytools.jar
11.01.2016  11:10         6 317 783 groovy-all.jar
11.01.2016  11:15            45 024 hamcrest-core.jar
11.01.2016  11:17         2 551 273 jdmkrt.jar
11.01.2016  11:15            67 625 jstun.jar
11.01.2016  11:15           317 816 jtds.jar
11.01.2016  11:15            27 205 licence-lib.jar
11.01.2016  11:15           590 996 mongo-java-driver.jar
11.01.2016  11:10           703 265 mysql-connector-java.jar
11.01.2016  11:10           551 290 postgresql.jar
11.01.2016  11:15            67 842 tigase-acs-muc.jar
11.01.2016  11:15            36 470 tigase-acs-pubsub.jar
11.01.2016  11:15            61 346 tigase-acs.jar
11.01.2016  11:15            43 574 tigase-extras.jar
11.01.2016  11:15            68 115 tigase-message-archiving.jar
11.01.2016  11:15            58 625 tigase-mongodb.jar
11.01.2016  11:15           158 097 tigase-muc.jar
11.01.2016  11:15           274 716 tigase-pubsub-2.2.0.jar.old
11.01.2016  11:15           369 137 tigase-pubsub.jar
11.01.2016  11:17         2 166 915 tigase-server.jar
11.01.2016  11:15            60 349 tigase-socks5.jar
11.01.2016  11:15             8 679 tigase-stats-collector-library.jar
11.01.2016  11:15             7 714 tigase-stats-collector-provider.jar
11.01.2016  11:15            12 508 tigase-stun.jar
11.01.2016  11:10           251 672 wrapper.dll
11.01.2016  11:10           123 204 wrapper.jar
              27 archivos     17 820 064 bytes
               2 dirs  14 209 241 088 bytes libres

I think that as a last resort we could have an online session....

Daniel Wisnewski commented 9 years ago

Both copies are Windows 7 x64 (one running on a clean environment in vmware), Java is Oracle JDK v8u65 (x86)

File list:

C:\Tigase\jars>dir
 Volume in drive C has no label.
 Volume Serial Number is 1AF6-EFF8

 Directory of C:\Tigase\jars

01/11/2016  09:04 AM    <DIR>          .
01/11/2016  09:04 AM    <DIR>          ..
01/11/2016  02:10 AM         2,703,892 derby.jar
01/11/2016  02:10 AM           174,932 derbytools.jar
01/11/2016  02:10 AM         6,317,783 groovy-all.jar
01/11/2016  02:15 AM            45,024 hamcrest-core.jar
01/11/2016  02:17 AM            95,806 javax.servlet-api.jar
01/11/2016  02:17 AM         2,551,273 jdmkrt.jar
01/11/2016  02:17 AM           104,208 jetty-http.jar
01/11/2016  02:17 AM           103,849 jetty-io.jar
01/11/2016  02:17 AM            96,085 jetty-security.jar
01/11/2016  02:17 AM           407,558 jetty-server.jar
01/11/2016  02:17 AM           112,146 jetty-servlet.jar
01/11/2016  02:17 AM           341,528 jetty-util.jar
01/11/2016  02:15 AM            67,625 jstun.jar
01/11/2016  02:15 AM           317,816 jtds.jar
01/11/2016  02:15 AM            27,205 licence-lib.jar
01/11/2016  02:15 AM           590,996 mongo-java-driver.jar
01/11/2016  02:10 AM           703,265 mysql-connector-java.jar
01/11/2016  02:10 AM           551,290 postgresql.jar
01/11/2016  02:15 AM            67,842 tigase-acs-muc.jar
01/11/2016  02:15 AM            36,470 tigase-acs-pubsub.jar
01/11/2016  02:15 AM            61,346 tigase-acs.jar
01/11/2016  02:15 AM            43,574 tigase-extras.jar
01/11/2016  02:15 AM           261,412 tigase-http-api.jar
01/11/2016  02:15 AM            68,115 tigase-message-archiving.jar
01/11/2016  02:15 AM            58,625 tigase-mongodb.jar
01/11/2016  02:15 AM           158,097 tigase-muc.jar
01/11/2016  02:15 AM           274,716 tigase-pubsub-2.2.0.jar.old
01/11/2016  02:15 AM           369,137 tigase-pubsub.jar
01/11/2016  02:17 AM         2,166,915 tigase-server.jar
01/11/2016  02:15 AM            60,349 tigase-socks5.jar
01/11/2016  02:15 AM             8,679 tigase-stats-collector-library.jar
01/11/2016  02:15 AM             7,714 tigase-stats-collector-provider.jar
01/11/2016  02:15 AM            12,508 tigase-stun.jar
01/11/2016  02:15 AM         8,755,058 tigase-web-ui.war
01/11/2016  02:10 AM           251,672 wrapper.dll
01/11/2016  02:10 AM           123,204 wrapper.jar
              36 File(s)     28,097,714 bytes
               2 Dir(s)  10,034,352,128 bytes free

I also tried the same installation on a 3rd machine, Windows 7 x64, Oracle JDK v8_u51 x64 with the same result.

Again in all machines if the jar files were specified without using wildcards, no issues.

wojciech.kapcia@tigase.net commented 9 years ago

Daniel Wisnewski wrote:

Both copies are Windows 7 x64 (one running on a clean environment in vmware), Java is Oracle JDK v8u65 (x86)

I've tried Windows Server 2012 and Windows 10tp2, both x64 but I doubt this could make such big difference.

I also tried the same installation on a 3rd machine, Windows 7 x64, Oracle JDK v8_u51 x64 with the same result.

I've noticed there is some problem with the wrapper while using x64 JDK.

wojciech.kapcia@tigase.net commented 9 years ago

OK, it turned out that the problem was cause by the older version of groovy-all.jar which was bundled with the installer. We've corrected the shellscript that prepares the dependencies to foribly override all files always and with that in mind we also changed the wrapper config to utilize wildcard for classpath creation.

Daniel Wisnewski commented 9 years ago

New build works OK with wildcards, and all included components are functional. Vijay, please give a try to latest build 4128 or later and let us know if it works for you.

Artur Hefczyc commented 9 years ago

No feedback, assuming it is working now.

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
RedmineID
3800
Version
tigase-server-7.1.0
Spent time
30h
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#621
Please wait...
Page is in error, reload to recover