Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 23 Oct 2011 19:52:09 -0400
From: Rich Felker <>
Subject: Re: Revitalizing testing!

On Sun, Oct 23, 2011 at 05:25:45PM -0400, Rich Felker wrote:
> 1. Deriving from the musl git history as list of specific corner cases
> that were problematic/buggy at some point in time, and ensuring that
> an existing test covers the case, or else writing a new test.

Here's a list of bugs up through the beginning of April which need
regression testing. (A few of them are already covered, but most are
not.) Listed by commit that fixed them...more to come soon...

commit dc3776d445957cd3ea4a682db518701b93d34292
Test that signal handler invocation and return basically work

commit 50e26f09eb13f6568113a05dbcfe94a6b1010da0
pthread_exit calls cancellation handlers

commit 59666802fba592a59f2f4ea4dcb053287fd55826
pthread_create returns EAGAIN on resource failure

commit 5cbd76c6b05b381f269e0e204e10690d69f1d6ea
commit bdc9ed15651b70e89f83c5a9f7d1ba349e624503
printf %n does not crash or overwrite adjacent memory and stores the
correct number of characters output so far

commit b24bc15f5c3828184f123698b4b545fef4edac99
qsort never compares elements with themselves. (this is not a
conformance issue, but it's a quality/performance issue and breaks gcc
because gcc is stupid.)

commit fb11b6b85e1e01daf17228be32d7f98b47517363
pthread_exit runs dtors even for last thread.

commit a49c119276742d7d212fb88f83a8f559ca549e72
blocking all signals does not inhibit cancellation.

commit a6238c30d169cbac6bc4c4977622242063e32270
rewind clears error and eof status for file

commit 63b06c0e904fbdbc87b3e17d067b62afe9bb3dd1
invalid pthread attr settings are rejected

commit 4820f9268d3dc1f2aac923de0a591ffd5d54ea89
mutex ownership is checked at unlock for recursive/errorchecking.
mutex attr type is honored.

commit e5dd18319bbd47c89aac5e1571771958a43e067d
trylock functions return EBUSY (not EGAIN or EDEADLK) when the
lock is busy.

commit 370f78f2c80c64b7b0780a01e672494a26b5678e
raise affects calling thread's pending signals, not process's.

commit 0bed7e0acfd34e3fb63ca0e4d99b7592571355a9
raise does not target wrong process on fork race conditions.

commit 3f5420bcda134de80ed6b0f0da1d7d23f147a4cc
initial thread after fork is in consistent state.

commit 500c969f059dc1b12dc3809d270cb169abbd57d3
pthread_sigmask must return error rather than -1/errno.

commit 1b538acb0ac8520a8a5fd828add2e52e1d2a41eb
clock functions are tricky as to whether they return an error or
return -1 and set errno.

commit 0a949ebdf0b9fc054ea868bd049c8f2c7aed973e
sigwait cannot fail with EINTR.

commit dc54a7cbb9f0aad6f614131ecc683fbb0b717115
sigqueue must not leak caller's stack junk to target.

commit 81af503610761a69476a3adbe8341fa8b6d078aa
multiple opens of same named semaphore return same address.

commit a012aa879fb790c8e0446638b206b7f34e92c51e
wmemchr does not run off end of string.

commit 8ae2fa65636b732e04e19b2521edc335867ba53b
puts is atomic.

commit 05b694028e0537954ea2d5e69774e0c24bf9ab47
getc does not confuse EOF/0xff.

commit 117581ca69ec2a9c341390eed353646b47a512df
spinlocks have proper memory barriers.

commit 0b240ccf523b9af23dd1efa78274f397fcc90cdd
remove works on directories.

commit a1eb8cb5dab06dd23c256d03d82ef6b0efc4b6c6
pthread_mutex_unlock is safe on a never-locked errorchecking mutex.

commit 9a909fcd915c65628931dcf6e7b34f261e39e3a3
fseek does not set error flag on failed seek.

commit c68b26369e89ead7511ef113850035775c5d183d
strchr works for 8-bit values.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.