Project

General

Profile

Can not load XMPPProcessor implementations.

Dathan Pattishall
Added about 4 years ago

Everything was working, then cleaned up my own repo and this error started happening. Which XMPProcessor couldn't load. I turned off the reference to sm-plugins yet no luck recovering from this error? Any insight on what I should do to debug this issue?

Loading component: amp :: componentInfo{Title=Tigase XMPP Server, Version=7.0.0-SNAPSHOT-b3716/2163265b (2014-12-30/16:05:49), Class=tigase.server.amp.AmpComponent}
Loading component: bosh :: componentInfo{Title=Tigase XMPP Server, Version=7.0.0-SNAPSHOT-b3716/2163265b (2014-12-30/16:05:49), Class=tigase.server.bosh.BoshConnectionManager}
Loading component: c2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.0-SNAPSHOT-b3716/2163265b (2014-12-30/16:05:49), Class=tigase.server.xmppclient.ClientConnectionManager}
Loading component: monitor :: componentInfo{Title=Tigase XMPP Server, Version=7.0.0-SNAPSHOT-b3716/2163265b (2014-12-30/16:05:49), Class=tigase.server.monitor.MonitorComponent}
Loading component: s2s :: componentInfo{Title=Tigase XMPP Server, Version=7.0.0-SNAPSHOT-b3716/2163265b (2014-12-30/16:05:49), Class=tigase.server.xmppserver.S2SConnectionManager}
Can not load XMPPProcessor implementations                                                                             
java.lang.ArrayIndexOutOfBoundsException: 6                                                                            
  at tigase.xmpp.ProcessorFactory.<clinit>(ProcessorFactory.java:101)                                                  
  at tigase.server.xmppsession.SessionManagerConfig.getProcessor(SessionManagerConfig.java:358)                        
  at tigase.server.xmppsession.SessionManager.initBindings(SessionManager.java:545)                                    
  at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1116)                                                
  at tigase.server.BasicComponent.setProperties(BasicComponent.java:969)                                               
  at tigase.server.AbstractMessageReceiver.setProperties(AbstractMessageReceiver.java:1028)                            
  at tigase.server.xmppsession.SessionManager.setProperties(SessionManager.java:963)                                   
  at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:580)                                             
  at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:183)                                    
  at tigase.conf.Configurator.componentAdded(Configurator.java:50)                                                     
  at tigase.conf.Configurator.componentAdded(Configurator.java:33)                                                     
  at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)                    
  at tigase.server.MessageRouter.addComponent(MessageRouter.java:108)                                                  
  at tigase.server.MessageRouter.addRouter(MessageRouter.java:145)                                                     
  at tigase.server.MessageRouter.setProperties(MessageRouter.java:807)                                                 
  at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:580)                                             
  at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:183)                                    
  at tigase.conf.Configurator.componentAdded(Configurator.java:50)                                                     
  at tigase.conf.Configurator.componentAdded(Configurator.java:33)                                                     
  at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)                    
  at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:131)                                                
  at tigase.server.MessageRouter.setConfig(MessageRouter.java:700)                                                     
  at tigase.server.XMPPServer.start(XMPPServer.java:142)                                                               
  at tigase.server.XMPPServer.main(XMPPServer.java:112)                                                        

init.properties

--config-type=--gen-config-def                                                                                           
--admins=admin@shots.com,admin@localhost,admin,admin@shots.com                                                         
--virt-hosts=shots.com                                                                                                 
--vhost-anonymous-enabled=false                                                                                        
 --vhost-tls-required=false                                                                                             
#--debug=server,io,db,auth,cluster,message,xmpp,util,jdbc,db.jdbc,xmpp.impl.roster                                     
#--debug=xmpp.impl.roster,xmpp.impl.Presence,com.shots.xmpp.tigase,com.shots.xmpp.tigase.RosterFlat,com.shots.xmpp.tigase.MessageArchiveComponent,xmpp.impl,server,io
--debug=com.shots.xmpp.tigase,com.shots.xmpp.tigase.RosterFlat,com.shots.xmpp.tigase.MessageArchiveComponent,xmpp.impl,server,io
--user-db=mysql                                                                                                        
--user-db-uri=jdbc:mysql://localhost:3306/tigasedb?user=root&password=root&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true
--tigase.level=ALL                                                                                                     
--tigase.xml.level=INFO                                                                                                
--java.util.logging.ConsoleHandler.level=ALL                                                                           
--auth-db=com.shots.xmpp.tigase.ShotsCustomAuth                                                                        
--user-db=com.shots.xmpp.tigase.ShotsUserRepositoryImpl                                                                
--roster-implementation=com.shots.xmpp.tigase.RosterFlat                                                               
--domain-filter-policy=LOCAL                                                                                           
sess-man/plugins-conf/jabber\:iq\:roster/dynamic-roster-classes=com.shots.xmpp.tigase.ShotsRosterImpl                  
sess-man/plugins-conf/jabber\:iq\:roster/db-uri=jdbc:mysql://localhost/mydb?user=tigase&password=tigase                
sess-man/plugins-conf/jabber\:iq\:roster/default-domain=shots.com                                                      
sess-man/plugins-conf/jabber\:iq\:roster/pass-local-jids-to-queries=true                                               

