It has been almost 2 months since last entry, so it's time to give some news again!
Some reasons why I did not write include that I was away almost all week-ends since FOSDEM and also that I have been dying for last 10 days after catching some sort of cold.
On a technical side, I'm mostly busy trying to fix some Mandriva bugs as 2009 Spring RC1 was released almost 2 weeks ago and RC2 will be soon, nothing very interesting there I guess...
Something more interesting I wanted to write about is Kiva which I discovered last week on some blog. It's a non-profit organization managing micro-loans over internet. They team with some field partners to work with the people who need the money and it seems to works great. I invested $25 to help a woman in Nigeria buy some sarongs to sell. This went through Lift Above Poverty Organization which has already managed $2,262,075 and got every loan back so far!
One last thing, I should tell RATP (Paris Transportation) that their campaign to try to have people behave better with colorful stickers like "Losing seconds in a station makes all the line late" is not very efficient. The following photo (or rather the fact that no one in the train where I took it had noticed) proves that people don't read it. It's a fake one which says "When I get out of the metro, I push old people!".
That news had me check my account and I found it was about to expire in 5 days. The better news is that they did not adjust prices to current rates, meaning that monthly price is 3 USD, 1.5 GBP or 2.5 EUR. At current paypal rate that makes one year at 19.90 EUR when paying in GBP, while it's 30EUR when paying in EUR.
I'm quite happy with the bugs I managed to fix since Friday!
First, I finally understood the hang when mounting ntfs-3g bug.
Basically mount.ntfs-3g calls mount -f -i to update /etc/mtab, mount does a readlink on mountpoint in case it would be a link, the fs is already mounted so readlink in done on the ntfs inode, if audit is enabled it will request the xattrs which will be sent to userspace via fuse, and because mount.ntfs-3g is waiting for mount to return it will deadlock. Current workaround is to not wait for the child.
I also patched initscripts to be more tolerant with missing partitions. It now only drops you to a shell (and then reboot) if you have uncorrected error on a partition, not if you canceled the check or if the partition does not exist, this was very annoying for people who had defined mountpoints for non critical partitions, set them as noauto, but could not boot if the partition changed UUID because of fsck.
I also improved some details in diskdrake, like displaying labels in partition info (when there is one) even in non expert mode, and displaying label in graphical view when there is no mountpoint defined (instead of no text).
And I finally resolved another long standing Mandriva bug. gnome-screensaver often hanged when checking password. The culpript turned out to be pam_tcb which is used with "fork" option. That means it will fork to do the auth process in a separate process and then this process will exit. The issue is that several things register destructors as atexit (namely scim and Orbit2) and get called by exit() in the child.
I patched pam_tcb to use _exit() instead but I think we should remove the fork option as forking a graphical multithreaded app interacting with various daemons without exec is quite unsafe...
I'll attend Solutions Linux on Wednesday, on Mandriva booth.
Here are the sub-events I plan to attend: