https://bugzilla.novell.com/show_bug.cgi?id=652299
https://bugzilla.novell.com/show_bug.cgi?id=652299#c0 Summary: stream.Read crashes with Java.IO.IOException for big files Classification: Mono Product: MonoDroid Version: SVN Platform: Other OS/Version: Windows 7 Status: NEW Severity: Major Priority: P5 - None Component: Runtime AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6 The following code works fine for files below 1MB, but we have some big textures (e.g. 1024x1024) with 1-2MB and they (always reproducible) crash when attempting to read the input stream: InputStream stream = assetManager.Open(contentFile, Access.Streaming); //TODO: this crashes with Java.IO.IOException for big files: byte[] buffer = new byte[stream.Available()]; stream.Read(buffer); stream.Close(); We also tried to read the files in smaller chunks, but that does not help either, it still crashes when reading big files: //TODO: does not help either! byte[] buffer = new byte[stream.Available()]; // Read in only 4kb blocks! int offset = 0; const int ReadLength = 4*1024; while (offset < buffer.Length) { int read = buffer.Length - offset; if (read > ReadLength) read = ReadLength; stream.Read(buffer, offset, read); } stream.Close(); For now we just use smaller textures and compression, but sooner or later we will want to load bigger files. We also run out of memory pretty quickly with 20MB of textures, but this is probably just a GC issue that you are working on anyways. Reproducible: Always Steps to Reproduce: Just load any big file with 1MB or above. Actual Results: stream.Read will crash with Javas IOException. Tested with Android Motorola Droid and a Tegra2 Android device. Also happens in the Emulator. Expected Results: Allow to load bigger files of 1MB and above. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
