[Mono-bugs] [Bug 610416] New: ArgumentException when calling Encoding.GetString (UTF8)
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon May 31 10:24:25 EDT 2010
http://bugzilla.novell.com/show_bug.cgi?id=610416
http://bugzilla.novell.com/show_bug.cgi?id=610416#c0
Summary: ArgumentException when calling Encoding.GetString
(UTF8)
Classification: Mono
Product: Mono: Class Libraries
Version: 2.4.x
Platform: Other
OS/Version: Linux
Status: NEW
Severity: Normal
Priority: P5 - None
Component: System
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: benjamin.klueglein at googlemail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
Created an attachment (id=365893)
--> (http://bugzilla.novell.com/attachment.cgi?id=365893)
The file which contains the bytes I passed to Encoding.GetString
User-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.3)
Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3
An argument exception occurs when a big byte array (in my case red from a odt
document) is given to Encoding.GetString (Utf8 encoding)
Testing the same thing under MS.NET doesn't fail.
Reproducible: Always
Steps to Reproduce:
1. Use this small program:
using System;
using System.IO;
using System.Text;
namespace EncodingTest
{
class MainClass
{
public static void Main (string[] args)
{
var bytes = File.ReadAllBytes ("use_cases.odt");
var encoding = Encoding.UTF8;
Console.WriteLine (encoding.GetString (bytes));
}
}
}
2. Compile it and put the attached odt file in the same dir as the exe file
3. Run the program from where the exe lies.
Actual Results:
This exception:
Unhandled Exception: System.ArgumentException: Arg_InsufficientSpace
Parameter name: chars
at System.Text.UTF8Encoding.InternalGetChars (System.Byte* bytes, Int32
byteCount, System.Char* chars, Int32 charCount, System.UInt32& leftOverBits,
System.UInt32& leftOverCount, System.Object provider,
System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]& bufferArg,
Boolean flush) [0x00000]
at System.Text.UTF8Encoding.InternalGetChars (System.Byte[] bytes, Int32
byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex,
System.UInt32& leftOverBits, System.UInt32& leftOverCount, System.Object
provider, System.Text.DecoderFallbackBuffer& fallbackBuffer, System.Byte[]&
bufferArg, Boolean flush) [0x00000]
at System.Text.UTF8Encoding.GetChars (System.Byte[] bytes, Int32 byteIndex,
Int32 byteCount, System.Char[] chars, Int32 charIndex) [0x00000]
at System.Text.Encoding.GetChars (System.Byte[] bytes, Int32 index, Int32
count) [0x00000]
at System.Text.Encoding.GetString (System.Byte[] bytes, Int32 index, Int32
count) [0x00000]
at System.Text.UTF8Encoding.GetString (System.Byte[] bytes, Int32 index,
Int32 count) [0x00000]
at System.Text.Encoding.GetString (System.Byte[] bytes) [0x00000]
at EncodingTest.MainClass.Main (System.String[] args) [0x00000]
Expected Results:
A string should be returned (printed with the example program)
Mono JIT compiler version 2.4.4 (Debian 2.4.4~svn151842-1ubuntu4)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
TLS: __thread
GC: Included Boehm (with typed GC)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
--
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list