In seinem Vortrag zum Thema Memory Leaks in Symphony 3 zeigte der für IBM arbeitende chinesische Entwickler JianFang Zhang heute in Budapest, wie man Speicherlecks findet, behebt und in Zukunft vermeidet. Dabei wies der Entwickler zunächst auf das Problem hin, dass es relativ wenige Tools gibt, um überhaupt den Speicherverbrauch von OpenOffice zuverläßig zu messen. Zudem gebe es gewisse Tools (Valgrind, UMDH) entweder nur für Linux/Mac oder nur für Windows, was das Debugging ebenfalls erschwere.
Dennoch gelang es dem chinesischen Symphony-Team von IBM bei der Umstellung von OpenOffice 1.1. auf OpenOffice 3.1 sehr viele Speicherlecks zu ermitteln. Die 20 wichtigsten davon hat das Team beim OpenOffice-Projekt bereits als Bug gemeldet und passende Patches bereitgestellt, weitere Bugreports sollen folgen.
Im zweiten Teil seines Vortrags zeigte JianFang Zhang konkrete Methoden, um Speicherlecks in OpenOffice zu finden. Die meisten Leaks wurden automatisiert durch das Microsoft-Tool User Mode Dump Heap und Rational Purify von IBM selbst (alle Platformen) gefunden. Dabei handelte es sich in der Regel um zyklische Referenzen in UNO (rund 40 Prozent) oder schlichte Programmierfehler, die vergassen, den Speicher wieder freizugeben (über 30 Prozent). Eine Schwierigkeit beim Messen stellte der Cache dar. JianFang Zhang empfiehlt deshalb den Testwilligen, zunächst die diversen Chaches für Fonts, Bitmaps etc so gut wir möglich zu füllen und erst danach mit den Speichertests zu beginnen. Einfache Tests lassen sich aber auch mit dem Taskmanager durchführen, sofern man über eine längere Zeit misst.
Durch die Arbeiten an Symphony 3 gelang es dem IBM-Team den Speicherverbrauch von Writer, Draw und Presenter beim mehrfachen Öffnen und Speichern von vier Testdokumenten von teilweise über 600 MByte auf unter 200 MByte zu bringen. Wer sich selbst vom Speicherverbrauch von Lotus Symphony ein Bild machen möchte, lädt dazu am besten die aktuelle Beta 4 von Symphony 3 herunter. Das Release der finalen Version von Symphony 3 ist für den Oktober 2010 geplant.



