The Document Foundation Planet


April 17, 2014

Cor Nouws

10 years business support for the alternative for 'that one of Microsoft' - for free office-software

19.999 days young, and still celebrate the second lustrum .. how can that be possible?
It's possible when you are me and started your company on April 16 2004 :)
It's a very busy time the last months at Nou&Off, but wishing not to let pass this joyous moment unnoticed, it was decided at the last moment to do a little party in a smaller circle. To pay attention to it in wider circles, later this year a symposium will be organized around the use of open source office-software in Dutch administrations, institutions and companies.
At the same time as the 10 years anniversary of Nou&Off, there was the official opening of the LibreOffice-Trainingcenter. That was expected earlier, but due to the high workload on projects, it slipped. Luckily, sooner or later, all will be fine ;)

by Cor & OfficeBuzz ( at April 17, 2014 03:19 PM

Official TDF Blog

LibreOffice Conference 2015 Call for Locations will open soon

Berlin, April 16, 2014 – The Document Foundation (TDF) will open the Call for Locations for the LibreOffice Conference 2015 on May 1st, 2014. Candidate cities will be able to submit proposals during May and June 2014. Details of the Call for Locations are available on the TDF Wiki:

The location of the 2015 LibreOffice Conference will be announced at the end of July, so that the winning team may attend the 2014 LibreOffice Conference in Bern, Switzerland (September 2nd to September 5th).

“The LibreOffice Conference is a large event, which spans over four days and is a unique gathering opportunity for our growing community. Starting from 2014, we intend to present next year location at the previous conference”, says Thorsten Behrens, Chairman of The Document Foundation. “This also offers a chance to involve next year’s team during the last phase of the organization, in order to ensure that they are acquainted with the process”.

For additional information:

by italovignoli at April 17, 2014 10:48 AM

April 16, 2014

Caolán McNamara

Printing comments in margins

Because a fellow RedHat employee requested it on Friday, LibreOffice Writer 4.3 will be able to print comments in the margin effectively as they appear on screen, which should take care of the old fdo#36815 feature request. There is now an additional "place comments in margin" option in the print dialog (and writer print options). On screen the comments are placed outside the real page area, so to actually get them onto the paper when printing, the contents of the page needs to be scaled down by approximately 75% of its original size to make space to fit the comments in.

Here's the additional comment place option in the print dialog

Here's some sample pdf output

by Caolán McNamara ( at April 16, 2014 10:16 AM

April 15, 2014

Tim Janik

Forward Secrecy Encryption for Apache

The basic need to encrypt digital communication seems to be becoming common sense lately. It probably results from increased public awareness about the number of parties involved in providing the systems required (ISPs, backbone providers, carriers, sysadmins) and the number of parties these days taking an interest in digital communications and activities (advertisers, criminals, state authorities, [...]

by timj at April 15, 2014 11:56 AM




1,2-dimetil-chickenwire (Wikimedia Commons, SVG, see also Created with LibreOffice)

First notable occurance of the 1,2-dimethyl-chickenwire molecule

First notable occurance of 1,2-dimethyl-chickenwire (Molecules you ought to be aware of… by Nick D. Kim)

Picture of the week is the 2D chemical formula of the 1,2-dimethyl-chickenwire molecule, noted by Wikipedia in several places (here and here).
The simplified LibreLogo program of the new Wikipedia vector graphic (move the turtle to the right side in Writer before starting the program):

TO hexagon
TO hexagons n
PICTURE “1,2-dimethyl-chickenwire.svg” [
    hexagons 2
    REPEAT 10 [
        RIGHT 120 PENUP FORWARD 25
        RIGHT 60 PENDOWN
        hexagons 3
        RIGHT 120 PENUP FORWARD 2*25
        hexagons 4
        PENUP BACK 25*3
    RIGHT 60 LABEL [-1.1, 0.4, “H₃C”]
    PENUP LEFT 60 BACK 15 RIGHT 120 
    FORWARD 25 LEFT 60
    PENDOWN FORWARD 15 LABEL [0.6, 0.9, “CH₃”]
    PENUP BACK 15+25+25 LEFT 180 PENDOWN
    hexagons 3
    hexagons 2

3D model of the molecule

3D model of the molecule (zoom)

(For those interested, here are the steps to get one more dimension, the spatial model of 1,2-dimethyl-chickenwire, as you can see on the picture:
Pubchem Sketcher molecule editor

PubChem Sketcher online molecule editor (zoom)

  1. Copy the SMILES description of the molecule (see on its Wikipedia page, or here) into the PubChem Sketcher online molecule editor, and press Enter to show the molecule.

  2. Export the picture in the default SDF (MDL Molfile) format.

  3. Open the file in Avogadro, a cross-platform molecule editor (it is part of the popular Linux distributions), but do not ask the calculation of the 3D geometry.

  4. Choose Build→Add Hydrogens. (It is possible in PDChem Sketcher, too, by Hydrogen→Add. In that case the result will be a nearly planar spatial isomer, thanks to the more evenly distributed hydrogens).

  5. Press Ctrl-Alt-O (Extension→Optimize Geometry) a few times, moving the atoms to the positions defined by their bonds.

  6. Finally export the picture of the molecule in PNG to LibreOffice, for example. It would be more fun to export it in a 3D OpenDocument shape, supported by LibreOffice, too, but it seems, chemical formula conversion tools, like Open Babel, haven’t supported OpenDocument, yet.)

by Németh László at April 15, 2014 07:58 AM

April 14, 2014

Jacobo Aragunde Pérez

Tales of LibreOffice interoperability: theme fonts

This is the first post in a series that explains the work that we’ve been doing lately in LibreOffice at Igalia, which hopefully will be part of the future 4.3 release.

Document themes is one of the features of the Microsoft Office suite that doesn’t have support in LibreOffice yet. While it happens, which is a hard work that includes extending the ODF standard, we are focusing on the preservation of the theme information when a document coming from Office is edited in LibreOffice and saved back to OOXML.

First of all, we needed to preserve the theme files contained in the document, which are stored at /word/theme/ inside the document. LibreOffice was able to read and parse the theme definition file to assign colors and fonts to the document elements, but it was discarded after that and not preserved on export. Miguel and Andrés took care of that part of the job when working in the preservation of Smart-Art information and it’s already present in 4.2 release.

Then it was my turn to identify and preserve the theme-related attributes in the document, starting with font attributes. From the user point of view, there are two types of theme fonts in Word: Heading, named major internally, and Body, named minor. Besides this distinction, there are three types of fonts that users can manage separately: Latin, Asian and Complex Script (for Hebrew, Arabic, etc.). Users can set one specific font, or a major or minor theme font, for each of the three types.

Word 2010 font selector

What actual font this mess translates to depends on several things:

  • Type of characters: the application decides if a portion of text is written in Latin, Asian or CS checking the range of characters it contains, and uses the font that the user set for that type.
  • The document language: the theme file can define one font per language besides a fallback font per type:
            <!-- default fonts per type -->
            <a:latin typeface="Trebuchet MS" />
            <a:ea typeface="" />
            <a:cs typeface="" />
            <!-- language-specific fonts -->
            <a:font script="Hans" typeface="宋体" />
            <a:font script="Hebr" typeface="Arial" />
  • The default language: the document settings file can define one default language for each font type:
    <w:themeFontLang w:val="en-US" w:eastAsia="zh-CN"
                     w:bidi="he-IL" />

How does it work altogether? With the above definition of the language settings, the default language for CS text is Hebrew (he-IL), and the theme defines the minor font Arial for that language. In the case of latin languages, it will be Trebuchet MS. This was a new behaviour in LibreOffice that we had to implement ourselves. Notice the mixed use of different naming conventions for languages and regions, which requires conversions.

LibreOffice font selector

My work on theme attributes comprises the preservation of font and shape colors too, but this post is already long enough; that will be part of the next chapter. Let me finish with a thank you to CloudOn for funding this development, and to Adam Fyne for his work detecting and triaging these theme preservation issues.

by Jacobo Aragunde Pérez at April 14, 2014 11:42 AM

April 13, 2014

Andreas Mantke

Buildout for Extensions-Templates-Testsite created

I worked on the buildout for the new LibreOffice extensions and templates testsite yesterday. I created it on a resource of the Document Foundation, that I got from the infra-team. I had to make some minor changes to the buildout and fixed some issues in one of the Plone add-ons. But finally the new environment was created and the instance starts without any issues in debug mode.

The remaining issue to get the new testsite online is an open port in the firewall. I think I’ll get that from our infra-team soon. Then I’ll do the last steps to create a Plone site and publish the links to the site on the website mailinglist. If you want to help with improving / testing stay tuned and have a look on the website mailinglist.

by andreasma at April 13, 2014 01:15 PM

Charles Schulz

Brendan Eich, the bigots, and Software Freedom

Last week we learnt the news of the resignation of Brendan Eich from his position as CEO of the Mozilla Foundation/ Corporation. The controversy on Brendan Eich’s donations to opponents and campaigns against same-sex marriage ultimately prompted the inventor of Javascript to resign from the position he had just been appointed to and leave Mozilla. I followed the reactions online and decided to wait for at least a week before writing my opinion in full. Am I reopening a can of worms? Perhaps, but I think what’s at stake here is people missing an important aspect of software freedom. In this sense, this post won’t be about marriage equality or civil rights in general, it will be about the freedoms conveyed by free software and what they can ultimately mean.

For starters, let me remind you of several things:

No system is perfect…. And while Free Software is made of a set of legal norms, a philosophy, a political movement, and a way to produce and expand digital commons, Free Software in itself is something that constantly evolves. Sometimes people make mistakes. Technology changes. Licence evolve. Etc. A perfect system is a fantasy and does not exist in reality.

I have gay friends… And they’re not of the alibi-type of friends. They’re actual friends, buddies, people I have drinks with, people I meet and engage in discussions, people who tell me about their relationships, their work, their lives.

I have heterosexual and socially conservative friends… And they’re not of the alibi-type of friends. They’re actual friends, buddies, people I have drinks with, people I meet and engage in discussions, people who tell me about their relationships, their work, their lives.

When the controversy about Brendan Eich’s views and activism against gay marriage spread in the news, I thought that certainly this would not go much further than people shouting on blogs. I was wrong. While I do support gay marriage, I did not think for a moment that being a CEO of Mozilla meant that your personal views on politics and society would be judged. Everyone has political views and it is, after all, customary everywhere not to voice these opinions, nor to value them, at the workplace. Of course, I have written here and elsewhere that software freedom is political; surely then the board and the CEO of Mozilla must have some political commitment about digital rights and software freedom deeply rooted in their hearts and minds. I am pretty sure Brendan Eich is no different; but aside this, people are different. They have different stories, different ideas, different political views and different sexual orientations.  Free and Open Source Software projects gather and welcome all kinds of people. In fact, the four freedoms at the core of Free Software licenses are explicit on the notion that Free Software is made available for anyone to use, study, modify and distribute as long as the software license is respected. I’m not making that up, the statement is on the Free Software Philosophy page of the FSF web site:

The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity. In this freedom, it is the user’s purpose that matters, not the developer’s purpose; you as a user are free to run the program for your purposes, and if you distribute it to someone else, she is then free to run it for her purposes, but you are not entitled to impose your purposes on her.

By now you may be wondering where I’m going with this. The point I feel very few people made in the controversy surrouding Brendan Eich is that Free Software does not care who you are voting for as an individual or even as an organization. What matters is respecting the license the software you are studying, using, modifyng and distributing, and to a broader extent, that the development community you are contributing to -if that is the case- is not deprived from its freedom. Now let’s take a few real, yet general cases of Free Software usage around the globe.

  • Free Software such as Linux or Firefox, or LibreOffice (or BIND, or TCP/IP, etc.) is used by corporations actively engaging into child slavery
  • Free Software (again, same example) is used by the U.S. Government for various needs, some of them being of the military and data collection kind. This statement is public knowledge of course. There are some parts of this world where the U.S. Government is not hold in high regard by some peoples and / or their government
  •  Some people from extremist parties around the world use Firefox and LibreOffice
  • Some opponents of same-sex marriage, in the US  and elsewhere, are using Firefox, Thunderbird, LibreOffice, Evolution, Linux, etc.
  • Some proponents of same-sex marriage use the same software.

Where does that take us? For one thing it is abundantly clear that anyone can use and uses Free Software on a daily basis. Even people who you may not agree with on political or social  ideas. Even people you think should be publicly blamed for their ideas or their actions. Back to Brendan Eich. It is easy to point out that he is or was not just a mere user, but was appointed CEO of Mozilla. Before that, for the record, Brendan Eich was the CTO of Mozilla and the inventor of Javascript. Some people demanded his resignation on the basis of his political ideas and asserted that such ideas ought to be banned from Mozilla. Somehow the moral demand made to Mozilla is more important than the one made to other entities. I do not buy that, at least not when it does not concern software freedom and digital rights. Besides that, Brendan Eich as a CEO would not be Mozilla himself. Mozilla is fortunately much bigger than Brendan. The fact that someone denies equal rights to others may make some people uncomfortable. Some others would find such a position outrageous. But Mozilla is not changing because of the political colours of its CEO. Heck, it’s not even voting.

In this regard, I’m afraid I have bad news for all the people who thought Brendan Eich was unfit to be CEO of Mozilla: I know for a fact that there is one contributor of a major Free Software project who is an extreme right activist. He was seen by a friend per chance in an extreme right demonstration, as this friend was crossing a street in Paris. I know for a fact that projects such as LibreOffice have people who have, let’s put it that way, a rather traditional vision of marriage. I know for a fact that there are people who are actively campaigning in favour of gay marriage all around the world and who are active contributors to LibreOffice as well. And I could go on and on.

If you want to deny leadership positions to people who may have completely different views on marriage, gender and race equality inside Free Software projects or foundations, be ready for a witch-hunt. And then ask yourself the question of whether the same people should be expelled from the project. Then the next thing you should consider would be to only accept people who have been individually cleared from any dubious ideas into your project. You may not want to stop there: get new software licenses prohibiting Free Software to be used by certain kind of people. Someone tried this before and the FSF rejected it, by the way, as it was a blatant denial of software freedom. On top of this, you may want to impose a worldwide censorship and surveillance of the network just to make sure people who may have unacceptable ideas never get around to contact your project. What a fine world this would be, wouldn’t it?

Yes, even people who are outrageous bigots and blatant racists have a right to join, participate and use Free Software. We may not love everyone, but we do work with everyone and serve all of them. Free Software is not a party, it is a much bigger and broader movement encompassing technology, society, law, software and hardware, and ultimately some of our most human qualities: empathy, communication, cooperation, and sharing.  The day this will change, software freedom will die – and the true freedom haters, the censors, the real bigots, the extremists will have won.

Caveat Emptor: This post reflects my personal opinion only and not the views of the Document Foundation nor my employers, past and present.

by Charles at April 13, 2014 12:53 PM

April 12, 2014

Michael Meeks

2014-04-12: Saturday

  • Up; mail chew, packed the car, and took the train to my parents, with J. driving the four kids.
  • Spent quite a while in the train trying to answer the question: "Why is LibreOffice so big ?" by doing a bit more hackery on MJW and my (long paused) dwarfprofile to the point that it generates at least some degree of blame around code size caused by C++ inlining etc. Always a bit concerning to see include/ consuming twice the size of the source code directories, but prolly my code needs some debugging.

April 12, 2014 04:30 PM

Andreas Mantke

Working on Extension-Template-Testpage

I’ll work on a Plone buildout of a testsite for a new LibreOffice extension and template website this weekend. I got a resource for this from the infra-team about two weeks ago. Once I finished the first draft of the testsite and get it online I’ll ask for feedback on the LibreOffice website list. Stay tuned.

by andreasma at April 12, 2014 09:26 AM

April 11, 2014

Michael Meeks

2014-04-11: Friday

  • Chewed over busted car, poked insurance, setup replacement, emptied it of contents; mail chew - partner call, contract review. Dinner - five seat rental car delivered, babes greatly enjoyed hiding in the boot etc. Worked until late.

April 11, 2014 09:00 PM

Andreas Mantke

Some Plone coding for Template and Extension Website

I currently very busy with my paid work and thus I not much time to work on code for Plone add-ons. But I used a bit of my spare time to make some finger exercise and coded a bit for fun on two add-ons for the extension and template website. The current status is available in the github repository of TDF ( The add-ons are not finished yet (you’ll never finish a software package, will you?) and there are some tasks left.

by andreasma at April 11, 2014 07:51 PM

April 10, 2014

Michael Meeks

2014-04-10: Thursday

  • Up early; still interested at Mozilla's lack of positive engagement with either their newer tranche of critics, or their legitimacy problem. Interested by a cogent analysis of the issue; and also to see Brendan finally comment himself. I hope the spectre of legal issues doesn't get in the way of truth telling & reconciliation.
  • Lunch; ESC call - interrupted at the end by a call from the wife, just involved in a car crash - thank God all four babes and better half still in one bit. Marked time until their return, posted minutes.
  • Encouraged to see a nice new LibreLogo portal with some fine content.
  • Babes returned, comforted & fed them, put them to bed.

April 10, 2014 09:00 PM

Official TDF Blog

LibreOffice 4.2.3 is now available for download

Berlin, April 10, 2014 – The Document Foundation announces LibreOffice 4.2.3, the third minor release of the LibreOffice 4.2 family. LibreOffice 4.2.3 “Fresh” is the most feature rich version of the software, and is suited for early adopters willing to leverage a larger number of innovations. For enterprise deployments and for more conservative users, The Document Foundation suggests the more mature LibreOffice 4.1.5 “Stable”.

People interested in technical details about this release can access change logs here: (fixed in RC1), here: (fixed in RC2) and here: (fixed in RC3).

In addition, the released version of LibreOffice 4.2.3 adds a security fix for the Heartbleed Bug (CVE-2014-0160).

Download LibreOffice

LibreOffice 4.2.3 and LibreOffice 4.1.5 are both available for download from the following link: Extensions and templates to complement the installation of the software and add specific features are available here:

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at Money collected will be used to grow the project both at global and local level.

by italovignoli at April 10, 2014 11:01 AM

Andras Timar is a new portal dedicated to the easy, Logo-like programming environment of LibreOffice for turtle vector graphics. Main topics: introduction of LibreLogo (see here), development news, education, graphic design and free culture. A short illustrated list of the recent English language articles:

2014-04-03 Hungarian and Norwegian educational materials – a Hungarian LibreLogo textbook (made in LibreOffice) and a Norwegian LibreLogo tutorial

2014-04-01 Color and transparency gradients – LibreOffice 4.3 will support color and transparency gradients in LibreLogo…

2014-03-18 UI/UX fixes – not only the vivid random colors in LibreOffice 4.3

2014-02-20 Word squares – from Unix to LibreOffice…

2014-02-17 LibreLogo poster – in PDF version, for classrooms…

2014-02-11 LibreLogo in LibreOffice 4.2 – PENCAP, FORWARD „text”, SVG and SVG SMIL generation…

2014-02-11 LibreLogo at FOSDEM 2014 – „infinite” maze flyer and a small improvement…

by Németh László at April 10, 2014 08:31 AM

April 09, 2014

Michael Meeks

2014-04-09: Wednesday

  • Mail chew; partner call; sync. with Andras, lunch, partner call, sync. with Matus; partner call. J. out counselling, worked late; bed.

April 09, 2014 09:00 PM

April 08, 2014

Michael Meeks

2014-04-08: Tuesday

  • Up; mail chew; document review, call with Tim etc. Lunch. Sync. with Philippe, team call, more work; Dinner with babes, worked late.

April 08, 2014 09:00 PM

April 07, 2014

Björn Michaelsen

Announcing BundesGit for LibreOffice

“I fought the law and the law won”

– Sonny Curtis and the Crickets — prominently covered by the Clash

So in a few minutes, I will be leaving for the meeting at Open Knowledge Lab in Hamburg for Code for Germany in Hamburg — but I dont want to show up empty-handed. Earlier I learned about BundesGit which is a project to put all federal german laws in a git repository in easily parsable markdown language. This project was featured prominently e.g. on Wired, Heise and got me wondering that having all those laws available at the tip of your hand would be quite useful for lawyers. So here I went and quickly wrote an extension to do just that. When you install the extension:

  • it downloads all the german federal laws from github and indexes them on the next restart of LibreOffice (completely in the background without annoying the user)
  • that takes about ~5 minutes (and it only checks for updates on the next start, so no redownload)
  • once indexed you can insert a part of a law easily in any text in Writer using the common abbreviations that lawyers use for these:
  • Type the abbreviation of the paragraph on an otherwise empty line, e.g. “gg 1″ for the first Artikel of the Grundgesetz
  • press Ctrl-Shift-G (G for Git, Gesetz or whatever you intend it to mean)
  • LibreOffice will replace the abbreviation with the part of that law
BundesGit for LibreOffice

BundesGit for LibreOffice

Now this is still a proof-of-concept:

  • It requires a recent version (1.9 or higher) of git in the path. While that is for example true in the upcoming version of Ubuntu 14.04 LTS, other distributions might still have older versions of git, or — on Windows — none at all: Packing a git binary into the extension is left as an exercise for the reader.
  • I have not checked it to parse all the different laws and find all the paragraphs. It also ignores some non-text content in the repository for now. Patches welcome!
  • While it stays in the background most of the time intentionally to not get into the way of the user, it could use some error reporting or logging, so users are not left in the dark if it fails to work.

On the other hand, the extension is a good example what you can do with less than 300 lines of Python3 (including tests) in LibreOffice extensions. Thus the code was hopefully verbosely enough commented and was uploaded to sdk-examples repository, where it lives alongside this LibreOffice does print on Tuesdays extension that also serves as an example. Of course, if there other useful repositories of texts online, it can be quickly adapted to provide those too.

So download BundesGit for LibreOffice and test it on Ubuntu 14.04 LTS (trusty).


addendum: This has been featured on and (both german).


by bmichaelsen at April 07, 2014 04:39 PM

April 06, 2014

Fridrich Strba

LibreOffice CorelDraw import filter - support of version x7 landed

Corel released CorelDraw x7 on 27 March 2014. We had some time to look at the changes in file-format and we adapted libcdr to be able to open it. The changes landed this week in LibreOffice code, in master and libreoffice-4-2 branch. That means that support will be available in the next 4.2.x release.

It is good to note that while introspecting the files we discovered a flaw in CorelDraw x7 that makes files using the Pantone palette number 30 pretty unusable for CorelDraw users. We worked it around and the files are opening just fine in LibreOffice. Take this as a first contribution by the new Document Liberation Project.

by Fridrich Strba ( at April 06, 2014 07:38 PM

April 04, 2014

Charles Schulz

Keeping a promise made a long time ago

Some time around 2009 or 2010, the OpenDocument community realized that while it had won the moral battle over Microsoft and its dubious OOXML standard, it had lost the adoption and ecosystems war.
Microsoft Office had been released and with it an undocument format called OOXML which, as far as experts were concerned, had little to do with the ISO 29500 (aka OOXML) standard. While Europe and Brazil were struggling to migrate their public sector’s documents to ODF, any company or government, let alone any individual acquiring Microsoft Office 2010 migrated to the new and shiny OOXML, officially without remorse or complaint. The ODF advocacy groups here and there were launching all sorts of events and meetings to guide and assist migrations to ODF. Results were mixed. We had victories. We had defeats. At the end of the day what was at stake was fear of failure and change from CIOs and IT services. That’s still the case today. But while these are mostly human factors, there is one thing we hadn’t tried yet, or at least hadn’t been tried enough: turning the hundreds of thousands of files that are out there and locked up in various proprietary file formats to ODF documents.Docliberation

This week the Document Foundation announced its second major project, the Document Liberation. Its aims is to pool and collect every file format filters we have and that people are willing to contribute and develop them so that they not only keep improving but are distributed in the largest number of applications. The aim of the Document Liberation is thus simple: to enable everyone to own its content and to bring a solution to vendor lock-in and undocumented file formats. In doing so, the project is keeping a promise made a long time ago, specifially by ODF. But ODF is a format itself, and while it is enjoying a pretty widespread adoption, it has not done what Microsoft did with OOXML: propose a smooth transition through a change people can accept. In the case of OOXML, as lousy as it seems, people accepted the change because they didn’t know better: Microsoft does this for a reason, so things will pan out all right in the end. They’re taking care of my documents. The industry will follow.

In the case of ODF, no one was in such a position, except perhaps Microsoft. The approach we’re taking today is to offer a solution to a very real problem millions of people have: they don’t know what to do with their files if they haven’t migrated them to a more modern, but not necessarily more standard or more open file format. To these users, we offer a range of choices depending on their “predicament”. We will add more filters as time goes by and the community grows. To developers we offer an exciting place to contribute code by improving existing format filters and proposing new ones. To everyone we offer code that will ensure the continuity of access to content locked in countless files scattered across the Internet, personal computers, corporate, academic and governmental archives. In doing so we not only help ODF keep its promise to liberate documents once and for all, we help make the world a better place by empowering everyone to access and create more digital knowledge and unleash creativity. This promise lies at the core of the Document Foundation’s mission.

by Charles at April 04, 2014 09:21 PM

April 03, 2014

Stephan Bergmann

GNU make 4 –output-sync

The GNU make 4 --output-sync feature no longer mangles the output from multiple recipes run in parallel, which is great. However, tools will then typically stop to generate ANSI color codes, which is not so great.

But as I usually need to specify my local Clang trunk build in my LibreOffice autogen.input anyway, there is little trouble adding the -fcolor-diagnostics switch to force color codes back on:

CC=…/clang -fcolor-diagnostics
CXX=…/clang++ -fcolor-diagnostics

That solves the problem when running make from a terminal, but in turn spoils Emacs’s M-x compile. To fix that, add

(defun my-filter-ansi-color-codes-hook ()
  (goto-char compilation-filter-start)
  (while (re-search-forward "\e\\[\\([0-9]+\\(;[0-9]+\\)*\\)?m" nil t)
    (replace-match "" nil nil)))
(add-hook 'compilation-filter-hook 'my-filter-ansi-color-codes-hook)

to your .emacs. And while you’re at it, also add

  '(("^\\([^:\n]+\\):\\([1-9][0-9]*\\): recipe for target '[^'\n]+' failed$" 1 2
     nil 0 1))

to demote that (apparently new?) make error to a warning, so that, in combination with (setq compilation-skip-threshold 2), M-x next-error will skip it over.

by stbergmann at April 03, 2014 03:28 PM


Hungarian and Norwegian educational materials

LibreLogo textbook (made in LibreOffice and LibreLogo)

LibreLogo textbook (made in LibreOffice and LibreLogo)

E-Governmental Free Software Competence Centre of Hungary has published a free LibreLogo textbook (PDF, 6 MB) for primary and secondary schools of Hungary. The book is based on the teaching experiences of the author, Viktória Lakó, and according to its subtitle (“from turtle graphics to the graduation in programming”), it covers a wide area from turtle graphics to the secondary school-level introduction of algorithms and data structures.

Kolbjørn Stuestøl, author of the Norwegian localization of LibreLogo, has introduced on the user support list of LibreOffice a Norwegian LibreLogo tutorial with nice examples and illustrations. The English translation of the tutorial is under development.

by Németh László at April 03, 2014 12:47 PM

April 02, 2014

Miklos Vajna

Improved support for text frames with relative sizes in LibreOffice Writer

When using text frames in Writer, you can always choose if you set an absolute size for it or you set a relative one. Oddly enough, in case of relative sizes, it wasn’t entirely clear what 100% percent means. With a bit of searching, the help says "it’s the page text area", which in practice means the page size, excluding the margins.

And that’s where the problem lies: in many cases (importing foreign formats, cover page of a document, etc.) you want to have a textframe which is 100% wide, compared to the full page size, including margins. It was already possible previously to work this around by manually specifying the same size what was used for page size, but that’s ugly, you duplicate the setting at two places.

As you can see on the above screenshot, in LibreOffice 4.3, I now implemented this as a new option, you can choose what 100% means for both width and height. File filters are also updated accordingly: in case of ODF an extension is proposed, and also DOCX and RTF filters are updated, where the file format already supported this feature.

For the curious ones, the feature is in master for almost two months now, but I only implemented my favorite part — RTF filter — only last week, that’s the "news" here. ;-)

If you want to try these out yourself, get a daily build and play with it! If something goes wrong, report it to us in the Bugzilla, so we can try fix it before 4.3 gets branched off. Last, but not at least, thanks for CloudOn for funding this improvement! :-)

April 02, 2014 06:13 PM

Björn Michaelsen

Document Liberation announced

Document Liberation has been announced today, but a picture says more than a thousand words, so I created one based on the beautiful work of Paulo José. Enjoy!

Document Liberation

Document Liberation (CC-by-sa 3.0 Paulo Jose, Bjoern Michaelsen)

by bmichaelsen at April 02, 2014 02:58 PM

Official TDF Blog

Old unaccessible documents, rejoice!

The Document Foundation announces the Document Liberation Project

Berlin, April 2, 2014 – The Document Foundation (TDF) announces the birth of the Document Liberation Project (, a home for the growing community of developers united to free users from vendor lock-in of contents. Together, these hackers will offer a solution to the routine problem faced by many computer users, who have their personal digital contents stored in an old, outdated and unaccessible file format.

“Frequently, these old files cannot be opened by any application. In fact, the users are locked out of their own content, and the most common reason for this inability to access old data is the use of proprietary file-formats that result in vendor lock-in”, says Fridrich Strba, the Document Liberation Project leader. “Even worse, when a public administration stores documents using a proprietary or a non documented format, it unintentionally restricts access to essential information to citizens, administrations and businesses. Astonishingly enough, even governments might be unable to open their own documents after an upgrade of their operating system and office software”.

The Document Liberation Project was created in the hope that it would empower individuals, organizations, and governments to recover their data from proprietary formats and provide a mechanism to transition that data into open file formats, returning effective control over the content from computer companies to the actual authors.

Since the birth of LibreOffice in 2010, several community members have taken it upon themselves to improve format interoperability with proprietary applications. Encouraged by community interest, even from outside the LibreOffice project, the developers have so far provided read support for proprietary file formats including MS Visio, CorelDraw, MS Publisher, Apple Keynote, and a handful of different old Macintosh formats. In addition to LibreOffice, import libraries for these file formats are used by Abiword, Calligra, CorelDRAW File Viewer, Inkscape and Scribus.

The Document Liberation Project aims to attract developers from all corners of the open source world to join with the LibreOffice developers, strengthening existing relationships and forging new ones with all who have shared goals in the domain of file formats. The object is to contribute to the growing open document eco-system by providing powerful tools for the conversion of proprietary file formats to the corresponding ODF ISO standard document format.

For additional information:

Support LibreOffice

LibreOffice users, free software advocates and community members can support The Document Foundation with a donation at Money collected will be used to grow the project both at global and local level.

by italovignoli at April 02, 2014 11:00 AM

April 01, 2014


Color and transparency gradients

gradientLibreOffice 4.3 (see daily builds of its development version) will support color and transparency gradients in LibreLogo:

FILLCOLOR [“YELLOW”, “RED”, 2, 0, 0, 25, 75]

FILLCOLOR defines a radial color gradient, from yellow to red, the center is positioned horizontally 25% and vertically 75% from the left upper corner of the shape. FILLTRANSPARENCY defines a linear transparency gradient, too.
gradient2Next example shows linear color and radial transparency gradients:

FILLTRANSPARENCY [100, 0, 2, 0, 0, 25, 75]

gradient3This code draws circles with random color gradients:

REPEAT 100 [
    CIRCLE 20 + RANDOM 130

by Németh László at April 01, 2014 11:45 AM

March 30, 2014

Florian Reisinger

SI-GUI and BiBi-GUI updates


It has been quite a long time since my last blog post. I am afraid this post could be just a little bit too long. That’s why I want to start off with a summary: I created a small tool called LibO Tankstelle [LibreOffice gas station], which has been used at Cebit, updated SI-GUI and BiBi-GUI. And I need YOU: You can help me test and improve Bibi-GUI. @Offtopic: I made a small game FYI

Long version after the break:

LibO Tankstelle


Not much to say about that, have a pic [made by floeff) for you:

<figure class="wp-caption aligncenter" id="856" style="width: 474px;">LibreOffice-Tankstelle<figcaption class="wp-caption-text">Filling USB–sticks @CeBit 2014</figcaption></figure>




Just a background-update, but necessary. I just didn’t want to publish a new version after the master switches to a new branch, so I fetch the list of version to update as well :) [Year, you need an internet connection in order to get the possible downloads ;)

Anyway, the file is located @

A pic of Si-GUI as well:

Server Install GUI v4.2.2

We are still not finished yet. Bibi-GUI is missing:



PS: Do not fear the error at startup, just means "No settings found)

<figure class="wp-caption aligncenter" id="attachment_861" style="width: 474px;">BiBi GUI Alpha 1<figcaption class="wp-caption-text">BiBi GUI Alpha 1</figcaption></figure>

Okay, the UI got worse :) BUT it is very functional. Here we are at the point, where I do need your help. Please continue reading this post, further information can be found here.

What I basically did (or am doing) is re-coding git bisect. And that’s the problem. I can not be 100% sure, that the algorithm the program uses is correct. Theoretically it should work with Windows/Linux/MacOS [you will need Mono [except Windows]].

If you follow the “Source”-link, you will find a short introduction as well :). One thing I want to mention here as well: If you are not on Windows, you have to edit the configuration by hand. After a try you must close the app, safe your changes to the config-file and restart the app. “Check setup” is your friend here ;)

The link above points to a QA-easyhack – feel free to assign it yourself.

Thanks for reading to this point,

Looking forward to hear from you all :)


PS: I am studying now [Currently second semester,] I have to invest a lot time into my study, so please do not expect any big innovations…

Tagged: Bibi-GUI, C#, coding, LibO Tankstelle, LibreOffice, Linux, MacOS, Mono, open source, Server Installation GUI, SI-GUI, software, technology, UI, Update, Windows

by Florian Reisinger at March 30, 2014 01:16 PM

March 29, 2014

Andreas Mantke

A second and final Day at didacta

The LibreOffice team at the didacta changed a bit today. Hillrich left yesterday and Dieter joint us. We had again many interesting talks with teacher and people from the education sector. Many of them were interested in the Math module and DMath in particular. We got the feedback from some experienced users that they loved the features of Math and count it a big value of LibreOffice.
A lot of visitors asked questions about the project and we convinced many visitors to give the office a try. We could help also all user with questions about features of the product. My coclusion: it was worth to go and present at didacta.

by andreasma at March 29, 2014 09:29 PM

March 28, 2014

Andreas Mantke

didacta First Impressions

The LibreOffice and FrODeV (Freies Office Deutschland eV.) has a booth at the fair didacta for the first time. We (Ellen, Walter, Hillrich and myself) talked to many teacher and other people working in the education sector about different topics today. The overall tone was very friendly and the visiters were always interested in the product, the project and the foundation. I heard about the interesting talks of Gisbert with visitors about the LibreOffice extension Dmath which is very usefull for teaching of and working in Mathematic.

by andreasma at March 28, 2014 09:45 PM

Caolán McNamara

700 conversion target reached

Pushed through the 700 widget conversion barrier this week. The FindDialogs wiki page has helped quite a bit. There remains quite a few blanks in there though, so help still needed to identify the route to launch those unknown dialogs and tabpages via the UI.

Of the newly identified ones I'm a little amused by RID_OFAPAGE_SMARTTAG_OPTIONS which (we think) can only be seen when a smart tags extension is installed. Is there a known working extension out there that enables this to be shown when installed ?

Trivia titbit: we have converted eight different passwords dialogs. And there remains one unconverted one whose route to being launched is currently unknown

Current conversion stats are:
706 .ui files currently exist
There are 67 unconverted dialogs
There are 68 unconverted tabpages
An estimated additional 135 .ui are required
We are 83% of the way through.

by Caolán McNamara ( at March 28, 2014 08:54 PM

March 27, 2014

Italo Vignoli

Interoperability Rules to achieve Document Freedom

To celebrate Document Freedom Day, I have written a short white paper about interoperability. It starts with a short synopsis of the evolution of document exchanges since the days of the printed file, and ends with four basic rules to improve interoperability to achieve document freedom.

As usual, the Hybrid PDF can be accessed by every PDF reader, and can be opened as a regular ODT file by LibreOffice users. Another advantage of free software, which should at least raise a question in the mind of proprietary software users.

<script async="async" class="speakerdeck-embed" data-id="194f053097c80131933476dfb098045d" data-ratio="0.707182320441989" src=""></script>

by Italo Vignoli at March 27, 2014 10:41 AM

March 26, 2014

Italo Vignoli

Achieving Document Freedom in Four Easy Steps

In order to achieve document freedom, we must learn to produce interoperable documents. Unfortunately, this means that we have to review most of our editing habits, and start thinking about several details which make a difference: the office suite, the document format and the fonts.

At the end, we will realize that if we start thinking about interoperability when we create a new document, we will eventually be able to exchange transparently any of such documents with any other user.

Use LibreOffice

Today, LibreOffice is the best available option for true document freedom, as it is the only free office suite independent from external influence. In fact, other office suites, although open source, are under the umbrella of either another open source project or a large corporation.

LibreOffice is developed by one of the largest free software communities, under the umbrella of The Document Foundation. TDF is a German based, independent, not for profit entity – supported by governments, corporations and small software companies – which is overseeing and coordinating LibreOffice related activities.

LibreOffice is released under a copyleft license: a key asset of the software. Copyleft licenses offer several advantages over other OSI approved licenses as they create an environment where corporate sponsored developers and volunteer developers can co-operate, without the risk of seeing their contributions used to create a proprietary software package.

Thanks to the positive effects of the copyleft license, the LibreOffice hacker community has been growing steadily and – although based on a majority of pure volunteers – is comparable in size with the largest open source software projects. This safeguard the independence and the future of LibreOffice as a free office suite capable of competing with proprietary offerings.


ODF is the acronym of Open Document Format for Office Applications, also known as OpenDocument. It is an XML-based file format for office documents, which was developed with the aim of providing a standard file format for desktop productivity.

ODF was developed by a technical committee in the Organization for the Advancement of Structured Information Standards (OASIS) industry consortium, based on Sun’s specification for OpenOffice XML, the default file format used by the “parent” of LibreOffice. In 2006, at the end of a lengthy review process, ODF was approved as an ISO/IEC International Standard under the name ISO/IEC 26300:2006.

ODF is recognized and supported as a document standard by several governments, companies, organizations and software products. For example: NATO with its 26 members uses ODF as a standard for documents.

ODF is the native file format of LibreOffice, and of many free office suites and applications: AbiWord, Apache OpenOffice, Calligra, GNUmeric and NeoOffice. In addition, ODF is also supported by proprietary office suites and applications.

An open standard for office documents represents a dramatic improvement over legacy proprietary file formats or pseudo-standards.

In fact, an open standard protects users against the effects of vendor lock-in, because the availability of the format specifications and the fact that the standard is managed by a truly independent organization such as OASIS foster document freedom.

ODF documents – ODT text documents, ODS spreadsheets and ODP presentations – will always be free and accessible for everyone, because they are based on open specifications. This means that implementing ODF is a straightforward process, which provides predictable and consistent results independently from the software (because developers can rely on the same public specifications, and can leverage the availability of the source code).

Trying to simplify the concept, writing an ODF document is easy – and therefore the result is predictable – because developers can access the same specifications, which are easy to understand, and can rely on the same tools. Therefore, it will always be possible to open an ODF document (even a very old one).

Of course, in order to protect users freedom, LibreOffice reads and writes – often perfectly – many flavours of proprietary documents. These files, though, should be used only to exchange contents with other users, and not to store information.

Use Free Fonts

LibreOffice uses free fonts, which can be installed on any personal computer, in order to ensure the visual consistency of documents between different hardware platforms and operating systems.

A word processing document or a presentation created with LibreOffice can be opened by any other personal computer using LibreOffice, independently from the platform or the operating system. The two documents will look identical, because the fonts will be the same (while the software will take care of all other details, such as margins, alignments and line spacings).

On the contrary, proprietary office suites use their own fonts, which are commonly replaced with similar but metrically different fonts when opened by LibreOffice or any other software. This can give a visually different result from the original, and creates an interoperability issue (even if document contents are preserved).

In fact, proprietary fonts create an artificial compatibility issue between otherwise identical documents, as the perception of a visual difference overcomes the fact that all content is preserved.

Combined with the ODF standard document format, free fonts will preserve not only the contents but also the visual appearance, for the foreseeable future. There are several sources for free fonts, which offer a large selection able to fulfil every personal taste: Google Font, with over 630 font families; Open Font Library, with almost 400 font libraries; and Font Squirrel, with a very large selection.

Free fonts improve interoperability, and increase document fidelity. So, their deployment should become a habit for every personal computer user.

Use Templates and Styles

Templates and Styles are the last component of a perfectly interoperable document, because they help users in producing standard compliant XML tags to describe the different elements (like titles, subtitles, headings, paragraphs, headers and footers, page numbers, cell contents, etc.). A standard compliant XML tag will be extremely easy to reproduce by the receiving software, and this will result in a document which is identical to the original one.

In fact, every element of the document has a tag such as <title> or <text>, which describes the function. In addition, there are other tags which describe the font and the size, and other attributes such as the character weight (regular, bold or italic) and the line alignment. If a user deletes a Template or a Style element, he will also delete the associated XML tag, which will be replaced by a generic tag.

The lack of the right XML tag will represent a problem for the receiving software, which will try to interpret the generic tag instead of reproducing the right one. The result will be a document which might – or might not, according to the behaviour of the software – be different from the original.


True document freedom can be achieved by using free software, open document standards, free fonts and standard document templates and styles. Users will have to learn a different process, in four easy steps, to improve the interoperability with other users, independently from the platform and the operating system

A small effort, for a significant improvement, as the result will be true document freedom (and transparent interoperability).

by Italo Vignoli at March 26, 2014 03:37 PM

Official TDF Blog

LibreOffice community celebrates Document Freedom Day

Today is Document Freedom Day, a day for the global celebration of information accessibility and open standards. The community behind LibreOffice, the leading free office suite, joins the celebration around the globe by participating in events and informing about the importance of truly free standards.

“With tens of millions of users worldwide using LibreOffice, we are one of the largest free software projects adopting and fostering open standards”, says Thorsten Behrens, Chairman of the Board at The Document Foundation, the charitable and vendor-independent entity behind LibreOffice. “We are proud to enable more and more users each day to make use of the free OpenDocument format, freeing them from the ties of proprietary solutions, and giving them full control of their own work and creativity. Our enormous success is only possible thanks to all those fighting for and promoting open standards, whom we’d like to thank for all their work and efforts”, he adds.

LibreOffice is available for all major platforms in over 110 languages, driven by a worldwide community, and builds on the OpenDocument format as default file format, usable on desktop, mobile as well as web clients. It sees strong support from governments, enterprises and private users worldwide, and is available free of charge from

by Florian Effenberger at March 26, 2014 03:07 PM

March 25, 2014

Jacobo Aragunde Pérez

Document Freedom Day 2014 @ A Coruña

I’m honored to be invited to talk about LibreOffice project as part of the celebration of the Document Freedom Day at the University of Coruña. It’s being organized by GPUL and the other speakers will be Chema Casanova and Juan Antonio Añel.

Come and join us tomorrow, 26th of March, from 18:00 on :)


by Jacobo Aragunde Pérez at March 25, 2014 11:08 AM

March 24, 2014

Markus Mohrhard

Update about our import/export crash testing

I wrote a blog post last year reporting about our import crash testing with a python script and how we use these results to improve our quality. Since last year we have extended the script and use it regularly on a TDF server.

Export crash testing

The largest change to the script was the new support for export crash testing. Every document that we successfully import is now exported to a number of formats depending on the application that opens it. Similar to the import testing crashes are logged into a file and are made available together with the import crash testing logs.

File Format Validation testing

Based on the exported files we started to run validators against the exported files. Right now we use officeotron for validating exported OOXML files and ODF Validator for validating ODF files. The logs for each document are written to an own file and published on a TDF server. Additionally to prevent introducing validation errors we started recently to use the same validators in our build to validate the files generated by our automated tests. Building with –with-export-validation and two scripts similar to the ones found here a validation error in the exported files will generate a test failure.

Increased document pool

At the time of my last blog post we were using a bit less than 25000 documents for the import testing. Since then we increased that number to about 54000 documents in many more formats. Together with the export testing which generates about 120000 documents with about 90GB of generated files the tests need about 3 days to run.

The reports have been incomplete recently as we have been hit by a bug currently suspected to be in the kernel. Around the 10000th document the load of the server increases without doing any actual work. We are currently trying to determine if it is a single document that is responsible or if it is a combination of a more complex setup. It has been limited to the 18000 writer documents already.


As always I’m looking for people who either want to fix one of the issues or improve the script.

by Markus Mohrhard at March 24, 2014 07:03 PM

March 22, 2014

Miklos Vajna

DOCX import progressbar in LibreOffice Writer

I’m sure in this case a few words are worth more than the above picture, so let me describe what you see above. :-)

