November 19, 2013 [phobos] inconsistent failing test in std.parallelism - minor changes to dmd/src | ||||
---|---|---|---|---|
| ||||
Attachments:
| 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@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 |
November 19, 2013 Re: [phobos] inconsistent failing test in std.parallelism - minor changes to dmd/src | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ali Akhtarzada Attachments:
| On 19 nov 2013, at 15:00, Ali Akhtarzada <ali.akhtarzada@gmail.com> wrote: > 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... Yes, GCC has been removed in Xcode 5. They still have a binary called g++, but as you can see it's actually Clang. We do have had some tests failing when compiling DMD with Clang. I don't know if Clang the cause in this case. Since GCC has been removed now we really need to make DMD work with Clang. Any help is appreciated. > 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@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? I guess it's ok to post here. Note that these mailing list don't have as much traffic as the newsgroups. Most people start by posting to digitalmars.D.learn or digitalmars.D. -- /Jacob Carlborg |
Copyright © 1999-2021 by the D Language Foundation