www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - MmFile : Is this std.mmFile BUG?

reply "Junichi Nakata" <nakata sb.ecei.tohoku.ac.jp> writes:
Hi, all.
I have a question.
When 'testdic' file does' t exist, something  wrong.

---
import std.mmFile;

int main() {
   auto x = new MmFile("testdic",MmFile.Mode.readWrite,0,null);
   return 0;
}

---
OSX 10.10.3 ,
DMD64 D Compiler v2.069-devel-d0327d9

After testdic file (size=0) was made, Segmentation Fault: 11 .

I don't know whether this code is typical use.
Is this Phobos BUG? or BY DESIGN?
Aug 26 2015
parent reply "Alex Parrill" <initrd.gz gmail.com> writes:
On Wednesday, 26 August 2015 at 15:49:23 UTC, Junichi Nakata 
wrote:
 Hi, all.
 I have a question.
 When 'testdic' file does' t exist, something  wrong.

 ---
 import std.mmFile;

 int main() {
   auto x = new MmFile("testdic",MmFile.Mode.readWrite,0,null);
   return 0;
 }

 ---
 OSX 10.10.3 ,
 DMD64 D Compiler v2.069-devel-d0327d9

 After testdic file (size=0) was made, Segmentation Fault: 11 .

 I don't know whether this code is typical use.
 Is this Phobos BUG? or BY DESIGN?
Note that mmap-ing a zero-length range is invalid on Linux. Dunno about OSX; it shouldn't segfault though.
Aug 26 2015
next sibling parent reply "rsw0x" <anonymous anonymous.com> writes:
On Wednesday, 26 August 2015 at 17:30:29 UTC, Alex Parrill wrote:
 On Wednesday, 26 August 2015 at 15:49:23 UTC, Junichi Nakata 
 wrote:
 Hi, all.
 I have a question.
 When 'testdic' file does' t exist, something  wrong.

 ---
 import std.mmFile;

 int main() {
   auto x = new MmFile("testdic",MmFile.Mode.readWrite,0,null);
   return 0;
 }

 ---
 OSX 10.10.3 ,
 DMD64 D Compiler v2.069-devel-d0327d9

 After testdic file (size=0) was made, Segmentation Fault: 11 .

 I don't know whether this code is typical use.
 Is this Phobos BUG? or BY DESIGN?
Note that mmap-ing a zero-length range is invalid on Linux. Dunno about OSX; it shouldn't segfault though.
https://issues.dlang.org/show_bug.cgi?id=14968
Aug 26 2015
parent "Junichi Nakata" <nakata sb.ecei.tohoku.ac.jp> writes:
On Wednesday, 26 August 2015 at 22:07:01 UTC, rsw0x wrote:
 On Wednesday, 26 August 2015 at 17:30:29 UTC, Alex Parrill 
 wrote:
 On Wednesday, 26 August 2015 at 15:49:23 UTC, Junichi Nakata 
 wrote:
 Hi, all.
 I have a question.
 When 'testdic' file does' t exist, something  wrong.

 ---
 import std.mmFile;

 int main() {
   auto x = new MmFile("testdic",MmFile.Mode.readWrite,0,null);
   return 0;
 }

 ---
 OSX 10.10.3 ,
 DMD64 D Compiler v2.069-devel-d0327d9

 After testdic file (size=0) was made, Segmentation Fault: 11 .

 I don't know whether this code is typical use.
 Is this Phobos BUG? or BY DESIGN?
Note that mmap-ing a zero-length range is invalid on Linux. Dunno about OSX; it shouldn't segfault though.
From OS X 10.10.3 manage on mmap: ERRORS ... [EINVAL] The len argument was negative. append to https://issues.dlang.org/show_bug.cgi?id=14968 thanks.
Aug 26 2015
prev sibling parent "Vladimir Panteleev" <thecybershadow.lists gmail.com> writes:
On Wednesday, 26 August 2015 at 17:30:29 UTC, Alex Parrill wrote:
 it shouldn't segfault though.
The segfault is because of: https://issues.dlang.org/show_bug.cgi?id=14993 It "should've" been an InvalidMemoryOperationError, which in turn was caused by: https://issues.dlang.org/show_bug.cgi?id=14994 https://issues.dlang.org/show_bug.cgi?id=14995
Sep 01 2015