In case of opening an ODT, DOC or RTF document in LibreOffice Writer, you already got some feedback on where the importer is, in case the process needed more time than what you feel "instant". However, this wasn’t supported for DOCX. According to git blame, I added this to my todo on 2012-10-29, and a few months later also a bugreport was opened, requesting the same, but up to yesterday, nothing changed. However, now I’ve implemented this on master, it’ll be part of the 4.3 release.

Back to where I started, what you actually see there is when LibreOffice is in the middle of the import process of the Holy Bible in DOCX format, which takes around 12 seconds on my machine. One could say that speed up quite acceptable for that amount of data, but with a progressbar, it’s definitely better. ;-)

March 22, 2014 02:54 PM

Charles Schulz

Freshly Stable

With the release of our new LibreOffice 4.2 version and the new website, people have noticed a small yet quite visual change in the way we label the versions of LibreOffice. You now have the choice between downloading LibreOffice “Fresh” or “Stable”. Of course the version numbers do not go away, however it is expected that the first  information anyone might receive about downloding LibreOffice would be these two tags, Capture du 2014-03-22 12:43:51and not numbers. Let me explain a little bit what we are trying to achieve here, as this is at this stage somewhat of an experiment.

LibreOffice release model works according to a time-based scheme and relies on two distinct production branches. This means that we do release versions that are stable and ready for use by anyone based on a pace and a set of dates that have been agreed upon and planned beforehand. By looking at the diagram on the release plan, one will also notice that these two production branches are both stable, but stand at a different stage of their lifecycle. One of these branches has seen her first stable release (4.x.0) some time ago and has seen several updates and patches. This version is now, say, in its fifth iteration (4.0.4) and is thus very stable, very patched and will see almost no changes anymore. In a Microsoft world we would call this “Service Packs”. Around the same time, a new branch has been open, but it is not a development branch, an unstable branch for development: each of the two branches has its daily testing versions, its pre-releases such as betas and release candidates. These two branches are stable no matter what. But let’s go back to the new branch. It will be released roughly around the same time that the older branch reaches its fourth or fifth iteration, and the first version of its new branch will have a .0 at its third decimal. It will then take one the same lifecycle that the older branch, until it reaches its sixth or seventh iteration at the latest. Then this branch will be entirely discontinued in favour of its successor, and so on.

