[Mono-bugs] [Bug 691100] New: fixed arrays of longs in unsafe structs results SIGABRT in runtime
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Sun May 1 12:52:38 EDT 2011
https://bugzilla.novell.com/show_bug.cgi?id=691100
https://bugzilla.novell.com/show_bug.cgi?id=691100#c0
Summary: fixed arrays of longs in unsafe structs results
SIGABRT in runtime
Classification: Mono
Product: Mono: Compilers
Version: 2.10.x
Platform: Macintosh
OS/Version: Mac OS X 10.6
Status: NEW
Severity: Critical
Priority: P5 - None
Component: C#
AssignedTo: msafar at novell.com
ReportedBy: ru.zelyony at gmail.com
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1)
Gecko/20100101 Firefox/4.0.1
//***************************************************************************
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
public unsafe struct SomeType
{
public int i1, i2, i3;
public fixed long vec[10]; // got a SIGABRT
}
class Program
{
static unsafe void Main( string[] args )
{
var c = new SomeType();
var c2 = new SomeType();
Console.WriteLine( "sizeof={0}", Marshal.SizeOf( c));
c.i1 = c2.i1 = 10;
c.i2 = c2.i2 = 8;
c.i3 = c2.i3 = 1;
c.vec[0] = c.vec[5] = c.vec[9] = c2.vec[0] = c2.vec[5] = c2.vec[9]
= 123;
Console.WriteLine( "{0} {1} {2} {3} {4} {5} {6} {7}", c.i1, c.i2,
c.i3, c.vec[0], c.vec[5], c.vec[9], c.vec[3], c.vec[7] );
//Console.WriteLine( "{0} {1} {2} {3} {4} {5} {6} {7}", c2.i1,
c2.i2, c2.i3, c2.vec[0], c2.vec[5], c2.vec[9], c2.vec[3], c2.vec[7] );
Console.ReadLine();
}
}
}
//***************************************************************************/
Reproducible: Always
Steps to Reproduce:
1.
2.
3.
Actual Results:
* Assertion at mini-codegen.c:1186, condition `reginfo [sreg].born_in > 0' not
met
Stacktrace:
Native stacktrace:
0 mono 0x000b6ea9 0x0 + 749225
1 libSystem.B.dylib 0x97f8248b _sigtramp + 43
2 ??? 0xffffffff 0x0 + 4294967295
3 libSystem.B.dylib 0x9800f879 raise + 26
4 libSystem.B.dylib 0x980259b8 abort + 93
5 mono 0x0024fd9e 0x0 + 2424222
6 mono 0x0024fe00 0x0 + 2424320
7 mono 0x000b3c4d 0x0 + 736333
8 mono 0x00008bcc 0x0 + 35788
9 mono 0x0000eb60 0x0 + 60256
10 mono 0x000105a6 0x0 + 66982
11 mono 0x000113c6 0x0 + 70598
12 mono 0x001bd83c 0x0 + 1824828
13 mono 0x001bfe35 0x0 + 1834549
14 mono 0x001bf21f 0x0 + 1831455
15 mono 0x000884c2 0x0 + 558274
16 mono 0x00003a46 0x0 + 14918
Debug info from gdb:
/tmp/mono-gdb-commands.IxlIHV:1: Error in sourced command file:
unable to debug self
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Abort trap
Expected Results:
just work
same code (fixed array of longs) not works in iOS (compiled mtouch)
current my MonoFramework is 2.10.2.5.4
in MF 2.10.1.3 fixed array of int => Marshal.SizeOf( c ) == 24 NOT equals
13*sizeof(int)
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list