Sametime 8.5.1 – no luck with debug

I recently had an issue with photos in businesscards in my “Lab” Sametime 8.5.1 installtion on SLES 10.3. I had configured names.nsf as source for the picture in my dual repository configuration. This configuration works in a productive environment with Sametime 8.5 Community Server on Windows 8.5FP1 ( + HF GHEU-854LD9 that addresses an issue wth pictures in business cards )

After upgrading my “Lab” from Sametime 8.5 to 8.5.1 ( including an upgrade of Domino to 8.5.1 FP4 Linux ) the business card still showed an old picture. I had recently replaced the picture in my person record. So I deleted the person cache by deleting the C:\Program Files\IBM\Lotus\Notes\Data\workspace\.metadata\.plugins\com.ibm.collaboration.realtime.people.impl folder on my computer.

Did a “Refresh Person Info” in the embedded Samtime client but  the new picture did not show up.

I looked into the latest UserInfoSA file in the trace folder on the Domino server to find out what went wrong and found the following entry

SEVERE | Thread-14 ] : UserInfoLogger : error : extractImage Exception: Exception:
class com.ibm.sametime.userinfo.userinfobb.ImageExtractor$ImageNotFoundException

Not a very helpful error message, because I know that the image exists in the person document and the previous image was found.
I tried to find out more and turned Debug mode. I copied Debug.Level.class.5 from /opt/IBM/notesdata/domino/html/sametime/stlinks/debug to /opt/IBM/notesdata.

By the way, the documentation says “To enable trace collection, a debugLevel.class file compiled to level 3 and higher should be added to the folder that contains the UserInfo.jar file.”.
This seems not to work on Linux; I restarted the server including the OS but no message “Debug Level changed to: 5” appeared in the console. After moving the file to the data directory and restarting the machine once again, the debug level changes. /opt/IBM/notesdata contains a symbolic link to UserInfo.jar.

I once again cleared the cache and tried to retrieve the photo. nada … Now the UserInfoSA was completely empty with zero byte filelength.

I verified reproduceability by changing the debug settings back and forth. The issue with the zero byte file is reproduceable.

But still no hint, why the picture is missing from the business card.
I then decided to replace the UserInfo.jar from the Sametime 8.5.1 installation by the one from the Hotfix. After I restarted the server once more, I found the following info in UserInfoSA

[08/13 8:44:35.929] Thread-12 User: CN=Ulrich Krause/O=singultus found in database names.nsf
[08/13 8:44:35.930] Thread-12 Found detail: Photo. reqid=1
[08/13 8:44:35.930] Thread-12 Entering extractImage
[08/13 8:44:35.931] Thread-12 document size 10 KB
[08/13 8:44:35.950] Thread-12 export document to XML is now completed.
[08/13 8:44:35.969] Thread-12 extractImage Exception:
com.ibm.sametime.userinfo.userinfobb.ImageExtractor$ImageNotFoundException: Image file type not supported: 34×48.jpg

Aha, “Image file type not supported: 34×48.jpg” This is a valuable information.
I looked into the person record and saw that the image is named eknori.34×48.jpg. I then replaced the attachment by eknori.jpg and now the image is displayed in the business card.

The log file now contains

[08/13 8:47:07.740] Thread-13 document size 18 KB
[08/13 8:47:07.755] Thread-13 export document to XML is now completed.
[08/13 8:47:07.759] Thread-13 Image found. Mime type is: image/jpeg
[08/13 8:47:07.766] Thread-13 Constracted DetailItem id=Photo fieldname=photo type=image/jpeg

Now that I have found the cause, I replaced UserInfo.jar with the the original one and tested again. The picture displays and the tracefile has a non-zero length.
Here is what it says

[ 09:06:51.748 | 13.08.2010 | SEVERE | Thread-12 ] : UserInfoLogger : error : Image found. Mime type is: image/jpeg

Conclusion
1. the attachment for the picture must not contain more than one dot; obviously the servlet splits the filename after the first dot and therefore cannot find the file

2. Something is wrong with DebugLevel.class file. Either the problem is caused by the new UserInfo.jar im Sametime 8.5.1 or the file has not been updated by the installer

Both issues should be checked with support. Perhaps someone can do the same tests on a Windows system. But let me make a guess: I am the only one in the whole wide world that has these issues …