Confused by the version numbers? We thought so too. This is how the idea of introducing names that would label the two distinct branches came up. Mind you: this is not about the newest release as some people thought at first. It is about drawing the line between the two current branches of the LibreOffice production. We thus  picked “Fresh” and “Stable”. it is not entirely clear whether these are the best terms, but we feel they’re working well so far in that they’re conveying complex concepts with simple terms. These also help us avoid rather long and difficult discussions with people who tend to think that we need to release one stable version when it’s ready (what used to happen and not work too well with and people who think that the new branch was a “dangerous” “development” branch only made for people living precariously on the edge. Nothing of that was and is  true; if one wants to try really unstable versions our development builds, and to a lesser extent the betas are here for that. But it is  true that the new branch introduces the new features, while the older one receives rather corrective bugfixes.

In the end, we hope this new naming scheme will bring clarity while combining freshness and stability for the benefit of all. Let me know what you think!

by Charles at March 22, 2014 12:16 PM

March 20, 2014

Fridrich Strba

LibreOffice and Google Summer of Code 2014

Hello, dear students!

This little blog is to remind you that in a bit more then 24 hours, the student applications for the 10th edition of Google Summer of Code will be closed. It is always better to submit an imperfect proposal before the deadline then to miss the deadline by 5 minutes with perfect proposal. So, check our Ideas page and hurry up with applying.

by Fridrich Strba ( at March 20, 2014 04:37 PM

March 19, 2014

Stephan Bergmann


Ever since uprading to Fedora 20 “Heisenbug,” on a whim, I seleted the OpenJDK 1.8.0 pre-release as the default Java alternative. LibreOffice builds and runs fine with it (after some minor tweaks, at least). However, when I recently wanted to run one of LibreOffice’s CppUnit tests under Valgrind, I was surprised:

This was one of our “bigger” CppUnit tests, that instantiate half of the LibreOffice code base behind your back. And among other things, it instantiates an in-process JVM. Now, even with the JVM forced into interpreting-only mode, it is notorious for causing a few false positives in Valgrind, which you need to silence with a hand-crafted suppressions file. That file mentions the full path of (at least, mine does), so I knew I had to still adapt it to the exact path of the new OpenJDK 1.8.0 installation.

But looking at the Valgrind output, the (expected) failure stack traces all mentioned OpenJDK 1.7.0 instead of 1.8.0. What was going wrong there? I ran the test outside Valgrind and verified it did use the OpenJDK 1.8.0 I even considered that Valgrind might be confused by the multiple Java debuginfo packages and resolve the stack trace symbols to wrong source files, and so removed all the relevant debuginfos, but—of course—to no avail.

When LibreOffice has no information yet which JRE to use, it searches various places to find the “best” JRE on the system. To do that, it runs the java -version command for each JRE it finds. Now, even when Valgrind reports no errors, it still prints a few informational lines to each traced prcoess’s stderr. And as we run Valgrind with --trace-children=yes, it did so for each java -version process, whose stdout/-err output LibreOffice’s jvmfwk code inspects, and which in turn got so confused by the unexpected stderr lines that it decided to better go with the tried-and-trusted 1.7.0 JRE rather than the cutting-edge 1.8.0 (“internal”) one…

This only hit when running one of the CppUnit tests, not when running LibreOffice itself under Valgrind. For one, unlike those “stateless” unit tests, LibreOffice remembers any choice of JRE in its configuration data. For another, there is some --trace-children-skip=*/java,*/gij in place to not trace into any java -version processes when LibreOffice is run under Valgrind, and thus avoid the whole hassle in case LibreOffice does run the JRE detection code.

So, once the phenomenon was understood, the fix was easy.

by stbergmann at March 19, 2014 04:06 PM