Joy of interoperating with Linux and Solaris
One would think Linux is a version of Unix and Solaris is another Unix which would share many things in common. But when one goes down the low levels they can be quite different and painful.
Just hack a gconf bug on Solaris http://bugzilla.gnome.org/show_bug.cgi?id=143590.
The sysmptom goes like that, login to JDS on Solaris and logout after a number of tries,
one can no longer login because gconfd is sitting and waiting for some one to wake it up
and gconf-sanity-check also happily waiting for response from gconfd daeomon. The problem,
gconfd just violated one big rule in signal handler, i.e. running non-rentrant
code within the signal handler. The irony, this is not a problem at all on Linux.
Another problem I saw this week is also related to gconf. I want to set up a single instance
of gconfd running across multiple machines. Use two machines to test it, one running Solaris
and the other Linux (SLED 1.0). When I login to Linux and then Solaris, I started changing
gconf keys on one machine and is happily picked up by that on the other machine. I was smiling
but not for long ...
When I then logout from both machines. Login to Solaris the Linux, I can't login on the later.
Guess what, the second machine cannot obtain a lock over an NFS file. This may be obvious to
some, but not to me. Just got to verify this and log bug.