powered by Jive Software

3.3.3 -> 3.4.1 upgrade results in conference rooms being unavailable

I just upgraded, copied by old config, mod’d the bin/openfire script so it didn’t eat a gig of ram, added the DB2 database access jars and ran 3.4.1, spark client can connect without a problem, however, I had two rooms setup in 3.3.3, initially they werent listed. Now they are (coincidentally I was trying to recreate them but failed because they existed).

If I run the spark client (2.5.7 on linux AMD64) I can see my server listed in the Conferences tab, browse service lists the two rooms I can see through the web console Group Chat tab. Trying to join that room results in a 'Unable to join the room at this time: The room you are trying to enter does not exist).

So group chat is seemingly offline for me right now. Any ideas on how to work past this, other than dropping the database and starting from fresh, is it an upgrade issue or is it a problem with 3.4.1 ?

Bookmarking fails telling me it can ‘bookmark a temporary room’

Also, trying to update some of the checkbox settings on one of the group chat rooms resulted in:

Exception:

org.jivesoftware.openfire.muc.ConflictException
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.processConfigurationForm(IQOwnerHandler.java:365)
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.handleDataFormElement(IQOwnerHandler.java:311)
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.handleIQ(IQOwnerHandler.java:89)
     at org.jivesoftware.openfire.admin.muc_002droom_002dedit_002dform_jsp._jspService(muc_002droom_002dedit_002dform_jsp.java:288)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
     at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
     at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
     at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
     at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
     at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
     at org.mortbay.jetty.Server.handle(Server.java:313)
     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
     at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
     at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Rolling back to the 3.3.3 install sems to allow access to group chat. The Search now though doesnt work and locks the spark client up (though ldaop search and user listing works fine), UI freezes for ~5S the sens Unable to contact search service…

Same here yesterday.

My solution:

  • disable all plugins (maybe only the search plugin is enough). I just delete the *.jar file.

  • reenable the plugins. Copy *.jar files back to the plugin directory.

  • restart the openfire server.

After that, everything works fine for me.

No dice, I cleared out all plugins other than admin.

The sever seems to forget about the rooms that were created, only offering ‘lobby’ but trying to connect to that fails.

Via the web console, it only lists ‘lobby’, I try to add, oh ‘confluence’, and it says '!http://auk:9590/images/error-16x16.gif!

Error creating the room. A room with the request ID already exists.’, strange.

Even stranger, I now use the client to browse group chat and there is another group ‘confluence’, but I cant join it because apparently it doenst exist.

I think there are some problems with 3.4.1 , Ill wait for the next revision

Hi Andy! Are you seeing any exceptions or anything interesting in the logs when you try to join the room that does exist but doesn’t exist? How about when you try to add it? On my personal install, I tried running through this and I’m getting a different behavior … basically it’s saying I don’t have access to perform this action. Trying to track down why that’s occurring, but do you have this installed in a place where you could help us try to track down what’s going on?

Ok, it turns out my issue was due to overprotective access controls. =) I can not reproduce the issue you are running into at all. I’ve added and removed and edit groups to my hearts content. Nothing appears to be misbehaving. =/

I can confirm that search does not work “Unable to contact search service”. Logs on the client machine show:

SEVERE: Unable to load search services.

service-unavailable(503)

But I don’t see any errors on the server side of things.

-Joe

Hey Joe,

Do you have the search plugin installed in your server? Which client are you using? The Openfire server running in jivesoftware.com has the search plugin and you can use it for testing. I just used it from Exodus and it worked fine. You might also want to check the error logs on the server.

Thanks,

– Gato

yes, the search plugin is installed and configured correctly. (In fact I tested this with only that plugin installed)

Is there another way to connect to the search function to see if the issue is Openfire or Spark?

We are using Spark 2.5.7 and openfire 3.4.1 (spark 2.5.7 was working fine with openfire 3.3)

-Joe

Hey Joe,

As a quick test could you run Exodus and tell us what you see when you press F11? In Spark there is a similar browser that can be opened when pressing F8. In both cases you should see the User Search service. If you do then click on the magnifier button in Exodus and check if it works for you.

Thanks,

– Gato

I have the same problem, I think I have tried every possible thing, removing plugins, importing exporting database, deletint, removing, creating group chat, nothing. And when group chat is created I try to edit some values i got this:

org.jivesoftware.openfire.muc.ConflictException
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.processConfigurationForm(IQOwnerHandler.java:365)
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.handleDataFormElement(IQOwnerHandler.java:311)
     at org.jivesoftware.openfire.muc.spi.IQOwnerHandler.handleIQ(IQOwnerHandler.java:89)
     at org.jivesoftware.openfire.admin.muc_002droom_002dedit_002dform_jsp._jspService(muc_002droom_002dedit_002dform_jsp.java:288)
     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
     at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
     at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:65)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:41)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:69)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:98)
     at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
     at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
     at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
     at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
     at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
     at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
     at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
     at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
     at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
     at org.mortbay.jetty.Server.handle(Server.java:313)
     at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
     at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
     at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
     at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
     at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
     at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
     at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)

Hey Zvonimir,

I don’t think the problem you are having is related to the upgrade process. You are trying to configure a room and leave it without owners. Since you are editing the room from the admin console, the edit room page will just keep the list of room owners that the room previously had. That means that the room owners were empty before you edit the room. Could you edit the room from a client instead? Make sure that you specify a room owner and then edit it from the admin console to verify that you can edit rooms from the admin console.

Thanks,

– Gato

I even tried that, but when I delete room, then create the same room it says:

Error creating the room. A room with the request ID already exists

But room will be created anyway, then I try to “Allow Occupants to invite Others” or something else then it throws an Exception.

I cant reach group chat from client either… it says error 404 from miranda

Exodus shows the following:

Spark Updater, Yahoo! Transport, Socks 5 Bytestream, Public Chatrooms, Publish-Subscribe service, User Search, and AIM Transport.

Spark shows:

nothing.

-Joe

Hey Joe,

It seems to be a problem in Spark then. Yo should have been able to search users from Exodus then. BTW, which Spark version are you using? And how are you connecting to the server? Are you using the advanced window to indicate the server? Is the XMPP domain of your server registered in a DNS server? If you open the Spark debugger window and post here the XML that you exchange with the server at the moment of login and also when doing the server will probably help a lot.

Thanks,

– Gato

Oh, I did notice something. We usually log in with just the server name (IMSERVER) and not the FQDN of the server. If I put in the FQDN, then search seems to start working…but only on the windows build of SPARK…

Hey Zvonimir,

Just as a quick test. Could you create an entirely new room from the admin console and edit it? Also when you delete the room can you check that the room was in fact removed from the database (if it was persistent)?

Thanks,

– Gato

I can search via Exodus.

Spark version is 2.5.7 on mac, windows, and linux

We are not using the Advanced window. The Openfire server is listed in DNS but there are no SRV records (should there be?)

Again, this was all working with the earlier version of Openfire and the same versions of Spark.

Do you want the Raw Sent Packet output?

-Joe

Oh, I somehow managed to get it work. I deleted from database, then created some other room, then deleted it, then created another, and whoh it worked!

Thank you for your time, now everything is fine!