Warning: This is old version of the site! Return to the current version.

21 Sep 2004

Chasing for bugs...

There are two very interesting ones:


First is in Anubis. When running Anubis test suite in authmode, Wojciech noticed that some daemon instances enter endless loop attempting to free a chunk of memory.

My further investigation has shown that it always occurred when trying to free an ASN1 node belonging to _gnutls_pkix1_asn tree. The bug manifests the following regularities:

It seems like a heap corruption, the two basic questions are: why it is not revealed at an earlier stage by malloc debugging code, and why enabling this same debugging code makes the bug disappear? It will take a while to answer these questions...


Yep, the second one is there. It manifests itself as an incorrect comparison of two struct timeval. More precisely, in the following snippet:

        gettimeofday(&now, NULL);
        timersub(&now, start, &diff);
        if (timercmp(&diff, tval, <)) {

timercmp incorrectly returns false when now differs from start by several milliseconds (the actual order of magnitude of tval is several seconds).

The bad thing about it is that both timersub and timercmp come from standard glibc headers...


Paxutils' project page is updated.


Paxutils' official page at http://www.gnu.org/software/paxutils is still unavailable, despite the fact that I have uploaded an updated version two days ago. E-mails to Savannah hackers and GNU webmasters have so far given null effect. In fact, they remained unanswered.

For the time being, I have to host paxutils page on my server.

I'm quite accustomed to various delays, but frankly, sometimes I'm getting bored...

Good reading

The Ancient Scripts site is fantastic.

A very good introduction to Korean language.