On Sat, Aug 11, 2012 at 6:37 PM, James E Keenan <[email protected]> wrote: > I have some good news and some bad news about the state of the threads > branch on Darwin/PPC. > > Seeing today that there had been additional commits to this branch in the > past few days, I tested it today for the first time since commit e567a21 on > July 25. I got a completely successful 'make test' at commit 56c96dde25. > But since there's also been a lot of activity on master in the past few > days, I wondered (a) does master PASS 'make test' (it does); and (b) what > will happen when the threads branch is merged into master? > > So I created a local, intermediate branch called 'formerge' by merging > threads into master. Unfortunately, I started to get intermittent failures > in several files which come up later in 'make test' than 't/pmc/nci.t' (the > file where we have been experienced hanging on several tests): > > t/pmc/timer.t: hung once during make smolder_test, passed next time and when > run individually. > > t/src/threads.t: hung during make smolder_test, then passed individually and > during 'make src_tests'. > > This was suspicious. So I again retested master -- which PASSed again and > then retested the threads branch -- which hung at t/pir/timer_exit.t. When > I ran 'prove t/pir/timer_exit.t' individually while 'make test' was still > hanging at its invocation of that test, it hung. Then, after I killed 'make > test', I tried 'prove t/pir/timer_exit.t' -- which ran quickly and PASSed. > > Now, I wasn't logging the first runs I did today, so there's a possibility > that I misremember the name of the first failing test file, i.e., that it > might have been t/pir/timer_exit.t rather than t/pmc/timer.t that failed the > first time around. > > Even granting that, I know that I have experienced intermittent hangs in at > least two files -- t/src/threads.t and t/pir/timer_exit.t -- either in the > threads branch per se or in a branch where I've merged threads into master.
t/pmc/task.t also hangs sometimes, as some tests which do sleep and experience some kind of signals during sleep. If HW, SW or OS I don't know. > But the good news remains: On this platform, t/pmc/nci.t is now PASSing > repeatedly and, I hope, consistently. In short the threads branch summary: The good: * nci.t passes now because I removed the sleep calls. * There's no windows quirks anymore. The bad: * sleep causes deadlocks with certain signals. I have not yet identified which. It's not architecture related. It's reproducible with tsan. Background: sleep is implemented in the threads branch differently, via a seperate native thread. > Thanks to everyone who is following these issues. It would be good to see > if we're experiencing similar results on other non-Linux or non-Intel > systems. -- Reini Urban http://cpanel.net/ http://www.perl-compiler.org/ _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
