Wildfire 3.2.2 dont correct work with VCard! PHOTO

ERROR

Im try change avator(PHOTO) by any clients (SPARK,Psi,Jeti,JAJC ) it puts in DB,

While VCard in cache all ok,

Then Im free cache on the server,

But when client try get it VCard is not allowed

Problem when VCards gets from DB!

result logs for getting VCard from DB:

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :250)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Nested exception:

org.xml.sax.SAXParseException: Character reference “&#0” is an invalid XML character.

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseExcep tion(Unknown Source)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanCharReferenceValue(Unkno wn Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$Fragment ContentDriver.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocu ment(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)

at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unkno wn Source)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.dom4j.io.SAXReader.read(SAXReader.java:365)

at org.jivesoftware.wildfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProv ider.java:76)

at org.jivesoftware.wildfire.vcard.VCardManager.getOrLoadVCard(VCardManager.java:1 98)

at org.jivesoftware.wildfire.vcard.VCardManager.getVCard(VCardManager.java:191)

at org.jivesoftware.wildfire.handler.IQvCardHandler.handleIQ(IQvCardHandler.java:1 07)

at org.jivesoftware.wildfire.handler.IQHandler.process(IQHandler.java:48)

at org.jivesoftware.wildfire.IQRouter.handle(IQRouter.java:300)

at org.jivesoftware.wildfire.IQRouter.route(IQRouter.java:104)

at org.jivesoftware.wildfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:67)

at org.jivesoftware.wildfire.net.StanzaHandler.processIQ(StanzaHandler.java:283)

at org.jivesoftware.wildfire.net.ClientStanzaHandler.processIQ(ClientStanzaHandler .java:79)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:248)

at org.jivesoftware.wildfire.net.StanzaHandler.process(StanzaHandler.java:147)

at org.jivesoftware.wildfire.nio.ConnectionHandler.messageReceived(ConnectionHandl er.java:131)

at org.apache.mina.common.support.AbstractIoFilterChain$TailFilter.messageReceived (AbstractIoFilterChain.java:703)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.codec.support.SimpleProtocolDecoderOutput.flush(SimplePr otocolDecoderOutput.java:62)

at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecF ilter.java:192)

at org.apache.mina.common.support.AbstractIoFilterChain.callNextMessageReceived(Ab stractIoFilterChain.java:362)

at org.apache.mina.common.support.AbstractIoFilterChain.access$1100(AbstractIoFilt erChain.java:54)

at org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.messageReceive d(AbstractIoFilterChain.java:800)

at org.apache.mina.filter.executor.ExecutorFilter.processEvent(ExecutorFilter.java :250)

at org.apache.mina.filter.executor.ExecutorFilter$ProcessEventsRunnable.run(Execut orFilter.java:305)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Hey SEN,

senchik wrote:

Worked with MS SQL 2005

  1. When I put Photo(Avator in VCard (by any Client) then VCard don’'t readed and stay empty, but in the table photo tags corrected (within XML)

How are you setting the avatar in the vcard? Are you doing it from a client or directly in the database? Do you see any error in the log files?

  1. When I put change VCard directly in jveVcard table, VCard don’'t update on client (I try Retrive, relogin)

VCards are cached in memory for performance. That means that once a vCard has been read into memory it won’'t be read again from the database. Old cached elements will be removed 1) when the cache is full or 2) when the element is “too” old. Anyway, you can either clean the cache from the admin console to force vCards to be updated from the database or you can restart the server.

Regards,

– Gato

help

Hi,

do you see the “&#0 problem also if you create a new user using Spark and set the vCard using Spark?

I never saw such a problem so I wonder if you did write invalid XML into the database.

Are you using non-English characters? Maybe Spark and Wildfire handle them wrong and cause this problem.

LG

not only Spark!! other clients also!

Yes problem when VCard consist any non-english text.

with english text PHOTO ok(see part of photo):

uBQa32zw2u8tuw+xu3ObCcQ9uyy3Qf1iiVq8Zc1

when Im post Russian text in any field (NickName for example) PHOTO breaked:

uBQa32zw2&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;u8tuw

&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ;&#0 ; Inserts in to PHOTO…

Its make ANY CLIENTS (Spark,Psi,Jajc)… Its server bug! please repair it!

Message was edited by: senchik

Im found that "&#0" inserts not only in PHOTO field, its may be inserted in any other fields, but only when PHOTO exist.

without PHOTO all ok

Message was edited by: senchik

Hi,

would you please post here one character which breaks the vCard. I can’‘t reproduce this problem with random UTF-8 characters or “???” as company name. I’'m using Spark 2.5-beta3.

LG

(Russian WIN 1251):

and add photo (jpg)

as result &#0 in base64 for each char in nickname!

Hi,

would you please post the characters again or modify your existing post? It seems that the forum did lose them, I see only ???.

LG

Its russian in hex:

DFE2 EEF0 EEE2 F1EA E8E9 20CC E5F7 E8F1 EBE0 E2

Hi,

I wonder if this is really a problem of Openfire or of your database?

Are you using MySQL without or with broken UTF-8 support?

I made a screenshot using Spark 2.0.8 and Openfire 3.2.2: http://img236.imageshack.us/img236/6543/sparkclipboard1pi5.png

LG

Im use MS SQL 2005…

its strange…

Hi,

it seems that most Russian people do not use MS SLQ 2005 (; But one should be able to reproduce this issue or at least say that it works for him using MS SQL 2005 and Russian characters.

Is it hard for you to install Wildfire on your desktop using localhost as xmpp.domain and the embedded database? There it should work also for you.

LG

I try use MySQL 5.2, but it have this error too…

When test it, did you make free cashe of the Openfire?

Hi,

yes, I did “Clear Selected” on http://server:9091/system-cache.jsp for all caches.

I wonder if you want to try this using the embedded database as long as no one else can reproduce this issue.

LG

Im try use embbeded DB… error present…

Im use Win2003 Server Eng (try with two diffirent computers)

I can confirm this problem on 3.2.2. using a DB/2 Express. We are loosing the vcard information with several clients (Spark, Exodus). No specific trace was found in the logs. It seems to be connected to a recoonect of the client to the server, as the situation is not reproduceable. It should be also noted, that only parts of the Vcard are lost (photo and business information)