Bug 1766 - Could not get diff information. Arg_InsufficientSpace; Parameter name: chars.
Summary: Could not get diff information. Arg_InsufficientSpace; Parameter name: chars.
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: Version Control ()
Version: 2.8.1
Hardware: Macintosh Mac OS
: Normal normal
Target Milestone: ---
Assignee: Lluis Sanchez
URL:
Depends on:
Blocks:
 
Reported: 2011-10-28 10:46 UTC by guivho
Modified: 2011-12-01 06:52 UTC (History)
4 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description guivho 2011-10-28 10:46:53 UTC
Frequently MD gets in trouble when I click the expand arrow on a changed
file on the status window: It pops up following dialog:
Could not get diff information. Arg_InsufficientSpace
Parameter name: chars.

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) [0x003a7] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.Text/UTF8Encoding.cs:822
  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) [0x0010b] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.Text/UTF8Encoding.cs:678
  at System.Text.UTF8Encoding+UTF8Decoder.GetChars (System.Byte[] bytes, Int32 byteIndex, Int32 byteCount, System.Char[] chars, Int32 charIndex) [0x00004] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.Text/UTF8Encoding.cs:950
  at System.IO.StreamReader.ReadBuffer () [0x000bf] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.IO/StreamReader.cs:396
  at System.IO.StreamReader.Read (System.Char[] buffer, Int32 index, Int32 count) [0x00077] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.IO/StreamReader.cs:453
  at System.IO.StreamReader.ReadToEnd () [0x00040] in /private/tmp/monobuild/build/BUILD/mono-2.10.6/mcs/class/corlib/System.IO/StreamReader.cs:557
  at MonoDevelop.VersionControl.Subversion.Unix.SvnClient.GetUnifiedDiff (FilePath path1, MonoDevelop.VersionControl.Subversion.SvnRevision rev1, FilePath path2, MonoDevelop.VersionControl.Subversion.SvnRevision rev2, Boolean recursive) [0x00102] in /private/tmp/source/monodevelop/main/src/addins/VersionControl/MonoDevelop.VersionControl.Subversion.Unix/MonoDevelop.VersionControl.Subversion.Unix/SvnClient.cs:883

When you dismiss the popup, it just says 'No differences found'
Clicking another changed file immediately states 'No differences
found' without the error popup
Same for the expand all button: all changed files are reported as 'No
differences found'.

Sometimes quitting MD and restarting gets rid of the problem for a
while. But as soon as it occurs once, that's it, no more differences
anymore'
Comment 1 Alan McGovern 2011-11-03 16:17:34 UTC
This is probably caused by the file you're displaying containing invalid UTF8. Is the file supposed to be a valid text file or is it supposed to be a binary file like a jpg or png?

Does restarting MonoDevelop while changing nothing else make this weird diff issue appear and disappear? Or is it an issue where you modify a file and undo changes? Or is there any particular sequence which can reliably (ish) reproduce the problem?
Comment 2 guivho 2011-11-04 06:11:25 UTC
This happens with any source file, be it .cs, .html, .txt, .csproj files,
you name it.

If I right click on a changed file and request Diff from the Version
Control menu, I get a diff, albeit formatted differently.

But starting at 'Review Changes' on the project or solution and than
expanding the same file(s) causes the reported problem.  (This is
running MD 2.8.2 now)

Right now I can't seem to get it disappear, even after quitting and
reopening MD. The error now seems to be permanent.

I'd try to create a little project to demonstrate the problem, but I'm
using a personal svn repository at assembla.com so I'd first need to
setup a public repository.
Comment 3 Alan McGovern 2011-11-29 09:44:05 UTC
I haven't been able to reproduce this problem and i frequently use this diff view. When i was reviewing the code I saw that we were using UTF8 only decoding when reading the diff file. If the diff file was in a different text encoding it could cause this exception. I fixed this, but by the sounds of it it will not have any affect on your problem as you have a random issue. 

If restarting MD fixes the problem (i.e. it's definitely not an actual text encoding bug/issue in the text files), the odds are it's some interop issue with the svn library which will require a bit of work to diagnose. If you can offer any hints on the steps required to trigger this issue in MD, would be fantastic.
Comment 4 guivho 2011-11-29 12:11:34 UTC
Alan,

I am running 2.8.2 now, and it does not occur anymore.

I was definitely using 2.8.1 when I reported the problem.

As far as I am concerned, this issue can be closed.

Guido
Comment 5 Alan McGovern 2011-12-01 06:52:35 UTC
Do let us know if it manifests again, I didn't see anything specifically directed towards fixing this issue between 2.8.1 and 2.8.2 so it's possible the issue was just masked by some other change and we just cannot trigger it.

Thanks for reporting this.