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

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Sep 15 07:14:29 EDT 2008


https://bugzilla.novell.com/show_bug.cgi?id=426264


           Summary: Function return inconsistent ulong value, which has
                    dummy parameter of a Class and a ulong
           Product: Mono: Runtime
           Version: 1.9
          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: vargaz at gmail.com, Yasuaki.Hasegawa at fujixerox.co.jp
          Found By: Community User


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

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]


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

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

(2) Platform: Mono runtime on Linux (Debian x86) achieve the same result.

dekiwiki:~# /usr/bin/gmcs --version
Mono C# compiler version 1.2.2.1
dekiwiki:~# /usr/bin/mono --version
Mono JIT compiler version 1.2.2.1, (C) 2002-2006 Novell, Inc and Contributors.
www.mono-project.com
        TLS:           normal
        GC:            Included Boehm (with typed GC)
        SIGSEGV:       normal
        Disabled:      none
dekiwiki:~# /usr/bin/gmcs -out:a-linux86.exe a.cs
dekiwiki:~# /usr/bin/mono a-linux86.exe
getSecondArg : perm = 8000000000000FFF
getSecondArg : perm = 8000000000000FFF
Main : Successfully terminated.


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


Additional Information:
------------------------------

(1) Build Date & Platform

# uname -a
SunOS tornado 5.10 Generic_137111-06 sun4u sparc SUNW,Sun-Blade-1000

# /opt/mono/bin/gmcs --version
Mono C# compiler version 1.9.1.0

# /opt/mono/bin/mono --version
Mono JIT compiler version 1.9.1 (tarball)
Copyright (C) 2002-2007 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

(2) Affected Products

I believe the latest "MindTouch Deki 8.08" are affected this issue.
A detailed report was filed on there database as below.

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

MindTouch
http://wiki.mindtouch.com/


-- 
Configure bugmail: https://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