[Mono-dev] Error handling longs on Mono SPARC

pablosantosluac at terra.es pablosantosluac at terra.es
Tue Oct 27 11:54:02 EDT 2009


Hi Zoltan,

Should we file a bug on bugzilla?


pablo

pablosantosluac at terra.es wrote:
> 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
>>
>>
> _______________________________________________
> Mono-devel-list mailing list
> 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