Red Hat Bugzilla – Bug 492017
possible memory leak in OOo?
Last modified: 2009-06-08 21:43:21 EDT
Description of problem:
After being updated, OOo is no longer able to save. This leads to data loss unless the user is diligent to save documents and shut down all OOo processes before performing an upgrade.
Steps to Reproduce:
1. Open a document in OOo
2. Update OOo
3. Edit the document
OOo refuses to save the document.
OOo saves the document successfully.
Could you possibly be more specific about which version you updated from and to? I have experienced no problem going from 3.0.0-9.10 to 3.0.1-15.3. Anyway, it looks like a change in some dynamically opened library might have caused that, which is something we can do nothing about.... What else did you update (look into /var/log/yum.log if you used yum for the update)?
> Could you possibly be more specific about which version you updated from and
I've never *not* experienced it on upgrade.
> Anyway, it looks like a change in some dynamically opened library might have caused that, which is something we can do nothing about....
It may need to be handled upstream, but IMO it's still unacceptable. I started here in case it's related to how rpm updates are done. Let me know if I should move this upstream, but IMO this bug should stay open until a fix is available in release or updates.
> What else did you update
Mar 22 18:07:09 osprey yum: Updated: xorg-x11-server-common-1.5.3-15.fc10.i386
Mar 22 18:07:13 osprey yum: Updated: xkeyboard-config-1.4-7.fc10.noarch
Mar 22 18:07:13 osprey yum: Updated: 1:control-center-filesystem-18.104.22.168-13.fc10.i386
Mar 22 18:07:30 osprey yum: Updated: thunderbird-22.214.171.124-1.fc10.i386
Mar 22 18:07:37 osprey yum: Updated: cjkunifonts-uming-0.2.20080216.1-11.fc10.noarch
Mar 22 18:07:45 osprey yum: Updated: 1:openoffice.org-ure-3.0.1-15.3.fc10.i386
Mar 22 18:07:56 osprey yum: Updated: e2fsprogs-libs-1.41.4-4.fc10.i386
Mar 22 18:07:59 osprey yum: Updated: libcurl-7.19.4-3.fc10.i386
Mar 22 18:08:40 osprey yum: Updated: 1:openoffice.org-core-3.0.1-15.3.fc10.i386
Mar 22 18:08:40 osprey yum: Updated: audit-libs-1.7.12-3.fc10.i386
Mar 22 18:08:50 osprey yum: Updated: coreutils-6.12-20.fc10.i386
Mar 22 18:08:52 osprey yum: Updated: 1:openoffice.org-brand-3.0.1-15.3.fc10.i386
Mar 22 18:08:57 osprey yum: Updated: 1:qt-4.4.3-15.fc10.i386
Mar 22 18:08:58 osprey yum: Updated: hplip-libs-2.8.12-6.fc10.i386
Mar 22 18:09:02 osprey yum: Updated: xine-lib-126.96.36.199-3.fc10.i386
Mar 22 18:09:15 osprey yum: Updated: 1:qt-x11-4.4.3-15.fc10.i386
Mar 22 18:09:31 osprey yum: Updated: 1:openoffice.org-calc-core-3.0.1-15.3.fc10.i386
Mar 22 18:09:54 osprey yum: Updated: ghostscript-8.63-5.fc10.i386
Mar 22 18:10:07 osprey yum: Updated: evolution-data-server-2.24.5-4.fc10.i386
Mar 22 18:10:08 osprey yum: Updated: libical-0.43-2.fc10.i386
Mar 22 18:10:12 osprey yum: Updated: 1:openoffice.org-impress-core-3.0.1-15.3.fc10.i386
Mar 22 18:10:13 osprey yum: Updated: curl-7.19.4-3.fc10.i386
Mar 22 18:10:18 osprey yum: Updated: gnash-0.8.5-3.fc10.i386
Mar 22 18:10:38 osprey yum: Updated: e2fsprogs-1.41.4-4.fc10.i386
Mar 22 18:11:00 osprey yum: Updated: 1:openoffice.org-presenter-screen-3.0.1-15.3.fc10.i386
Mar 22 18:11:57 osprey yum: Updated: 1:control-center-188.8.131.52-13.fc10.i386
Mar 22 18:12:12 osprey yum: Updated: 1:hpijs-2.8.12-6.fc10.i386
Mar 22 18:12:17 osprey yum: Updated: 1:openoffice.org-math-core-3.0.1-15.3.fc10.i386
Mar 22 18:12:20 osprey yum: Updated: 1:openoffice.org-graphicfilter-3.0.1-15.3.fc10.i386
Mar 22 18:12:27 osprey yum: Updated: 1:openoffice.org-writer-core-3.0.1-15.3.fc10.i386
Mar 22 18:12:57 osprey yum: Updated: llvm-2.4-4.fc10.i386
Mar 22 18:13:05 osprey yum: Updated: lirc-libs-0.8.4a-2.fc10.i386
Mar 22 18:13:07 osprey yum: Updated: 1:openoffice.org-writer-3.0.1-15.3.fc10.i386
Mar 22 18:13:13 osprey yum: Updated: hplip-2.8.12-6.fc10.i386
Mar 22 18:13:14 osprey yum: Updated: 1:openoffice.org-impress-3.0.1-15.3.fc10.i386
Mar 22 18:13:17 osprey yum: Updated: 1:quota-3.16-7.fc10.i386
Mar 22 18:13:18 osprey yum: Updated: gnash-plugin-0.8.5-3.fc10.i386
Mar 22 18:13:19 osprey yum: Updated: 1:openoffice.org-calc-3.0.1-15.3.fc10.i386
Mar 22 18:14:07 osprey yum: Updated: 1:qt-devel-4.4.3-15.fc10.i386
Mar 22 18:14:37 osprey yum: Updated: xine-lib-devel-184.108.40.206-3.fc10.i386
Mar 22 18:14:40 osprey yum: Updated: xine-lib-pulseaudio-220.127.116.11-3.fc10.i386
Mar 22 18:14:42 osprey yum: Updated: audit-1.7.12-3.fc10.i386
Mar 22 18:14:45 osprey yum: Updated: xorg-x11-server-Xorg-1.5.3-15.fc10.i386
Mar 22 18:14:47 osprey yum: Updated: xorg-x11-server-Xephyr-1.5.3-15.fc10.i386
Mar 22 18:14:48 osprey yum: Updated: audit-libs-python-1.7.12-3.fc10.i386
Mar 22 18:15:01 osprey yum: Updated: portreserve-0.0.4-1.fc10.i386
Mar 22 18:15:07 osprey yum: Updated: 1:obex-data-server-0.4.3-1.fc10.i386
Mar 22 18:15:09 osprey yum: Updated: dosbox-0.72-5.fc10.1.i386
Mar 22 18:15:09 osprey yum: Updated: 1:openoffice.org-draw-core-3.0.1-15.3.fc10.i386
Mar 22 18:15:55 osprey yum: Updated: selinux-policy-3.5.13-48.fc10.noarch
Mar 22 18:17:01 osprey yum: Updated: selinux-policy-targeted-3.5.13-48.fc10.noarch
Mar 22 18:17:19 osprey yum: Updated: llvm-devel-2.4-4.fc10.i386
Mar 22 18:17:20 osprey yum: Updated: 1:openoffice.org-math-3.0.1-15.3.fc10.i386
Mar 22 18:17:21 osprey yum: Updated: libical-devel-0.43-2.fc10.i386
Mar 22 18:17:21 osprey yum: Updated: ghostscript-devel-8.63-5.fc10.i386
Mar 22 18:17:22 osprey yum: Updated: 1:openoffice.org-xsltfilter-3.0.1-15.3.fc10.i386
Mar 22 18:17:24 osprey yum: Updated: e2fsprogs-devel-1.41.4-4.fc10.i386
Mar 22 18:17:30 osprey yum: Updated: 1:openoffice.org-pdfimport-3.0.1-15.3.fc10.i386
Mar 22 18:17:31 osprey yum: Updated: 1:openoffice.org-draw-3.0.1-15.3.fc10.i386
Mar 22 18:17:31 osprey yum: Updated: perl-Git-18.104.22.168-3.fc10.i386
Mar 22 18:17:38 osprey yum: Updated: git-22.214.171.124-3.fc10.i386
Mar 22 18:17:38 osprey yum: Updated: git-cvs-126.96.36.199-3.fc10.i386
Mar 22 18:17:39 osprey yum: Updated: git-svn-188.8.131.52-3.fc10.i386
Mar 22 18:17:40 osprey yum: Updated: gitk-184.108.40.206-3.fc10.i386
I've never experienced any particular problems myself, so the steps to reproduce should be...
1. start oowriter and open a document, make a few changes
2. upgrade writer with yum to a newer version
3. Try and save the document with the in-memory old version, and there will be a failure of some kind (what sort of failure, a dialog of some kind, if so what did it say (roughly at least), "permission denied" ?, "unknown error" ?
(In reply to comment #0)
Okay, let's start again. If we are to cope with your problem, we need reproduce it in the first case. For reproducing anything, we need to know _as much as possible_ about what you did.
> Steps to Reproduce:
> 1. Open a document in OOo
What kind of document? What format it was saved in? Was it saved locally or remotely (over NFS, WebDAV or whatever)? Did you re-save it before the update?
> 2. Update OOo
From which version to which? Just OOo or bunch of other stuff as well? (Well, you answered these already.)
> Actual results:
> OOo refuses to save the document.
How did you notice that? Did OOo show some error message? If so, what message? Did you try to save the document in the same format (i.e. just Save) or to convert it into some other format?
I see selinux-policy in the update list in comment 2, so maybe you could let us know if you have SELinux enabled and, if so, which mode you use as well (just run sestatus in terminal to get the information).
Okay, trying to add details...
1. ODT document (i.e. "the default format"), opened as ODT, trying to save as ODT. (Trying to save as RTF also elicits a "failure" dialog but writes the file. Trying to save as ODT just fails; I know because I've had to reassemble changes from RTF's.) Saved beneath ~, which lives on the same partition as / and is a local ext3 mount.
2. Doesn't seem to matter what version, I've seen it several times (every time I've accidentally updated OOo with documents open, in fact).
Results: OOo pops up an error dialog-box (don't remember the exact text, something like "operation failed" I think; it was an obnoxiously generic error), the document remains flagged as "modified" and is not written to disk (as re-opening it - i.e. in kword or after restarting OOo - shows the old version without any changes made). Using "Save" button, but "Save As" ODT fails equally.
SElinux is disabled. (sestatus is apparently not installed)
In case it makes a difference, I had the platform wrong; it is i686, not x86_64.
I'll be surprised if the problem *isn't* OOo trying to use some library in some strange way that gets messed up when said library is replaced.
rpm --install of...
started writer as normal user, wrote some lines, saved as .odt, made some more changes, left them unsaved and left writer running.
rpm --upgrade of...
returned to writer and clicked save button to save un-saved pending changes. No error, closed and opened .odt, content was as it should have been.
Just to make sure, you're not hovering around a full disk situation which an upgrade shoves you over temporarily ? i.e. df -k. Otherwise there's some particular trigger (e.g. graphic or objects in the file, running OOo as root or something) which is eluding me at the moment
--upgrade was of...
/dev/sda3 451G 314G 115G 74% /
...not out of space. (Also, I wouldn't expect it to magically work again after restarting in that case.)
I had this happen again the other day (fortunately the only thing I "lost" was some stuff I had just typed), though I don't remember updating OOo; maybe it's not the OOo update that causes the problem but something else updated at the same time?
Maybe if someone has a handy VM (my home PC is too old, and at best I couldn't try at work until next week), try a fresh F10 install with no updates, and update everything.
Not running as root, and I've seen it affect files that, as far as I know, don't have anything "fancy" in them. Hmm... they might have 'last saved date' fields in them, and they started as .doc's saved by MSO 2000 (though they have been .odt for a while), maybe one of those has an effect? (I'm not sure I haven't experienced this with .odt's that fit neither of those criteria, however.)
There has only been three OOo updates for Fedora, and only two of those pushed to stable, i.e.
openoffice.org-3.0.1-15.2.fc10 on 2009-01-29 and
openoffice.org-3.0.1-15.3.fc10 on 2009-03-16
so if "it happened again" on the same machine where it previously happened on 2009-03-24 when OOO was updated to openoffice.org-ure-3.0.1-15.3.fc10 then it can't be an update of OOo itself while running that triggers this as there indeed haven't been any updates of OOo since then.
"maybe it's ... something else updated at the same time?"
Mar 29 15:32:36 osprey yum: Updated: libX11-1.1.5-2.fc10.i386
Mar 29 15:32:40 osprey yum: Updated: xulrunner-220.127.116.11-1.fc10.i386
Mar 29 15:32:44 osprey yum: Updated: mysql-libs-5.0.77-1.fc10.i386
Mar 29 15:32:45 osprey yum: Updated: libselinux-2.0.78-1.fc10.i386
Mar 29 15:32:46 osprey yum: Updated: 2:gimp-libs-2.6.6-1.fc10.i386
Mar 29 15:32:46 osprey yum: Updated: rhino-1.7-0.3.r2pre.1.1.fc10.noarch
Mar 29 15:32:54 osprey yum: Updated: tzdata-2009d-1.fc10.noarch
Mar 29 15:32:56 osprey yum: Updated: tzdata-java-2009d-1.fc10.noarch
Mar 29 15:32:57 osprey yum: Updated: gnome-python2-extras-2.19.1-28.fc10.i386
Mar 29 15:32:58 osprey yum: Updated: libselinux-devel-2.0.78-1.fc10.i386
Mar 29 15:33:07 osprey yum: Updated: firefox-3.0.8-1.fc10.i386
Mar 29 15:33:12 osprey yum: Updated: libX11-devel-1.1.5-2.fc10.i386
Mar 29 15:33:18 osprey yum: Updated: logwatch-7.3.6-35.fc10.noarch
Mar 29 15:33:21 osprey yum: Updated: system-config-keyboard-1.2.15-5.fc10.noarch
Mar 29 15:33:34 osprey yum: Updated: 1:java-1.6.0-openjdk-18.104.22.168-13.b14.fc10.i386
Mar 29 15:33:35 osprey yum: Updated: libical-0.43-4.fc10.i386
Mar 29 15:33:36 osprey yum: Updated: 32:bind-libs-9.5.1-2.P2.fc10.i386
Mar 29 15:33:37 osprey yum: Updated: 1:NetworkManager-glib-0.7.0.99-5.git20090326.fc10.i386
Mar 29 15:33:38 osprey yum: Updated: mysql-embedded-5.0.77-1.fc10.i386
Mar 29 15:33:40 osprey yum: Updated: mysql-5.0.77-1.fc10.i386
Mar 29 15:34:02 osprey yum: Updated: 2:gimp-2.6.6-1.fc10.i386
Mar 29 15:34:02 osprey yum: Updated: 2:gimp-help-browser-2.6.6-1.fc10.i386
Mar 29 15:34:06 osprey yum: Updated: mysql-server-5.0.77-1.fc10.i386
Mar 29 15:34:10 osprey yum: Updated: 1:NetworkManager-0.7.0.99-5.git20090326.fc10.i386
Mar 29 15:34:11 osprey yum: Updated: 32:bind-utils-9.5.1-2.P2.fc10.i386
Mar 29 15:34:11 osprey yum: Updated: 1:java-1.6.0-openjdk-plugin-22.214.171.124-13.b14.fc10.i386
Mar 29 15:34:20 osprey yum: Updated: 1:java-1.6.0-openjdk-devel-126.96.36.199-13.b14.fc10.i386
Mar 29 15:34:20 osprey yum: Updated: gnome-python2-gtkhtml2-2.19.1-28.fc10.i386
Mar 29 15:34:21 osprey yum: Updated: libselinux-python-2.0.78-1.fc10.i386
Mar 29 15:34:21 osprey yum: Updated: libselinux-utils-2.0.78-1.fc10.i386
Mar 29 15:34:29 osprey yum: Updated: yelp-2.24.0-7.fc10.i386
Mar 29 15:34:42 osprey yum: Updated: blender-2.48a-5.fc10.i386
Mar 29 15:34:43 osprey yum: Updated: 2:ntfs-3g-2009.3.8-1.fc10.i386
Mar 29 15:34:46 osprey yum: Updated: cmake-2.6.3-3.fc10.i386
Mar 29 15:34:47 osprey yum: Updated: gzip-1.3.12-8.fc10.i386
Mar 29 15:34:51 osprey yum: Updated: mysql-devel-5.0.77-1.fc10.i386
Mar 29 15:34:54 osprey yum: Updated: mysql-embedded-devel-5.0.77-1.fc10.i386
Mar 29 15:34:55 osprey yum: Updated: libical-devel-0.43-4.fc10.i386
Mar 29 18:17:03 osprey yum: Installed: aubio-0.3.2-4.fc10.i386
Mar 29 18:17:04 osprey yum: Installed: libgtop2-2.24.3-1.fc10.i386
Mar 29 18:17:07 osprey yum: Installed: 1:bug-buddy-2.24.2-1.fc10.i386
Mar 29 18:17:09 osprey yum: Installed: denemo-0.8.0-1.fc10.i386
Apr 1 21:56:55 osprey yum: Installed: xerces-c-2.8.0-2.fc10.i386
Apr 1 21:57:11 osprey yum: Installed: enigma-1.01-6.2.i386
Apr 1 21:58:16 osprey yum: Updated: gvfs-1.0.3-7.fc10.i386
Apr 1 21:58:16 osprey yum: Updated: libv4l-0.5.9-1.fc10.i386
Apr 1 21:58:17 osprey yum: Updated: kpartx-0.4.8-8.fc10.i386
Apr 1 21:58:19 osprey yum: Updated: device-mapper-multipath-0.4.8-8.fc10.i386
Apr 1 21:58:19 osprey yum: Updated: gvfs-obexftp-1.0.3-7.fc10.i386
Apr 1 21:59:01 osprey yum: Updated: selinux-policy-3.5.13-53.fc10.noarch
Apr 1 22:00:07 osprey yum: Updated: selinux-policy-targeted-3.5.13-53.fc10.noarch
Apr 5 21:45:16 osprey yum: Updated: kernel-firmware-188.8.131.52-170.2.56.fc10.noarch
Apr 5 21:45:46 osprey yum: Installed: kernel-devel-184.108.40.206-170.2.56.fc10.i686
Apr 5 21:45:51 osprey yum: Updated: kernel-headers-220.127.116.11-170.2.56.fc10.i386
Apr 5 21:45:54 osprey yum: Updated: netpbm-10.35.61-1.fc10.i386
Apr 5 21:46:24 osprey yum: Installed: kernel-18.104.22.168-170.2.56.fc10.i686
Apr 5 21:46:24 osprey yum: Updated: faac-1.28-1.fc10.i386
Apr 5 21:46:29 osprey yum: Updated: netpbm-progs-10.35.61-1.fc10.i386
Apr 5 21:46:33 osprey yum: Updated: gnupg2-2.0.10-1.fc10.i386
Apr 5 21:46:34 osprey yum: Updated: xine-lib-extras-freeworld-22.214.171.124-3.fc10.i386
Apr 5 21:46:35 osprey yum: Updated: netpbm-devel-10.35.61-1.fc10.i386
Apr 5 21:46:42 osprey yum: Updated: kmod-nvidia-173xx-126.96.36.199-170.2.35.fc10.i686-173.14.18-1.fc10.i686
Apr 5 21:46:43 osprey yum: Updated: xorg-x11-drv-nvidia-173xx-173.14.18-1.fc10.i386
Apr 5 21:46:45 osprey yum: Installed: kmod-nvidia-173xx-188.8.131.52-170.2.56.fc10.i686-173.14.18-1.fc10.1.i686
Apr 5 21:46:46 osprey yum: Updated: kmod-nvidia-173xx-173.14.18-1.fc10.1.i686
Apr 5 21:46:49 osprey yum: Updated: xorg-x11-drv-nvidia-173xx-libs-173.14.18-1.fc10.i386
Apr 5 21:47:10 osprey yum: Installed: kernel-184.108.40.206-170.2.56.fc10.i686
If I didn't miss something, the commonalities are:
Hmm... okay, not much. Did I mention I have selinux disabled? I wouldn't think it's something in the selinux-policy post script, but if so, and if it only breaks with selinux disabled, that might explain why no one else has seen this.
(I'd really love to know why I seem to be the only one with this bug. Given that I've had it happen at least a half dozen times it's obviously not just a one-time fluke.)
Another point, I tend to leave OOo running. It might also be that the bug just starts happening, regardless of anything, after OOo has been running for a few days, or some such. (Just trying to think of anything that might be peculiar to my usage...)
ran OOo, typed some text, saved it, typed some more text and left it unsaved and OOo running
SELinux status: disabled
> rpm --upgrade selinux-policy-3.5.13-53.fc10.noarch.rpm selinux-policy-targeted-3.5.13-53.fc10.noarch.rpm libical-0.43-4.fc10.i386.rpm
pressed "save" icon in OOo, all ok. closed and reloaded document. content was as expected.
Desktop env was GNOME for what that's worth
I'm going to have to give up on this one as I can't figure out how to trigger the problem. If anyone can figure out the steps to get this to happen then feel-free to reopen and I'll have another stab at it
It's doing it again. (The exact error, by the way, is "Error saving the document <Name of Document>: Error writing file.") No recent updates that I can think of; in fact, besides leaving OOo running for several days (or maybe it's been a few weeks) I can't think of anything "interesting" I've done. Maybe the problem is just leaving OOo running "too long"?
Oh, and... come to think of it, I've never seen this at work (except I am only working with pure ODF there). I would suggest:
Create a document in Word 2000. Add some fields (things like author name, and perhaps most relevantly, last saved date, in 'long-month year4' format). Save. Load in oowriter, save as ODT, restart OOo, open the ODT.
Ignore it and use the computer for several days or more.
Go back to oowriter, change something, try to save.
So we might be talking about a long term file descriptor leak or something like that where we eat up available fds.
ulimit -n 128
to bring the number down to a small amount and playing around might make it faster/easier to reproduce
More info (also, so much for not seeing this on my work machine): I've now seen twice the error: "Error saving the document <name>: /tmp/<stuff> does not exist.", followed by "Error saving the document <name>: Object not accessible. The object cannot be accessed due to insufficient user rights.". (The message I am looking at now has "<stuff>" = "svpfe.tmp/sv148.tmp". Now, I'm quite confident I have write access to /tmp; in fact I checked when I saw this error at home.)
What is odd is I only get this once, then it goes back to displaying the ever-so-helpful message in comment #13.
I currently have two running instances of oowriter in this state. lsof shows about 320 opened files in both cases. Most interesting is: '/usr/lib64/openoffice.org3/program/swriter.bin (deleted)', despite that I'm not aware of running updates since launching the instance at home. If there is any other information you can think that I could fetch from the running instances, please let me know.
(I probably didn't notice that work had gotten messed up also because I have mainly been using oocalc, which seems unaffected; even right this moment with oowriter unable to save, oocalc can save just fine. As with at home, oowriter has been running quite some time; since Mar 6, in fact; the instance at home has "only" been running since Apr 5.)
I'm seeing this again, this time with new and interesting information. I have one document that I can't save... and one that I can. The difference is likely size; the one that can't be saved is 193 kb (as .odt; 81 pages), the one that I can save is 17 k (also odt; only 2 pages). I was also able to save the larger one after closing and re-opening it (while another document was open, so swriter.bin was not restarted).
This makes me suspect that the failure to save is being caused by a failed heap allocation (or mmap; similar vein), possibly due to a memory leak. This would explain why the problem manifests only after OOo has been running for some time, and also why I am seeing it most often with the aforementioned large document open.
After closing and re-opening (and closing again), swriter.bin's memory usage is:
VIRT 1610 M, RES 761 M, SHR 27 M
Right now all I have open is the smaller document; that seems like a /lot/ of memory for a two page .odt. The process has been running since May 14. This is with 3.0.1-15.3.fc10.i386.