Permalink
Commits on Jan 11, 2013
  1. [msbuild] Fix import set to expected path when invalid imports are al…

    …lowed.
    
    It was failing to resolve <Import> to correct path because it allowed
    invalid imports too early in Import.ForEachExtensionPathTillFound().
    
    It is due to Project.AddSingleImport() that checks if invalid imports
    can be ignored by load setting. But simply removing this check results
    in regressions in nunit tests that fails to report required invalid imports.
    
    This bug was one of the blockers to build fsharp-droid from xbuild:
    https://github.com/fahadsuhaib/fsharp-droid
    atsushieno committed Jan 11, 2013
Commits on Jan 9, 2013
  1. [corlib] Handle overflow correctly in Timer to avoid spinning. Fixes …

    …#8782
    
    	* Timer.cs: Very long timers can lead to timeout values that are
    	bigger than Int32.MaxValue, leading to a negative value and us
    	spinning.
    kumpera committed Jan 9, 2013
Commits on Jan 8, 2013
Commits on Jan 7, 2013
  1. Accept Version == 0 as valid (just like 1) when verifying a counter s…

    …ignature. Fix bug #8401
    spouliot committed Jan 7, 2013
  2. Use a separate field for avoiding recursion in setup_fields () instea…

    …d of size_inited, since size_inited is used by mono_class_instance_size () to check whenever instance_size was inited, leading to races. Fixes #8905.
    vargaz committed Jan 7, 2013
Commits on Jan 3, 2013
  1. Add API to get more data from a managed exception's stack trace.

    This is used by crash reporting to report the stack trace of the exception
    when the exception was thrown (for unhandled exceptions), instead of the
    stack trace when the unhandled exception hook is called (which may be
    different because finally clauses may have executed altering the intial
    stack state).
    rolfbjarne committed Jan 3, 2013
  2. [Microsoft.Build.Tasks] Fix a regression when replacing readonly files

    We should not delete the destination file if it is readonly as that would
    mean all readonly files would be treated as if they were not readonly.
    
    Fixes a failing test.
    alanmcgovern committed Jan 3, 2013
Commits on Jan 2, 2013
  1. [Microsoft.Build.Tasks] Delete files before copying the new one over

    Handle the case where a process has mmap'ed one of the binaries which
    we are trying to copy over. In this scenario we must delete the file
    first otherwise we will 'corrupt' the data in memory.
    
    Fixes bug https://bugzilla.xamarin.com/show_bug.cgi?id=9146
    alanmcgovern committed Jan 2, 2013
Commits on Dec 21, 2012
Commits on Dec 19, 2012
  1. We must locally cache array since it can shrink from the outside and …

    …cause FastCopy to corrupt the heap.
    kumpera committed Dec 15, 2012
  2. We can't use UnsageStore in List<> since broken user code that doesn'…

    …t sync right will cause heap corruption.
    kumpera committed Dec 15, 2012
Commits on Dec 7, 2012
  1. Add missing '#if NET_4_5'.

    baulig committed Dec 7, 2012
