Thread overview | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
September 04, 2009 [Issue 3298] New: std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=3298 Summary: std.file.read on OSX: "Memory allocation failed" Product: D Version: 2.032 Platform: x86_64 OS/Version: Mac OS X Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody@puremagic.com ReportedBy: michel.fortin@michelf.com In almost all cases, calling std.file.read a second time I throws a "Memory Allocation Failed" error and the program exits. This simple program (that prints itself) fails on my OS X machine at the second call to read. import std.file : read; import std.stdio : writeln; int main(string[] args) { scope(success) writeln("Done"); scope(failure) writeln("Failure"); writeln(read(__FILE__)); // works writeln(read(__FILE__)); // error return 0; } Debugging a little, I find that "fstat64(fd, &statbuf)" returns an gigantic file size (more than 1 Go), which then gets passed to GC.malloc. So it seems that fstat64 doesn't work correctly on Mac OS X, or more likely the layout of struct_stat64 may be different on Mac OS X and this has not been taken into account in the declaration. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 04, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 --- Comment #1 from Michel Fortin <michel.fortin@michelf.com> 2009-09-03 17:28:35 PDT --- It looks like using this struct definition for "struct_stat64" on OSX fixes the problem. struct struct_stat64 // distinguish it from the stat() function { uint st_dev; /// device ushort st_mode; ushort st_nlink; /// link count ulong st_ino; /// file serial number uint st_uid; /// user ID of file's owner uint st_gid; /// user ID of group's owner uint st_rdev; /// if device then device number int st_atime; uint st_atimensec; int st_mtime; uint st_mtimensec; int st_ctime; uint st_ctimensec; int st_birthtime; uint st_birthtimensec; ulong st_size; long st_blocks; /// number of allocated 512 byte blocks int st_blksize; /// optimal I/O block size ulong st_ino64; uint st_flags; uint st_gen; int st_lspare; /* RESERVED: DO NOT USE! */ long st_qspare[2]; /* RESERVED: DO NOT USE! */ } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 04, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 --- Comment #2 from Michel Fortin <michel.fortin@michelf.com> 2009-09-04 04:14:33 PDT --- Created an attachment (id=445) --> (http://d.puremagic.com/issues/attachment.cgi?id=445) Patch fixing std.file.read on OSX Add a definition for struct_stat64 with the correct layout for OSX. This patch probably fix other functions in std.file relying on struct_stat64. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 06, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 Andrei Alexandrescu <andrei@metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |andrei@metalanguage.com AssignedTo|nobody@puremagic.com |andrei@metalanguage.com -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 06, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 Andrei Alexandrescu <andrei@metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED --- Comment #3 from Andrei Alexandrescu <andrei@metalanguage.com> 2009-09-06 09:06:42 PDT --- Please get from svn and test to make sure I pasted it right. Thanks! -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 06, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 --- Comment #4 from Michel Fortin <michel.fortin@michelf.com> 2009-09-06 15:14:58 EDT --- I can't see any trace of a recent change to std.file. The web interface doesn't have it either: http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/file.d Am I looking at the right place? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 06, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 --- Comment #5 from Andrei Alexandrescu <andrei@metalanguage.com> 2009-09-06 12:28:10 PDT --- (In reply to comment #4) > I can't see any trace of a recent change to std.file. The web interface doesn't have it either: > > http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/file.d > > Am I looking at the right place? Sorry, checking mishap. Please try again. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 06, 2009 [Issue 3298] std.file.read on OSX: "Memory allocation failed" | ||||
---|---|---|---|---|
| ||||
Posted in reply to michel.fortin@michelf.com | http://d.puremagic.com/issues/show_bug.cgi?id=3298 --- Comment #6 from Michel Fortin <michel.fortin@michelf.com> 2009-09-06 16:43:40 EDT --- Patched Phobos from SVN working fine, bug fixed. Thanks. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation