Jeremy Bell | 23 May 2013 17:01
Picon
Gravatar

/mono/mini/main.c build error: depends on HAVE_SGEN_GC define, making it impossible to compile for sgen

At some point between branch mono-2-10-9 and branch master, a change was made to /mono/mini/main.c:

branch mono-2-10-9:

main.c:
#include <config.h>
#include "mini.h"
#ifndef HOST_WIN32
#include "buildver.h"
#endif


branch master:
#include <config.h>
#include "mini.h"
#ifndef HOST_WIN32
#ifdef HAVE_SGEN_GC
#include "buildver-sgen.h"
#else
#include "buildver.h"
#endif
#endif

This makes main.c impossible to compile when buildver-sgen.h is generated and not buildver.h. First of all, HAVE_SGEN_GC is never defined for files in /mini as far as I can tell, so main.c always attempts to include buildver.h, which does not exist when buildver-sgen.h is generated instead.

However, even if you explicitly define HAVE_SGEN_GC in CFLAGS, etc... then you will still get an error, in mini.h, because it believes it is an error to have either HAVE_SGEN_GC or HAVE_BOEHM_GC defined when mini.h is included, as /mini code should not have dependencies on the GC being used, so it says:

mini.h:
/*
 * The mini code should not have any compile time dependencies on the GC being used, so the same object file from mini/
 * can be linked into both mono and mono-sgen.
 */
#if defined(HAVE_BOEHM_GC) || defined(HAVE_SGEN_GC)
#error "The code in mini/ should not depend on these defines."
#endif


So, either way, main.c won't compile without modification. Is the error in /mono/mini/mini.h no longer valid? Or was the change to /mono/mini/main.c to depend on the HAVE_SGEN_GC define a regression?

Thanks,
Jeremy
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
Burkhard Linke | 23 May 2013 15:21
Picon
Picon
Favicon

Fwd: Re: Mono on Solaris

Forgot the CC to the list....

-------- Original Message --------
Subject: Date: From: To:
Re: [Mono-dev] Mono on Solaris
Thu, 23 May 2013 15:16:46 +0200
Burkhard Linke <blinke <at> CeBiTec.Uni-Bielefeld.DE>
Matt Clay <Matt.Clay <at> earthclassmail.com>


Hi, On 05/21/2013 07:56 PM, Matt Clay wrote: > Hi, > > Does anyone still maintain support for Mono on Solaris, specifically for SPARC? > > There are no Solaris packages on the download page for 3.x and the Solaris SPARC package for 2.10.5 is missing the .NET 4.0 class libraries. I've built Mono 2.x releases for Solaris/x86. It's a major maintenance nightmare, since Solaris has its own ideas about posix threads and especially thread cancel handlers. If you do heavy threaded load, you will likely run into deadlock within the garbage collection. At least stock Boehm GC is affected by this problem. SGen does not work under Solaris, too, with the binaries aborting and generating core dumps. I didn't had the time to investigate this further. And since Solaris is a dying operating system on our site, I'll probably not dig into this further. If you want to try it, you'll definitely need a recent checkout of the Boehm GC. And you should disable the dtrace support code, since it does not compile. Burkhard

_______________________________________________
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
Matt Clay | 21 May 2013 19:56

Mono on Solaris

Hi,

Does anyone still maintain support for Mono on Solaris, specifically for SPARC?

There are no Solaris packages on the download page for 3.x and the Solaris SPARC package for 2.10.5 is
missing the .NET 4.0 class libraries.

- Matt
Tobias Kiertscher | 21 May 2013 13:52
Picon
Gravatar

Processing XML atomic values in XML Schema

Hi,

I tried to run code with XML schema based validation on mono 2.10.8 and
3.0.10 that works fine on mono 2.6.7. But the processing of atomic
datatypes like (unsignedInt, duration, gYear, hexBinary, anyURI, ...)
seems to be broken after 2.6.7. And the datatype gMonth seems to be
buggy in all versions.

The code to verify the behavior is:
http://github.com/mastersign/mono-xml-schema-bug/blob/master/Program.cs

The output for mono 2.6.7, 2.10.8, 3.0.10 and MS .NET 3.5 is:
http://github.com/mastersign/mono-xml-schema-bug/blob/master/results.txt

Please give me feedback if you can verify the bug. In my opinion this
issue renders the XML schema support unusable for now.

Best regards,
Tobias Kiertscher <dev <at> mastersign.de>
David Schmitt | 21 May 2013 11:27
Picon
Favicon
Gravatar

DateTime.ToBinary / TZ differences between windows and linux

Hi,

I've used DateTime.ToBinary() to serialize dates between linux (mono) 
and windows (ms.net). All dates are in CEST (central european standard 
time), but the timezone's definitions differs between mono and ms.net, 
causing the "wrong" time to be displayed.

On a recent mono 3.x:

> csharp> new DateTime(1979,6,30).IsDaylightSavingTime()
> false
> csharp> new DateTime(1980,6,30).IsDaylightSavingTime()
> true
> csharp>

ms.net on the other hand returns true for both calls. This in turn leads 
to ToUniversal() to return different times.

mono's implementation is arguably more correct with regards to reality, 
as 1979-06-30 really did *not* have DST and 1980-06-30 really *did* have 
DST.

Of course, the best way to work around this would be to convert the 
complete application and database to use UTC, except when displaying to 
the user. This is already on the roadmap for other reasons. ;-)

The questions for mono-devel are rather:

   * Is this behavior intentional?
   * Is there a quick workaround to match mono's and ms.net's behavior?

Regards, David
Eddy Zavaleta | 21 May 2013 09:56
Gravatar

System.IO.IOException: The authentication or decryption has failed.

Hi,

I'm trying to use a webservice using client certificate for authentication. I created the C# proxies using svcutil.exe on windows and everything works (MS .NET) but when I tested on Mono 3.0.10 / Mac OS X 10.8.3 I get this error.

I've created a test for this and put it at https://github.com/ezavaleta/web-request-test

I tried to made the test as simple as possible using HttpWebRequest and posting xml data from a file to simulate the soap request, this also works on MS .NET but not on mono.

I've discoverd that the POST request eventually works after some retries if a GET request is made first which always works.