Commits on Dec 5, 2012
  1. [WCF]: Implement and improve missing WsdlExporter pieces.

    * We now export simple <wsp:Policy>, currently supporting only
      those elements that WsdlImporter can import.
    
      WsdlImporter:
      cdc98db
    
    * Implement `MetadataExporter.Errors' and use it for error
      reporting.
    
    * Fixed WsdlExporter's caching to correclty deal with duplicate
      ExportContract() and ExportEndpoint() calls.
    
    * Emit <soap12:operation> depending on the binding's MessageVersion.
      (FIXME: I didn't implement soap faults yet).
    
    * MetadataTests: Check whether the policy elements are correct.
    
    * MetadataTests: Add test containing simple [OperationContract] method
      for http and net.tcp; checks the <soap:operation> / <soap12:operation>
      elements.
    
    * New test to check WsdlExporter's behavior regarding duplicate
      contracts and endpoints.
    
    * ConnectionOrientedTransportBindingElement.cs, CustomBindingTests.cs,
      HttpTransportBindingElementTest.cs: Added test for custom message
      encodings.
    baulig committed Dec 5, 2012
  2. [WCF]: Fix accessibility of 'ClientBase<T>.ChannelBase<T>'.

    Mark it as 'protected internal' in .NET 4.0 and Monotouch and
    'internal' otherwise.  According to the MSDN docs, the class
    is 'protected' and exists in Silverlight, .NET 4.0 and .4.5.
    
    See http://stackoverflow.com/questions/13389652/how-to-override-clientbase-createchannel-in-mono-on-ios.
    baulig committed Nov 28, 2012
  3. [WCF]: Metadata test improvements.

    Only check whether 'System.Web.Services.Binding.Extensions' contains
    the policy XmlElement when importing metadata, not when creating it
    programmatically.
    baulig committed Nov 28, 2012
  4. [WCF]: Add and improve MetadataImport tests.

    We now run the same tests from ImportTests.cs three times
    using the following profiles:
    
    * We load the metadata from an XML file.
    
    * We create the metadata programmatically.
    
    * We create the metadata programmatically, export it into
      XML, then import it back (round-trip).
    baulig committed Nov 28, 2012
  5. [WCF]: Implement missing WsdlImporter pieces.

    The WsdlImporter can now import Bindings and Endpoints
    from the WSDL, currently supporting BasicHttpBinding,
    BasicHttpsBinding and NetTcpBinding.
    
    There is also - limited and still experimental - support
    for WS-Policy 1.5.  I only did the very basic pieces so
    far, for instance things like TransportWithMessageCredentials
    are not supported yet.
    
    The policy importer will emit lots of warnings via
    `MetadataImporter.Errors` (as warnings, not errors) whenever
    it encounters something that it doesn't understand and
    is also forgiving towards unknown and/or mal-formed
    policy assertions.
    
    This behavior is different from the MS runtime, which is
    very strict, but there are simply too many missing pieces
    to be more pedentic here.  Check whether Errors.Count == 0
    to see whether all policy assertions have been correctly
    imported.
    
    There are also a few metadata samples, which are part of the
    new nunit tests.  These are currently working:
    
      BasicHttp.xml, BasicHttp_Mtom.xml, BasicHttp_NtlmAuth.xml,
      BasicHttp_TransportSecurity.xml, BasicHttps.xml,
      BasicHttps_NtlmAuth.xml, NetTcp.xml, NetTcp_TransferMode.xml,
      NetTcp_TransportSecurity.xml
    
    There are a few more in the Tests/MetadataTests/Resources/
    directory which demonstrate missing pieces.
    baulig committed Nov 27, 2012
  6. [WCF]: New WsdlImporter nunit tests and sample wsdl docs.

    This adds a bunch of new nunit tests and sample wsdl docs to
    test the import of endpoints and bindings using WsdlImporter.
    baulig committed Nov 26, 2012
  7. [Mono] TimeZoneInfo.FindSystemTimeZoneById returns null

    Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=7966
    
    If we cannot find the requiested time zone we should throw a
    TimeZoneNotFoundException rather than returning null.
    Dean Ellis committed Dec 5, 2012
  8. Don't version shared libraries on Android.

    Wanted: profiler support on Android. ;-)
    
    ...which seems sane enough: we have this nifty pluggable profiler
    mechanism already, we have profilers built as separate shared libs
    (e.g. libmono-profiler-log.so), let's just "somehow" load one, call
    the init function, and we're off to the races, right?
    
    	void* h = dlopen ("path/to/libmono-profiler-log.so", RTLD_LAZY)
    	// h == null; dlerror() is:
    	//    Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library
    	//    "libmonosgen-2.0.so.0" needed by "libmono-profiler-log.so"; caused by
    	//    load_library(linker.cpp:745): library "libmonosgen-2.0.so.0" not found
    
    Ouch. So the problem is that libmonosgen-2.0.so contains a versioned
    SONAME ("libmonosgen-2.0.so.0"), and thus libmono-profiler-log.so
    contains a versioned SONAME reference, which cannot be resolved.
    (Android doesn't allow versioned .so's to be placed within .apks.)
    
    Fix the first: make libmonosgen-2.0.so unversioned. That way,
    libmono-profiler-log.so contains an unversioned library reference, and
    Android is appeased!
    
    (Unversion libmono-profiler-log.so for good measure.)
    
    Fix the second: with the above fix in place, libmono-profiler-log.so
    SITLL won't be loaded, with dlerror(3) reporting:
    
    	Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate
    	symbol "monoeg_g_log" referenced by "libmono-profiler-log.so"
    
    The issue here is that libmonosgen-2.0.so contains unexported symbol
    references from eglib, e.g. monoeg_g_log(), and dlopen() won't use
    those unexported symbols. So just add the glib link references to
    libmono-profiler-log.so, and everything is kosher. Yay.
    jonpryor committed Dec 5, 2012
Commits on Dec 3, 2012
Commits on Nov 29, 2012
  1. Bump version number to 2.10.11

    duncanmak committed Nov 29, 2012
Commits on Nov 28, 2012
  1. Make sure we don't corrupt the heap when serializing a unix domain so…

    …cketaddr.
    
    	* socket-io.c (create_object_from_sockaddr): The resulting array size must
    	be two bytes larger than the sockaddr one since we always serialize the family
    	kind at the beginning.
    
    	This fixes a crash on MD-linux-amd64-mono-sgen-3.0 running unit tests.
    kumpera committed Nov 28, 2012
  2. Make WaitHandle.Wait* behave the same wrt WAIT_IO_COMPLETION. Fixes #…

    …8566.
    
    Make the all check for exceptions if interrupted, and wait again
    with a re-calculated timeout if no exceptions were to be thrown.
    
    This fixes a deadlock in WaitAny, because WaitAny wasn't checking
    for exceptions, just re-calculating the timeout. It also makes
    the methods behave the same wrt other APC reasons.
    rolfbjarne committed Nov 23, 2012
Commits on Nov 27, 2012
Commits on Nov 26, 2012
  1. Remove SRE.UnmanagedMarshal dependency from System.Reflection.

    	* FieldInfo.cs:
    	* MonoMethod.cs:
    	* ParameterInfo.cs: Remove silly dep on UnmanagedMarshal to use
    	MarshalAsAttribute which is what we need in the end.
    
    	* icall.c:
    	* reflection.c: Use the custom attribute type instead of the SRE
    	one. This allows FULL_AOT_RUNTIME to work with stuff that uses
    	MarshalAs.
    kumpera committed Nov 5, 2012