D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 6018 - Multiple includes of std.parallelism causes DMD to segfault.
Summary: Multiple includes of std.parallelism causes DMD to segfault.
Status: RESOLVED INVALID
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: x86_64 Linux
: P2 normal
Assignee: No Owner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-16 10:42 UTC by Jonathan Crapuchettes
Modified: 2011-10-20 17:18 UTC (History)
1 user (show)

See Also:


Attachments
DMD2 -v output (14.59 KB, text/plain)
2011-05-17 09:18 UTC, Jonathan Crapuchettes
Details

Note You need to log in before you can comment on or make changes to this issue.
Description Jonathan Crapuchettes 2011-05-16 10:42:54 UTC
If a project includes several files and each has a private import of std.parallelism, DMD will segfault. If the imports are moved to a single public import, the compilation will finish correctly.
Comment 1 David Simcha 2011-05-16 17:28:57 UTC
Can you elaborate a little?  I haven't been seeing this.  Specifically, have you been compiling all the files together or separately?  Can you create a small test case?
Comment 2 Jonathan Crapuchettes 2011-05-17 09:18:52 UTC
Created attachment 978 [details]
DMD2 -v output

I just tried to create a simple test case, but couldn't get it to break. I am including the output from DMD with -v. As you can see all of the files were compiled together. I did notice, after commenting out one file, that DMD always died just after outputting "function this". This makes me wonder if it has some connection to

auto varPool = taskPool.workerLocalStorage(new ThreadStore());

but that isn't based on actual evidence.


I hope this helps a little. I would be happy to send you the files privately, but I can't post them as they belong to the company I work for.