StackTrace:
System.Net.WebException: Error getting response stream (ReadDone1): ReceiveFailure ---> System.IO.IOException: The authentication or decryption has failed. ---> Mono.Security.Protocol.Tls.TlsException: The authentication or decryption has failed.
  at Mono.Security.Protocol.Tls.RecordProtocol.ProcessAlert (AlertLevel alertLevel, AlertDescription alertDesc) [0x00000] in <filename unknown>:0 
  at Mono.Security.Protocol.Tls.RecordProtocol.InternalReceiveRecordCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.Security.Protocol.Tls.SslStreamBase.AsyncHandshakeCallback (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0 
  at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0 
  at WebRequestTest.PostTest (System.String url, System.Security.Cryptography.X509Certificates.X509Certificate2 cer) [0x00000] in <filename unknown>:0 
  at WebRequestTest.Main (System.String[] args) [0x00000] in <filename unknown>:0 

$ mono --version
Mono JIT compiler version 3.0.10 ((no/eff4cb5 Sat Apr 13 19:24:30 EDT 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:           normal
SIGSEGV:       altstack
Notification:  kqueue
Architecture:  x86
Disabled:      none
Misc:          softdebug 
LLVM:          yes(3.2svn-mono)
GC:            Included Boehm (with typed

--
Eddy Zavaleta
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
Gavin Dodd | 21 May 2013 01:37
Favicon

AMD64 AOT code and bad IMT

Hi,

I'm new to Mono so I'm not sure if this is the right list. Please point me in the right direction if this isn't the place to ask these questions.

I'm trying to get AOT compiled code to run on an embedded AMD 64 system.

It is crashing the first time it hits a method call requiring an IMT because the pointer is incorrect

To make things more interesting I'm working with a branch of mono 2.8 (I think) and I don't have any symbols for the AOT compiled code at run time,

The problem shows up in

common_call_trampoline(mgreg_t* regs, guint8* code, gpointer arg, guint8* tramp, MonoVTable* vt, gpointer* vtable_slot, gboolean need_rgctx_tramp) Line 320    C++
    if (m == MONO_FAKE_IMT_METHOD) {
        MonoMethod *impl_method;
        MonoObject *this_arg;

        /* we get the interface method because mono_convert_imt_slot_to_vtable_slot ()
         * needs the signature to be able to find the this argument
         */
        m = mono_arch_find_imt_method (regs, code);

...


At this point m points to bad data. The address is the address returned by mono_get_lmf_addr()

From the map file I think the function calling the trampoline is System_IO_StreamReader_Initialize_System_IO_Stream_System_Text_Encoding_bool_int
from System_IO_StreamReader__cctor

I'm not sure what function it is trying to call (the vt parameter is for System.IO.NullStream)



My questions are:

Is the lmf address the correct value for the return of mono_arch_find_imt_method? If not what should it be?
What generates the IMT for AOT compiled code?
What sets the IMT address table at run time and where is it stored? I haven't seen any breakpoints on IMT functions get hit at runtime.

Thanks

Gavin



_______________________________________________
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list
Chris Tacke | 15 May 2013 21:43
Favicon
Gravatar

Building source fails: gmcs command not found

I'm trying to build Mono from the git source under a brand-new installation of Fedora 18.

I'm following the instructions here:

http://www.mono-project.com/Compiling_Mono_From_Git

When I run make, I'm getting a failure after a while while it's attempting to make the runtime folder:

if test -w /rootmono/mcs; then :; else chmod -R +w /root/mono/mcs; fi
cd /root/mono/mcs && make --no-print-director -s NO_DIR_CHECK=1 PROFILES=' net_2_0 net_3_5 net_4_0
net_4_5 ' CC='gcc' all-profiles
make[6] gmcs: Command not found

Now I'm pretty new to Mono - very, very new to trying to build it (first time) so I've got a steep learning curve
to climb, but my reading of this:

http://www.mono-project.com/CSharp_Compiler

 is that gmcs is the old compiler for 2.0 and mcs should be what's being used for newer stuff.

So I have a few questions.

First, and most obviously, is how do I get Mono to build in this environment.
Second, though, is I'd like to understand why this is failing.  Why is it trying to use gmcs in the first place?

-Chris
ticapix | 15 May 2013 08:39
Picon

Mono 3.0.10: channel type IRequestSessionChannel is not supported.

Hi,

Using mono 3.0.10, I'm trying to run a simple WCF service/client
application.
I put the code here
https://github.com/ticapix/onvifserver/blob/master/playground/Program.cs

This code is working fine under Windows8 .Net 4.5 in VS Express, but when I
run it with Mono, I'm getting this stacktrace:

System.InvalidOperationException: channel type IRequestSessionChannel is not
supported.
  at
System.ServiceModel.Channels.HttpChannelFactory`1[System.ServiceModel.Channels.IRequestSessionChannel].OnCreateChannel
(System.ServiceModel.EndpointAddress address, System.Uri via) [0x000e2] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels/HttpChannelFactory.cs:90
  at
System.ServiceModel.Channels.ChannelFactoryBase`1[System.ServiceModel.Channels.IRequestSessionChannel].CreateChannel
(System.ServiceModel.EndpointAddress remoteAddress, System.Uri via)
[0x00034] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChannelFactoryBase.cs:117
  at
System.ServiceModel.Channels.SecurityChannelFactory`1[System.ServiceModel.Channels.IRequestSessionChannel].OnCreateChannel
(System.ServiceModel.EndpointAddress remoteAddress, System.Uri via)
[0x00000] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels.Security/SecurityChannelFactory.cs:70
  at
System.ServiceModel.Channels.ChannelFactoryBase`1[System.ServiceModel.Channels.IRequestSessionChannel].CreateChannel
(System.ServiceModel.EndpointAddress remoteAddress, System.Uri via)
[0x00034] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChannelFactoryBase.cs:117
  at
System.ServiceModel.Channels.TransactionChannelFactory`1[System.ServiceModel.Channels.IRequestSessionChannel].OnCreateChannel
(System.ServiceModel.EndpointAddress remoteAddress, System.Uri via)
[0x00000] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels/TransactionFlowBindingElement.cs:142
  at
System.ServiceModel.Channels.ChannelFactoryBase`1[System.ServiceModel.Channels.IRequestSessionChannel].CreateChannel
(System.ServiceModel.EndpointAddress remoteAddress, System.Uri via)
[0x00034] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/System.ServiceModel/System.ServiceModel.Channels/ChannelFactoryBase.cs:117
  at at (wrapper managed-to-native)
System.Reflection.MonoMethod:InternalInvoke
(System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x00054] in
/home/ticapix/externals/mono/mono-3.0.10/mcs/class/corlib/System.Reflection/MonoMethod.cs:230

From the Mono source code, the exception is from the "throw
ex.InnerException;" line

				var method = factory.GetType ().GetMethod ("CreateChannel", new Type []
{typeof (EndpointAddress), typeof (Uri)});
				try {
					channel = (IChannel) method.Invoke (factory, new object []
{remote_address, Via});
					this.factory = factory;
				} catch (TargetInvocationException ex) {
					if (ex.InnerException != null)
						throw ex.InnerException;
					else
						throw;
				}

What are my possible actions to make my code running with Mono ?
Is is a missing implementation or a wrong usage ?

Thank you

--
View this message in context: http://mono.1490590.n4.nabble.com/Mono-3-0-10-channel-type-IRequestSessionChannel-is-not-supported-tp4659668.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
APS | 14 May 2013 16:27
Picon
Favicon

Parallel Mono setup

Hi,
in order to test latest mono versions I would like to know if it's 
possible to have different mono versions installed on the same server 
and to setup different web applications to use one or another version 
separately.
I usually build mono from sources so it should be easier than using 
prebuilt packages.
Can you help me?
Jonathan Lima | 13 May 2013 01:14
Picon
Gravatar

Building Mono from Git with MSVC

Is the MSVC build supposed to work? I currently need to embed the mono runtime on a MSVC project but building mono fails.

There are missing files on libmonoutils.vcxproj like mono-mutex.c, I managed to build it after adding this file and tweaking some include files.

Isn't the MSVC build supported anymore or should I address a bug report for that(or a pull request)?
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list <at> lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Gmane