[Mono-dev] Error handling longs on Mono SPARC
pablosantosluac at terra.es
pablosantosluac at terra.es
Mon Oct 26 08:58:13 EDT 2009
Hi Zoltan,
It's the daily tarball (the date is in the version string) which I
believe is svn trunk.
pablo
Zoltan Varga wrote:
> Hi,
>
> Is this the 2.6 prerelease, or using the code from the mono-2-6 branch
> ? The latter has
> some sparc fixes.
>
> Zoltan
>
> On Mon, Oct 26, 2009 at 1:11 PM, pablosantosluac at terra.es
> <mailto:pablosantosluac at terra.es> <pablosantosluac at terra.es
> <mailto:pablosantosluac at terra.es>> wrote:
>
> Hi there,
>
> This is our configuration:
>
> -bash-3.00$ uname -a
> SunOS atenea 5.11 snv_34 sun4u sparc SUNW,Sun-Blade-1000
>
> -bash-3.00$ mono --version
> Mono JIT compiler version 20091021 (tarball Wed Oct 21 19:04:28 CEST
> 2009)
> Copyright (C) 2002-2009 Novell, Inc and Contributors.
> www.mono-project.com <http://www.mono-project.com>
> TLS: normal
> GC: Included Boehm (with typed GC and Parallel Mark)
> SIGSEGV: normal
> Notification: Thread + polling
> Architecture: sparc
> Disabled: none
>
> We're using a Mono 2.6 compiled at our test box.
>
>
> We've a code like this:
>
> long dstBrId = GetBranchNumber(brId);
>
> log.DebugFormat("Branch {0} -> {1}", brId, dstBrId);
>
>
> Calling this method:
>
> private long GetBranchNumber(long brId)
> {
> Branch br = (Branch) mFetchBranches[brId];
>
> if( br != null )
> {
> return br.ObjId;
> }
>
> log.DebugFormat("GetBranchNumber returning {0}", brId);
>
> return brId;
> }
>
> And that's the log it is showing:
>
> - GetBranchNumber returning 4
> - Branch 4 -> 17179869188
>
> It looks like, for some reason, this 4 is "magically" becoming a
> 17179869188!!!!!!
>
> 17179869188 is -> 400000004 in hex!!!!
>
> And, it *gets fixed by building disabling the "optimize" mode*
>
>
> Of course, a test app like this:
>
> using System;
>
> class Hello
> {
> public static void Main()
> {
> Hello t = new Hello();
> long myval = 4;
> long longVal = t.GetValue(myval);
> Console.WriteLine(longVal);
> }
>
> private long GetValue(long v)
> {
> return v;
> }
>
> }
>
> Does not fail.
>
>
> Any idea?
>
>
> Thanks,
>
>
> pablo
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> <mailto:Mono-devel-list at lists.ximian.com>
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
>
More information about the Mono-devel-list
mailing list