IntlTest hangs on FreeBSD (TestThreadedIntl) (PR#1141)

Mikhail T. mi at
Wed Jun 15 11:27:41 GMT 2005

= Have you tried it with libthr on -CURRENT ?

No, not in a while. The bug is not 100% reproducible either. You can
try it for yourself:

	cd /usr/ports/devel/icu
	make intltest



= = My initial guess is that it seems to be an OS thread scheduler bug.
= = The main process spins in a loop without sleeping and frequently
= = locks the global mutex while waiting for the other threads to
= = finish. None of the other threads get enough time because they are
= = all waiting for the global mutex lock from the main process thread
= = when its their turn. The main process thread is hoging the global
= = mutex while it's in its loop. It's not a deadlock, it's just a type
= = of thread scheduling that doesn't happen on other operating systems.
= Whether it is a bug or a legal oddity, our threads (CC-ed) people
= would love to hear about it...
= = Adding a sleep() or a yield statement in the main thread of the test
= = allows the test to finish. The fix will be available in ICU 3.4.
=	-mi

More information about the freebsd-threads mailing list