Saturday, January 21, 2012

KDE 4.8 RC2 on Solaris 11

Finally I found some motivation to debug the broken login to KDE. At first I got distracted by noticing most of plasma applets were crashing and I thought it might be related. I noted some familiar functions when debugging that and the deja-vu feeling started to grow. Indeed, I traced this Studio bug just a few weeks ago and even pushed a workaround to our Qt - but forgot to turn it on!

However that was a red herring, as I was still unable to login.

While I was inside plasma I fixed the remaining broken applet and started doing what I should have done from the beginning - analyzing the problem.

I saw that when the login stopped progressing, there was the kwapper4 process fully occupying one of the cores. The hotuser DTrace script told me it spent all the time inside the getDisplay() function. I then attached dbxtool and saw that it's looping these two lines:

   while((i = strchr(result, ':')))
     *i = '_';
That was weird. I started checking the documentation of strchr to see if there might be some difference between its behavior on Linux and Solaris and found nothing. Then I noticed that the code behaves correctly when I remove all the build options and after a handful of iterations I had the culprit - -xbuiltin=%all ... As the Studio documentation says - "Note that these substitutions can cause the setting of errno to become unreliable. If your program depends on the value of errno, avoid this option." and that's exactly what was happening. 
 
I removed the option from the whole kde-solaris repository, as it's probably only safe to use when one has the code under full control, which is not our case.

Now I'm able to log into KDE again:






Since KDE 4.8 will be released within several hours, I'll wait with publishing the binary packages
for the final release.




Thursday, January 12, 2012

Kindle

It's about six months since I got myself a Kindle 3 and I have to say I'm very happy with this device. I read mostly English books and I just started with French ones.

The cool thing when reading stuff that's not in my mother tongue is that it does not feel like a complete waste of time, even when it's just a shallow entertaining title :-)

Here's the list of books I've finished so far:
Jerry Ahern: Survivalist: Total War, The Nightmare Begins, The Quest, The Doomsayer, The Web, The Savage Horde, The Prophet, The End Is Coming, Earth Fire
Alfred Assolant: Aventures merveilleuses mais authentiques du capitaine Corcoran
Tom Clancy: Rainbow Six
Arthur Conan Doyle: The Adventures of Sherlock Holmes
Charles Dickens: A Christmas Carol
Alexandre Dumas: Le comte de Monte-Christo Tome I
Frederick Forsyth: The Dogs of War, SSN
Thomas More: Utopia
Sax Rohmer: The Insidious Dr. Fu Manchu
Lemony Snicket: A series of unfortunate events: The Bad Beginning, The Reptile Room, The Wide Window, The Miserable Mill, The Austere Academy, The Ersatz Elevator, The Vile Village, The Hostile Hospital
Jules Verne: Robur le Conquerant