I have this error in the file error.log. Can I correct it?
2006.07.06 15:32:29 org.jivesoftware.wildfire.vcard.DefaultVCardProvider.loadVCard(DefaultVCardProvi der.java:79) Error loading vCard of username: lchiluiza
org.dom4j.DocumentException: Error on line 866 of document : XML document structures must start and end within the same entity. Nested exception: XML document structures must start and end within the same entity.
does it affect the performace of the server?
I’‘ve had this error before and in my case, it was caused by users adding large avatars which reached the maximum size of the field so it didn’'t end with (or similar) in the Jivevcard table. I had to use MySQL Query browser to manaually edit the entry to remove the avatar data and termina the string correctly.
It can make the affected client feel very slow (Exodus 0.9.1.0 in our case), but it doesn’'t appear to affect the performance of the server, although this was with a much earlier version of Jive (2.2.1 I think).
Martyn is correct. This problem happens when vCard content exceeds the size of the table’'s field. Some databases just decide to truncate the original text and not raise any exception when saving the new data. Therefore, Wildfire fails to parse when loading the vCard from the DB. Anyway, this problem should not be happening if avatars included in vCards not exceed the 8K. If I recall correctly, 8K is the max size for an avatar when included in vCards. Some clients are ignoring that limit.
I see a lot of these, particularly from users that use an Exodus client and large BMP files for their avatar. Using a MySQL database back end, I see their VCard data cut off at around 64K. Most of the users VCards’’ are around 9K (avatars are typically 200x150 PNGs).
I’‘m thinking of writing a server plug-in which detects bad VCard information, removes it, sends them a message insulting their mother’'s shoes, and logs them off.
This week I was planning to improve the logic when the stored vCard was
truncated by the DB. I like the idea of sending a message to the vCard
owner informing that the vCard was corrupted and should be created again
(but with a smaller avatar).
in http://www.jivesoftware.org/community/thread.jspa?messageID=121108 I did post some links. As Derek did write something for Spark to limit the image size it may be possible to do something similar on the server side so the admin can limit the allowed image size?
As MySql generates a warning one could check the connection for such a warning but this is really not what I’'d like to see as it is MySql specific. http://www.jivesoftware.org/builds/wildfire/docs/latest/documentation/database-g uide.html#jiveVCard defines TEXT for propValue … it seems to be called “value” in wildfire_mysql.sql and “TEXT” (64kB) datatype for MySql. One could of course change this to “MEDIUMTEXT” or “LONGTEXT” (4GB).