open a range of files - segfault
Hi, this code crashes with a segfault. I need help to understand what might be wrong with it. import std.array; import std.algorithm; void main() { auto names = [file1.txt, file2.txt, file3.txt]; // let these files exist auto files = names.map!(f = File(f, r))().array(); } Thanks, Stephan
Re: open a range of files - segfault
Stephan Schiffels: this code crashes with a segfault. I need help to understand what might be wrong with it. import std.array; import std.algorithm; void main() { auto names = [file1.txt, file2.txt, file3.txt]; // let these files exist auto files = names.map!(f = File(f, r))().array(); } If I use the latest 2.063beta5 compiler, and I also import std.stdio, then I see no crash on Windows32. Bye, bearophile
Re: open a range of files - segfault
On Wednesday, 22 May 2013 at 08:38:14 UTC, Stephan Schiffels wrote: Hi, this code crashes with a segfault. I need help to understand what might be wrong with it. import std.array; import std.algorithm; void main() { auto names = [file1.txt, file2.txt, file3.txt]; // let these files exist auto files = names.map!(f = File(f, r))().array(); } Thanks, Stephan A quick gdb run shows that it's segfaulting at the exit of the program, when the GC runs its final full collection.
Re: open a range of files - segfault
On Wednesday, 22 May 2013 at 11:07:39 UTC, bearophile wrote: Stephan Schiffels: this code crashes with a segfault. I need help to understand what might be wrong with it. import std.array; import std.algorithm; void main() { auto names = [file1.txt, file2.txt, file3.txt]; // let these files exist auto files = names.map!(f = File(f, r))().array(); } If I use the latest 2.063beta5 compiler, and I also import std.stdio, then I see no crash on Windows32. Bye, bearophile With git master on linux x64 I get a segfault, see my other comment.
Re: open a range of files - segfault
On Wednesday, 22 May 2013 at 11:09:49 UTC, John Colvin wrote: On Wednesday, 22 May 2013 at 11:07:39 UTC, bearophile wrote: Stephan Schiffels: this code crashes with a segfault. I need help to understand what might be wrong with it. import std.array; import std.algorithm; void main() { auto names = [file1.txt, file2.txt, file3.txt]; // let these files exist auto files = names.map!(f = File(f, r))().array(); } If I use the latest 2.063beta5 compiler, and I also import std.stdio, then I see no crash on Windows32. Bye, bearophile With git master on linux x64 I get a segfault, see my other comment. OK, thanks for confirming. I updated to the latest git master and still get a segfault. I'll file a bug report. Stephan