updatedb prints "/serialize" endlessly
Hi all,
This is on up-to-date FC16 (3.2.7-1.fc16.x86_64). I recently experienced a full disk due to a series of very large files in /var/lib/mlocate. They were all called similar to this: mlocate.db.bE9zKe. The last 6 were varying. Apparently updatedb couldn't complete its task and I'm stuck with intermediate files. The actual mlocate.db was quite old. To check I ran updated -v. This started happily but after a while it began printing this endless string to the console: Code:
.....serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize/serialize..... Code:
PRUNE_BIND_MOUNTS = "yes" |
I make no guarantees, but I can glance at the source code for updatedb. If I can locate the spot that prints "serialize," I can try to work backward and determine what conditions cause it to print that message.
I downloaded mlocate-0.25 (which includes updatedb), but a search for "serialize" within the code resulted in 0 hits. What version comes bundled with FC16? i.e. Code:
updatedb --version EDIT: The man page for updatedb on my Debian system shows that the default location for the master database is: Code:
/var/lib/mlocate/mlocate.db |
Hi Dark Helmet, thanks for your support. No surprise you couldn't find the string in the source. The culprit was a file called "serialize" (/var/cache/tomcat6/work/Catalina/localhost/betterform/loader/org/apache/xml/serialize) that has the same inode as its containing directory. Many commands, find being one of them, detect this situation but updatedb apparently is sucked into the abyss of endless repetition.
So thanks again dark helmet and sorry I sent you on this goose hunt. Ultimately we have uncovered (imho) a weakness in locatedb. Kind regards, Jan. |
Hey, no worries.
I'm glad you were able to find the problem. Shoot the author an email/bug report, and maybe he'll give you a "kudos" in the next release, a coupon for a free beer, or a nasty-gram for challenging the integrity of the program! ;) It's like a box of chocolates... Unverified: official (?) mlocate page |
Thanks. I followed your advice and filed a bug report.
Cheers Jan |
All times are GMT -5. The time now is 04:46 AM. |