powered by Jive Software

Upgrade Bugs (?)

Search service does not seem to work with Openfire 3.4.1 and Spark 2.5.7 “UNABLE TO CONTACT SEARCH SERVICE”

I have tried re-install of the search plugin to no avail.

The web-based JAR plugin upload fails every time. I’ll try to follow up with the server log message when I can get it.


Hi Will,

are you using also other plugins which you could delete / update?


I’ve deleted or upgraded everything.

Upgraded: Enterprise, Search, Broadcast

Deleted: Presence Service, Sparkweb

Added: Fastpath

Im using Windows 2003, forgot to mention that before. Also, it might not have been clear that the JAR upload issue is seperate from the search issue.

Same here. I just updated to Openfire 3.4.1 and now user search doesn’t seem to work. I just get a

+" Unable to contact search service" +

Just to add, there were some ( same spark client version) who for a time were still having sucess in user search, but after they have logged out and logged back in, search stopped working too.

Search still works using the Exodus client though

I’m having the same issue.


Looks like Openfire is not responding to search.servername


This is happening to me as well. It only seems to have started once I upgraded to the newest version of Openfire.

I have reloaded the search plugin as well to no avail.

I believe that this is a bug with Spark. Openfire 3.4.1now has a conference search service as well as a user search and Spark doesn’t handle this appropriately. It ends up sending to the conference search. If you turn the debugger on in Spark and watch the packets that get sent when you try a search, my guess is that you will see the packets being sent to the conference service.

This bug is logged at http://www.igniterealtime.org/issues/browse/SPARK-874 and is fixed for Spark 2.5.8

Please try out 2.5.8, released a moment ago!!!

I have updated my spark but I am still getting the error, but now I have noticed that I am getting it twice.

I have rebooted the server and reinstalled the plugin again. I still cannot get it to work.

Nope, no go. “Unable to Contact Search Service” still.


When you perform the search, do you see a popup window labeled “Person Search” and does it say something like “search.myserver.org” up top? It almost sounds like the search plugin isn’t installed or enabled for some reason. Hrm. Would you mind starting Spark in debug mode (there’s a checkbox under Advanced on the login screen) and getting a quick snapshot of the traffic between your client and the server?

The box that I get says at the top in blue “Notification”, then in the box it says Unable to contact search service.

Here is the bug report from the Raw packets sent area. I have replaced my server name with My Server.

Not sure if you want the report from a diffrent area as well, if so just let me know,

<stream:stream to=“My Server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>

<starttls xmlns=“urn:ietf:params:xml:ns:xmpp-tls”/>

<stream:stream to=“My Server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>

<auth mechanism=“PLAIN” xmlns=“urn:ietf:params:xml:ns:xmpp-sasl”>AGpza2lkbW9yZQBTdXBlcjEh</auth&g t;

<stream:stream to=“My Server” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>

<iq id=“ckSq1-0” type=“set”><bind xmlns=“urn:ietf:params:xml:ns:xmpp-bind”><resource>spark</resource& gt;</bind></iq>

<iq id=“ckSq1-1” type=“set”><session xmlns=“urn:ietf:params:xml:ns:xmpp-session”/></iq>

<iq id=“ckSq1-2” type=“get”><query xmlns=“jabber:iq:roster”></query></iq>

<iq id=“ckSq1-3” to=“My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>

<iq id=“ckSq1-4” from=“jskidmore@My Server/spark” type=“get”><vCard xmlns=‘vcard-temp’/>


<iq id=“ckSq1-5” type=“get”><sharedgroup xmlns=“http://www.jivesoftware.org/protocol/sharedgroup”></sharedgroup></iq>

<presence id=“ckSq1-6”><status>Available</status><priority>1</pri ority><x xmlns=“vcard-temp:x:update”><photo>f21d206f86b32775f6a89680dfc28c3fee4 7c8a2</photo></x><x xmlns=“jabber:x:avatar”><hash>f21d206f86b32775f6a89680dfc28c3fee47c8a2 </hash></x></presence>

<iq id=“ckSq1-7” type=“get”><query xmlns=“jabber:iq:private”><storage xmlns=“storage:bookmarks”/></query></iq>

<iq id=“ckSq1-8” to=“conference.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-9” to=“pubsub.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-10” to=“broadcast.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-11” type=“get”><query xmlns=“jabber:iq:private”><storage xmlns=“storage:bookmarks”/></query></iq>

<iq id=“ckSq1-12” to=“My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>

<iq id=“ckSq1-13” to=“conference.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-14” to=“pubsub.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-15” to=“broadcast.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-16” to=“My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>

<iq id=“ckSq1-17” to=[mwagner@My%20Server] type=“get”><vCard xmlns=‘vcard-temp’/>


<iq id=“ckSq1-18” to=[ntang@My%20Server] type=“get”><vCard xmlns=‘vcard-temp’/>


<iq id=“ckSq1-19” to=[wcheng@My%20Server] type=“get”><vCard xmlns=‘vcard-temp’/>


<iq id=“ckSq1-20” to=“My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>

