Created attachment 6463 [details]
Customer reported an issue when building from a mac where the solution is stored on a shared network folder, and there is a pre-build event to swap out some files. Attached to this report is a sample project to illustrate the issue.
Steps to reproduce:
1. Create a shared folder on a windows machine and place the sample application in that folder.
2. On a Mac, browse to the shared folder and open the solution in Xamarin Studio.
3. Build the solution.
It will fail (about) every other build attempt with the exception information below.
Build successfully every time.
System.NotSupportedException: 0-byte integer
at Xamarin.MacDev.PropertyListFormat+BinaryFormat+Context.ReadBigEndianInteger (Int32 numBytes) [0x0007b] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:1350
at Xamarin.MacDev.PropertyListFormat+BinaryFormat+Context.ReadObjectByRef () [0x0000d] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:1313
at Xamarin.MacDev.PropertyListFormat+BinaryFormat+Context.ReadDict (Xamarin.MacDev.PDictionary dict) [0x00036] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:1303
at Xamarin.MacDev.PropertyListFormat+ReadWriteContext.ReadObject () [0x00107] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:2017
at Xamarin.MacDev.PDictionary.FromFile (System.String fileName, System.Boolean& isBinary) [0x0003f] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:704
at Xamarin.MacDev.PDictionary.FromFile (System.String fileName) [0x00004] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/Xamarin.MacDev/PListObject.cs:689
at MonoDevelop.IPhone.IPhoneBuildExtension.UpdateDebugSettingsPlist (IProgressMonitor monitor, MonoDevelop.IPhone.IPhoneProjectConfiguration conf, FilePath target) [0x0002a] in /Users/builder/data/lanes/monodevelop-lion-monodevelop-4.2.4-branch/a160c35d/source/md-addins/MonoDevelop.IPhone/MonoDevelop.IPhone/Project/IPhoneBuildExtension.cs:2603
I attached two build outputs with -v -v -v -v. One for a successful build and on for a build that failed.
Windows Machine: Windows 8.1
=== Xamarin Studio ===
Version 4.2.4 (build 32)
Installation UUID: bb00cd30-1c19-4ed5-b390-f732a454afd5
Mono 3.2.6 ((no/9b58377)
GTK+ 2.24.23 (Raleigh theme)
Package version: 302060000
=== Apple Developer Tools ===
Xcode 5.1 (5084)
=== Xamarin.iOS ===
Version: 184.108.40.206 (Business Edition)
Build date: 2014-10-03 18:02:26-0400
=== Xamarin.Mac ===
Xamarin.Mac: Not Installed
=== Xamarin.Android ===
Version: 4.12.1 (Business Edition)
Android SDK: /Users/John/Library/Developer/Xamarin/android-sdk-mac_x86
Supported Android versions:
2.1 (API level 7)
2.2 (API level 8)
2.3 (API level 10)
3.1 (API level 12)
4.0 (API level 14)
4.0.3 (API level 15)
4.1 (API level 16)
4.2 (API level 17)
4.3 (API level 18)
4.4 (API level 19)
Java SDK: /usr
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
=== Build Information ===
Release ID: 402040032
Git revision: a160c35dac9ab9fd32eeadaa171216316d5a5133
Build date: 2014-03-12 13:55:08-04
Xamarin addins: a779416ceabd54981ce812771a4061c942e8b872
=== Operating System ===
Mac OS X 10.9.2
Darwin Johns-WorkMacBook-Pro.local 13.1.0 Darwin Kernel Version 13.1.0
Thu Jan 16 19:40:37 PST 2014
Created attachment 6464 [details]
Successful Build Output Log
Created attachment 6465 [details]
Failed Build Output Log
Stack trace points to Xamarin Studio tooling (addin).
The problem looks like reading from a Windows share is flaky - i.e. the exception happens because we try to read an integer from a file stream and the stream reads 0 bytes when there are, in fact, more bytes to be read.
Might be a bug in the Mono runtime or just a bug in OSX's support for reading files on a Windows share.
Can somebody create a test case for this ?
Hey Zoltan, I attached a project that can be used, is there anything else I can help provide?
We need a test case that shows what the VSfM tooling is trying to do and mono supposedly failing at.
A solution that requires using the whole VSfM is not usable by us.
Wow impressive response time for the enterprise level support ...
Close this for me, we no longer build over samba since no one could be arsed to follow this up in under 3 years..
closing per last comment.