Mono Runtime crashes when trying to emit opcode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dylan.NET |
Fix Released
|
Critical
|
Dylan Borg | ||
dylan.NET.Reflection |
Fix Released
|
Critical
|
Dylan Borg | ||
mono (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: mono-devel
When I tryy to use ILGenerator.Emit the Mono runtime fails saying there is an assertion fail in method-to-ir.c.
Here is a console extract:
dylan@ubuntu:
firstapp.txt
dylan.NET Compiler v. 11.2.4 for Microsoft (R) .NET Framework (R) v. 3.5 SP1
Copyright (C) Dylan Borg 2010
Now Lexing: firstapp.
Now Parsing: firstapp.
Referencing Assembly: compiler/
Referencing Assembly: compiler/System.dll
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Referencing Assembly: compiler/
Importing Namespace: Microsoft.
Importing Namespace: System
Importing Namespace: System.Reflection
Importing Namespace: System.Collections
Importing Namespace: System.
Importing Namespace: System.Data
Importing Namespace: System.Diagnostics
Importing Namespace: System.Linq
Importing Namespace: System.Xml
Importing Namespace: System.Xml.Linq
Importing Namespace: System.
Beginning Assembly: firstappg2
Adding Class: firstappg2.Module1
Adding Method: main
**
ERROR:method-
(store_opcode != OP_STOREV_MEMBASE)
Stacktrace:
at dylan.NET.
at dylan.NET.
at dylan.NET.
(dylan.
at dylan.NET.
(dylan.
at dylan.NET.
at (wrapper runtime-invoke) <Module>
(object,
Native stacktrace:
mono() [0x80d4d0b]
[0x44640c]
/lib/
/lib/
/lib/
mono() [0x806862b]
mono() [0x8060088]
mono() [0x80606bf]
mono() [0x806123e]
mono() [0x80d8b4e]
[0x945066]
[0x2d2341]
[0x2d15ab]
[0x33a2db]
[0x33a384]
mono() [0x8061328]
mono(
mono(
mono(
mono(
mono() [0x8059385]
/lib/
mono() [0x80592c1]
Debug info from gdb:
Could not attach to process. If your uid matches the uid of the target
process, check the setting of /proc/sys/
again as the root user. For more details, see /etc/sysctl.
ptrace: Operation not permitted.
=======
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.
=======
Aborted
dylan@ubuntu:
1.Using Ubuntu 10.10 Maverick Meerkat
2.Using mono-devel 2.6.7-3ubuntu1
3.I expected all opcodes to be emitted without crashes(all works fine on MS .NET)
4.The system crashed because of an assertion fail.
Changed in dylandotnet: | |
importance: | Undecided → Critical |
status: | New → Confirmed |
Changed in dnr: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
Changed in dylandotnet: | |
assignee: | nobody → Dylan Borg (borgdylan) |
Changed in dnr: | |
assignee: | nobody → Dylan Borg (borgdylan) |
Changed in dylandotnet: | |
status: | Fix Committed → Fix Released |
Changed in dnr: | |
status: | Fix Committed → Fix Released |
tags: | added: dnr |
tags: | added: codegen |
THe error was in the IL to be run.