<iq id=“ckSq1-21” to=“conference.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-22” to=“pubsub.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-23” to=“broadcast.My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>

<iq id=“ckSq1-24” to=“My Server” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>

<iq id=“ckSq1-25” type=“get”><query xmlns=“jabber:iq:private”><gateway-settings xmlns=“http://www.jivesoftware.org/spark”/></query></iq>

<iq id=“ckSq1-26” type=“get”><query xmlns=“jabber:iq:private”><scratchpad xmlns=“scratchpad:tasks”/></query></iq>

<iq id=“ckSq1-27” type=“get”><query xmlns=“jabber:iq:search”></query></iq>

Does this include the point when you tried to do a search?

Yes it is, I just tried it again and when I did the search it put in the last few lines. They are the same as what I already posted.

Hrm. All I can see is a get request and no response. Hrm… I -think- that if you request something that doesn’t exist you should get a ‘bad’ response. Can you go under plugins and make sure you have version 1.4.0 of the user search plugin? Better yet, could you try deleting it if it’s there and then reinstalling it? (experiment)

Here is my debug under the “Raw Sent Packets” tab. I opened Spark and immediatly did a search from the search bar at the bottom of the window.

<stream:stream to=“opefirex.xxx.com” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>
<starttls xmlns=“urn:ietf:params:xml:ns:xmpp-tls”/>
<stream:stream to=“openfire” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>
<auth mechanism=“PLAIN” xmlns=“urn:ietf:params:xml:ns:xmpp-sasl”>AGJvZWd3agB1bHRpbWl4MQ==</auth&g t;
<stream:stream to=“openfire” xmlns=“jabber:client” xmlns:stream=“http://etherx.jabber.org/streams” version=“1.0”>
<iq id=“Ss1E2-0” type=“set”><bind xmlns=“urn:ietf:params:xml:ns:xmpp-bind”><resource>spark</resource& gt;</bind></iq>
<iq id=“Ss1E2-1” type=“set”><session xmlns=“urn:ietf:params:xml:ns:xmpp-session”/></iq>
<iq id=“Ss1E2-2” type=“get”><query xmlns=“jabber:iq:roster”></query></iq>
<iq id=“Ss1E2-3” to=“openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>
<iq id=“Ss1E2-4” to=“manager.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-5” from=“boegwj@openfire/spark” type=“get”><vCard xmlns=‘vcard-temp’/>
<iq id=“Ss1E2-6” type=“get”><sharedgroup xmlns=“http://www.jivesoftware.org/protocol/sharedgroup”></sharedgroup></iq>
<presence id=“Ss1E2-7”><status>Available</status><priority>1</pri ority></presence>
<iq id=“Ss1E2-8” type=“get”><query xmlns=“jabber:iq:private”><storage xmlns=“storage:bookmarks”/></query></iq>
<iq id=“Ss1E2-9” to=“manager.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-10” type=“get”><query xmlns=“jabber:iq:private”><storage xmlns=“storage:bookmarks”/></query></iq>
<iq id=“Ss1E2-11” to=“updater.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-12” to=“openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>
<iq id=“Ss1E2-13” to=“workgroup.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-14” to=“manager.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-15” to=“pubsub.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-16” to=“updater.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-17” to=“proxy.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-18” to=“workgroup.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-19” to=“pubsub.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-20” to=“conference.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-21” to=“proxy.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-22” to=“conference.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-23” to=“openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>
<iq id=“Ss1E2-24” to=“workgroup.openfire” type=“get”><workgroups xmlns=“http://jabber.org/protocol/workgroup” jid=“boegwj@openfire/spark”></workgroups></iq>
<iq id=“Ss1E2-25” to=“openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>
<iq id=“Ss1E2-26” to=“manager.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-27” to=“updater.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-28” to=“workgroup.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-29” to=“pubsub.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-30” to=“proxy.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-31” to=“conference.openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#info”></query></iq>
<iq id=“Ss1E2-32” to=“openfire” type=“get”><query xmlns=“http://jabber.org/protocol/disco#items”></query></iq>
<iq id=“Ss1E2-33” type=“get”><query xmlns=“jabber:iq:private”><gateway-settings xmlns=“http://www.jivesoftware.org/spark”/></query></iq>
<iq id=“Ss1E2-34” type=“get”><query xmlns=“jabber:iq:search”></query></iq>
<iq id=“Ss1E2-35” type=“get”><query xmlns=“jabber:iq:private”><scratchpad xmlns=“scratchpad:tasks”/></query></iq>

I was using version 1.4.1 of the search plugin. I deleated it and reinstalled 1.4.0.

It did not work until I closed and reopened spark, now it is. Thanks for that help. I guess that version 1.4.1 does not work.

That’s… very interesing to know! Thank you! Where did you happen to get version 1.4.1 of the user search plugin?

I am not sure where I got that from. I was kinda suprised myself when I checked the versions. All the plugins I got I got directly through the console or from the igniterealtime.org site.

Would you mind trying your client against igniterealtime.org and/or jivesoftware.com? Maybe register an account on igniterealtime.org, log into it, and see it it still works? 1.4.1 is running there and seems to be working fine. =/