[phobos] inconsistent failing test in std.parallelism - minor changes to dmd/src

Ali Akhtarzada ali.akhtarzada at gmail.com
Tue Nov 19 06:00:17 PST 2013


Hi people,

So I just started with this d stuff. Just cloned master source. Built dmd,
phobos and druntime and ran tests. Got a fail in std.parallelism, then
reran again and it passed. Did this a couple more times, failed again at
some point, but then passed again.

Is this a known issue?

Also, I did make some changes in the dmd/src already. Was getting a crap
load of warnings about logical && being nested inside logical || without
parenthesis. So I went through the source and added parenthesis to silence
that warning - mundane mechanical stuff :(

Build details:
- Osx Mavericks - x86_64
- dmd/src/: make MODEL=64 DEBUG=1
- druntime/: make MODEL=64 DEBUG=1 DMD=../dmd/src/dmd
- phobos/: make MODEL=64 DEBUG=1 DMD=../dmd/src/dmd
- dmd -man outputs: DMD v2.065-devel-ae7adb9 DEBUG

When I build dmd it seems to build with g++ on osx. Strange because I
thought gcc was removed as of osx 10.8. So g++ I think is just a wrapper
that calls clang internally. When I run g++ -v on my machine I get:

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr
> --with-gxx-include-dir=/usr/include/c++/4.2.1
> Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
> Target: x86_64-apple-darwin13.0.0
> Thread model: posix


I thought it my be a script or a symlink but it doens't seem to be. Maybe
it's just a binary that translates g++ cmd args to clang++ or something...
dunno, but anyway...

The tests inside dmd/tests all pass fine, and the druntime tests pass
consistently as well after the changes I made (I did not make any
functional changes, though of course I could've retardedly messed up
parenthesis somewhere.

The failure:

Testing std.outbuffer: OK (took 0ms)
> totalCPUs = 4
> Testing std.parallelism: FAIL
> core.thread.ThreadException at src/core/thread.d(938): Unable to set thread
> priority
> ----------------
> 5   test_runner                         0x00000001058239d3
> std.parallelism.TaskPool
> std.parallelism.TaskPool.__ctor(std.parallelism.AbstractTask*, int) + 147
> 6   test_runner                         0x00000001058295c3 @trusted void
> std.parallelism.Task!(_D3std11parallelism17__unittestL3913_3FZv6refFunFKkZv,
> uint).Task.executeInNewThread(int) + 115
> 7   test_runner                         0x0000000105824dab void
> std.parallelism.__unittestL3913_3() + 675
> 8   test_runner                         0x0000000105822bc7 void
> std.parallelism.__modtest() + 19
> 9   test_runner                         0x000000010503e4da bool
> test_runner.tester() + 430
> 10  test_runner                         0x0000000105eaaeb9
> runModuleUnitTests + 193
> 11  test_runner                         0x0000000105eb8157 void
> rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).runAll() + 23
> 12  test_runner                         0x0000000105eb810d void
> rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).tryExec(scope void delegate()) + 45
> 13  test_runner                         0x0000000105eb8083 _d_run_main +
> 443
> 14  test_runner                         0x000000010503e1fa main + 34
> 15  libdyld.dylib                       0x00007fff941d05fd start + 1
> 16  ???                                 0x0000000000000002 0x0 + 2make[1]:
> *** [generated/osx/debug/64/unittest/std/parallelism] Error 1


I'm quite new to everything here, don't even really know d much, but looks
interesting and I would like to possibly help, time permitting. I'm also
not sure if this is the right place to go about asking these things? Should
I have posted to digitalmars.D instead? Do people just file a bug
immediately and let it go from there or is this the right place to get the
ball rolling or?

Guidance, help much appreciated
Cheers,
- Ali
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/phobos/attachments/20131119/402cdcbb/attachment.html>


More information about the phobos mailing list