Hi,
I found something about test_socket hang. The problem I'm seeing
looks like a race condition. kdump -H yields:
73334 100505 python CALL thr_kill(0x1884e,SIG(null))
73334 100505 python RET thr_kill 0
73334 100505 python CALL thr_exit(0xccab78)
73334 100430 python CALL thr_kill(0x187f9,SIG(null))
73334 100430 python RET thr_kill 0
73334 100430 python CALL poll(0xc6eee0,0x1,0x7d0)
As you can see in this log, thread 100505 sends restart signal to
thread 100430 *BEFORE* thread 100430 has started poll() kernel call.
Then thread 100430 is stuck in poll() with nobody to restart it.
If I hit ^Z, poll is interrupted, then "fg" makes it progress. By
doing this a couple of times I managed to make test_socket finish.
Alternatively, I patched glibc with this workaround (see attachment).
This makes the test finish in about 16 seconds.
Going back to the race between thr_kill() and poll(), any idea what
could be causing this? To begin with I don't even know how to get a
backtrace for the relevant calls :-/
Robert Millan
X-Attachment-Id: f_h140jkrl0
SW5kZXg6IGVnbGliYy0yLjEzL2xpbnV4dGhyZWFkcy9tYW5hZ2VyLmMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
ZWdsaWJjLTIuMTMub3JpZy9saW51eHRocmVhZHMvbWFuYWdlci5jCTIwMTItMDQtMTYgMjE6MDM6
NTUuMzkzMzY2NjkzICswMjAwCisrKyBlZ2xpYmMtMi4xMy9saW51eHRocmVhZHMvbWFuYWdlci5j
CTIwMTItMDQtMTYgMjE6MDM6NTUuNzA4MzY0Nzc4ICswMjAwCkBAIC0xNDksNyArMTQ5LDcgQEAK
ICAgdWZkLmV2ZW50cyA9IFBPTExJTjsKICAgLyogRW50ZXIgc2VydmVyIGxvb3AgKi8KICAgd2hp
bGUoMSkgewotICAgIG4gPSBfX3BvbGwoJnVmZCwgMSwgMjAwMCk7CisgICAgbiA9IF9fcG9sbCgm
dWZkLCAxLCAyKTsKIAogI2lmIDAKICAgICAvKiBpZmYgdGhlIG1haW4gdGhyZWFkIHRlcm1pbmF0
ZWQgYWJub3JtYWxseSwgdGhlIHNpZ25hbCBzaG91bGQga2lsbCBhbGwgdGhyZWFkcyBhbHJlYWR5
ICovCg=--14dae934097ba7678404bdd23727--
To UNSUBSCRIBE, email to debian-bugs-rc-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Replies