sess-man/plugins-conf/presence/dynamic-roster-classes=com.shots.xmpp.tigase.ShotsRosterImpl                            
sess-man/plugins-conf/presence/db-uri=jdbc:mysql://localhost/mydb?user=tigase&password=tigase                          
sess-man/plugins-conf/presence/default-domain=shots.com                                                                
sess-man/plugins-conf/presence/pass-local-jids-to-queries=true                                                                                                                                                                                 
#--comp-name-5 = message-archive                                                                                       
#--comp-name-4 = rest                                                                                                  
#--comp-name-3 = stun                                                                                                  
#--comp-name-2 = pubsub                                                                                                
#--comp-name-1 = muc                                                                                                   
--sm-plugins = +shots-message-archive,+jabber:iq:auth,+urn:ietf:params:xml:ns:xmpp-sasl,+urn:ietf:params:xml:ns:xmpp-bind,+urn:ietf:params:xml:ns:xmpp-session,-jabber:iq:register,+jabber:iq:roster,+presence,-jabber:iq:privacy,+jabber:iq:version,+http://jabber.org/protocol/stats,+starttls,+msgoffline,-vcard-temp,+    ↪  http://jabber.org/protocol/commands,-jabber:iq:private,+urn:xmpp:ping,+basic-filter,+domain-filter,+pep,+zlib
#--comp-class-5 = com.shots.xmpp.tigase.MessageArchivePlugin                                                           
#--comp-class-4 = tigase.http.rest.RestMessageReceiver                                                                 
#--comp-class-3 = tigase.stun.StunComponent                                                                            
#--comp-class-2 = tigase.pubsub.cluster.PubSubComponentClustered                                                       
--java.util.logging.ConsoleHandler.level=ALL   

Replies (3)

Added by Dathan Pattishall about 4 years ago

Tracking down some tigase-console entries I see this

2014-12-30 16:39:53.576 [main] MessageRouter.addComponent() INFO: Adding component:

which should actually print the component name from this line:

log.log(Level.INFO, "Adding component: ", component.getClass().getSimpleName());

in MessageRouter.java::100

is there some sort of config issue?

Avatar?id=6023&size=32x32

Added by Artur Hefczyc TigaseTeam about 4 years ago

You should be aware that the repo is also used by components to store various kind of data, form a component configuration, statistics, to synchronization data. Therefore cleaning repo database may lead to unpredictable results. My suggestion is to recreate Tigase database from scratch as this may be easier than track down what is wrong.

Added by Dathan Pattishall about 4 years ago

So, it looks like my modified version of message archive caused this error. The message-archive plugin registers a component. My message archive plugin doesn't have a component yet. Yet the code I used as a roadmap told tigase to load a component. I don't understand how this is done yet but at some point I will as I pass the message-archive plugin packet to a component and figure out the right way to do it.

2015-01-05 14:10:32.861 [main] BasicComponent.loadScripts() CONFIG: Loading admin scripts for component: sess-man.

2015-01-05 14:10:51.166 [main] SessionManagerConfig.getProcessor() WARNING: Calling processorfactory for jabber:iq:register

2015-01-05 14:10:59.561 [main] ProcessorFactory.() SEVERE: Can not load XMPPProcessor implementations

java.lang.ArrayIndexOutOfBoundsException: 6

at tigase.xmpp.ProcessorFactory.<clinit>(ProcessorFactory.java:101)

at tigase.server.xmppsession.SessionManagerConfig.getProcessor(SessionManagerConfig.java:360)

at tigase.server.xmppsession.SessionManager.initBindings(SessionManager.java:545)

at tigase.server.BasicComponent.loadScripts(BasicComponent.java:1116)

at tigase.server.BasicComponent.setProperties(BasicComponent.java:969)

at tigase.server.AbstractMessageReceiver.setProperties(AbstractMessageReceiver.java:1028)

at tigase.server.xmppsession.SessionManager.setProperties(SessionManager.java:963)

at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:580)

at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:183)

at tigase.conf.Configurator.componentAdded(Configurator.java:50)

at tigase.conf.Configurator.componentAdded(Configurator.java:33)

at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)

at tigase.server.MessageRouter.addComponent(MessageRouter.java:108)

at tigase.server.MessageRouter.addRouter(MessageRouter.java:145)

at tigase.server.MessageRouter.setProperties(MessageRouter.java:807)

at tigase.conf.ConfiguratorAbstract.setup(ConfiguratorAbstract.java:580)

at tigase.conf.ConfiguratorAbstract.componentAdded(ConfiguratorAbstract.java:183)

at tigase.conf.Configurator.componentAdded(Configurator.java:50)

at tigase.conf.Configurator.componentAdded(Configurator.java:33)

at tigase.server.AbstractComponentRegistrator.addComponent(AbstractComponentRegistrator.java:116)

at tigase.server.MessageRouter.addRegistrator(MessageRouter.java:131)

at tigase.server.MessageRouter.setConfig(MessageRouter.java:700)

at tigase.server.XMPPServer.start(XMPPServer.java:142)

at tigase.server.XMPPServer.main(XMPPServer.java:112)

    (1-3/3)