[Mono-bugs] [Bug 541577] New: Function return inconsistent ulong value, which has dummy parameter of a Class and a ulong (re-occurrence of Bug 426264)

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Sep 23 18:20:18 EDT 2009


http://bugzilla.novell.com/show_bug.cgi?id=541577

User Yasuaki.Hasegawa at fujixerox.co.jp added comment
http://bugzilla.novell.com/show_bug.cgi?id=541577#c426264

           Summary: Function return inconsistent ulong value, which has
                    dummy parameter of a Class and a ulong (re-occurrence
                    of Bug 426264)
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: Sparc
        OS/Version: Solaris 10
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: Yasuaki.Hasegawa at fujixerox.co.jp
         QAContact: mono-bugs at lists.ximian.com
                CC: Yasuaki.Hasegawa at fujixerox.co.jp
          Found By: Community User


Created an attachment (id=319611)
 --> (http://bugzilla.novell.com/attachment.cgi?id=319611)
test case (c# source code)

I believe this is re-occurrence of Bug#426264.
So, following report is almost the same of the issue report
except console output.

Steps to reproduce the problem:
------------------------------
Test case: (attached file: a.cs)

using System;
using System.Text;

public class UserBE {
    public UserBE() {
        //
    }
}

public class Example {
    public static ulong getSecondArg(UserBE user, ulong perm) {
        Console.Write ("getSecondArg : perm = {0:X}\n", perm);

        perm = 0x8000000000000FFF;

        Console.Write ("getSecondArg : perm = {0:X}\n", perm);
        return perm;
    }

    public static void Main(string[] args) {
        UserBE user = new UserBE();
        ulong perm = 0x8000000000000FFF;

        ulong work = getSecondArg (user, perm);

        if (perm != work) {
            Console.Write ("Main         : perm = {0:X}\n", perm);
            Console.Write ("Main         : work = {0:X}\n", work);
            throw new Exception("Oops, two values should be equivalence!! ");
        } else { 
            Console.Write ("Main : Successfully terminated.\n");
        } 
        return;
    }
}


Actual Results:
------------------------------
Platform : SPARC Solaris 10 (Sun Blade 1000)

The application terminated with the following console output.

# /opt/mono/bin/gmcs -out:a-solaris.exe a.cs
# /opt/mono/bin/mono a-solaris.exe
getSecondArg : perm = 8000000000000FFF
getSecondArg : perm = 8000000000000FFF
Main         : perm = 8000000000000FFF
Main         : work = 8000000080000000

Unhandled Exception: System.Exception: Oops, two values should be equivalence!!
  at Example.Main (System.String[] args) [0x00000]

===> THIS EXCEPTION SHOULD NOT BE HAPPENED.

bash-3.00# /opt/mono/bin/gmcs --version
Mono C# compiler version 2.4.2.3

bash-3.00# /opt/mono/bin/mono --version
Mono JIT compiler version 2.4.2.3 (tarball Mon Sep 21 10:41:44 JST 2009)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  sparc
        Disabled:      none


Expected Results:
------------------------------
(1) Platform : Microsoft Visual C# 2005 Express Edition gets expected result

getSecondArg : perm = 8000000000000FFF
getSecondArg : perm = 8000000000000FFF
Main : Successfully terminated.

(2) Platform: previos Mono-2.0.1 on Solaris gets expected result

bash-3.00# /opt/mono/bin/gmcs -out:a-solaris.exe a.cs
bash-3.00# /opt/mono/bin/mono a-solaris.exe
getSecondArg : perm = 8000000000000FFF
getSecondArg : perm = 8000000000000FFF
Main : Successfully terminated.

bash-3.00# /opt/mono/bin/gmcs --version
Mono C# compiler version 2.0.1.0

bash-3.00# /opt/mono/bin/mono --version
Mono JIT compiler version 2.0.1 (tarball)
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com
        TLS:           normal
        GC:            System Boehm (with typed GC)
        SIGSEGV:       normal
        Notification:  Thread + polling
        Architecture:  sparc
        Disabled:      none


How often does this happen? 
------------------------------
Every time.


Additional Information:
------------------------------
(1) Build date & Platform

bash-3.00# cat /etc/release
                       Solaris 10 5/09 s10s_u7wos_08 SPARC
           Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                             Assembled 30 March 2009
bash-3.00# uname -a
SunOS tornado 5.10 Generic_141414-10 sun4u sparc SUNW,Sun-Blade-1000

(2) Affected Products

This bug affected to following product. Please fix this bug to run the product
on Solaris 10 with the latest Mono-2.4.x.

- MindTouch Deki
http://mindtouch.com/

(3) Reference

Bug 426264 - Function return inconsistent ulong value, which has dummy
parameter of a Class and a ulong
https://bugzilla.novell.com/show_bug.cgi?id=426264

0005030: Incorrect permissions derived for Deki 8.08 on SPARC Solaris
http://bugs.developer.mindtouch.com/view.php?id=5030

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list