Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
May 22, 2013 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 |
May 22, 2013 Re: open a range of files - segfault | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stephan Schiffels | 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
|
May 22, 2013 Re: open a range of files - segfault | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stephan Schiffels | 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.
|
May 22, 2013 Re: open a range of files - segfault | ||||
---|---|---|---|---|
| ||||
Posted in reply to bearophile | 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.
|
May 22, 2013 Re: open a range of files - segfault | ||||
---|---|---|---|---|
| ||||
Posted in reply to John Colvin | 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
|
Copyright © 1999-2021 by the D Language Foundation