Bug 321027 (MONO78286) - mcs should not give strange errors when referencing a dll linked against the 2.0 profile
Summary: mcs should not give strange errors when referencing a dll linked against the ...
Status: RESOLVED NORESPONSE
Alias: MONO78286
Product: Mono: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 1.1
Hardware: Other Other
: P3 - Medium : Minor
Target Milestone: ---
Assignee: Mono Bugs
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on: 411279
Blocks:
  Show dependency treegraph
 
Reported: 2006-05-04 12:47 UTC by Jo Vermeulen
Modified: 2010-05-18 10:44 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Source code package (209.63 KB, application/octet-stream)
2006-05-04 12:48 UTC, Thomas Wiest
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 19:57:38 UTC


---- Reported by jo.vermeulen@gmail.com 2006-05-04 05:47:57 MST ----

Description of Problem:

Compiling a project of mine, which used to compile fine on Ubuntu Breezy,
now gives problems on Ubuntu Dapper.

jo@jvermeulen:~/Projects/uiml.net/Uiml$ make
building library
mcs -debug+ -warn:2 -pkg:nemerle -pkg:boo -lib:/usr/lib/mono/1.0/
-r:Cassowary.dll -r:Cassowary.Parsing.dll -keyfile:uiml.net.snk
-out:uiml.net.dll -target:library *.cs Rendering/*.cs Executing/*.cs\
        Executing/Callers/Caller.cs Executing/Callers/LocalCaller.cs
Executing/Callers/CallerFactory.cs Utils/*.cs Peers/*.cs
Executing/Binding/*.cs\
        LayoutManagement/*.cs

Unhandled Exception: System.ArgumentException: Path is invalid
Parameter name: path
in <0x00246> System.IO.Directory:GetFileSystemEntries (System.String path,
System.String pattern, FileAttributes mask, FileAttributes attrs)
in <0x00011> System.IO.Directory:GetFiles (System.String path,
System.String pattern)
in <0x000a9> Mono.CSharp.Driver:CompileFiles (System.String spec, Boolean
recurse)
in <0x003b2> Mono.CSharp.Driver:MainDriver (System.String[] args)
in <0x00041> Mono.CSharp.Driver:Main (System.String[] args)
make: *** [lib] Error 1

When I just enter the compile line at the shell, I get this:

jo@jvermeulen:~/Projects/uiml.net/Uiml$ mcs -debug+ -warn:2 -pkg:nemerle
-pkg:boo -lib:/usr/lib/mono/1.0/ -r:Cassowary.dll -r:Cassowary.Parsing.dll
-keyfile:uiml.net.snk -out:uiml.net.dll -target:library *.cs Rendering/*.cs
Executing/*.cs\
>         Executing/Callers/Caller.cs Executing/Callers/LocalCaller.cs
Executing/Callers/CallerFactory.cs Utils/*.cs Peers/*.cs
Executing/Binding/*.cs\
>         LayoutManagement/*.cs

** (/usr/lib/mono/1.0/mcs.exe:11976): WARNING **: The class
System.IComparable`1 could not be loaded, used in mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Stacktrace:

in (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType
(System.Reflection.Module,string,bool,bool) <0x4>
in (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType
(System.Reflection.Module,string,bool,bool) <0xffffffc6>
in System.Reflection.Assembly:GetType (string,bool,bool) <0x26>
in System.Reflection.Assembly:GetType (string) <0x14>
in Mono.CSharp.RootNamespace:GetTypeInAssembly
(System.Reflection.Assembly,string) <0x1c>
in Mono.CSharp.GlobalRootNamespace:LookupTypeReflection
(string,Mono.CSharp.Location) <0x83>
in Mono.CSharp.Namespace:LookupType (string,Mono.CSharp.Location) <0x131>
in Mono.CSharp.Namespace:Lookup
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location) <0x64>
in Mono.CSharp.NamespaceEntry:Lookup
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x51>
in Mono.CSharp.NamespaceEntry:LookupNamespaceOrType
(Mono.CSharp.DeclSpace,string,Mono.CSharp.Location,bool) <0x30>
in Mono.CSharp.DeclSpace:LookupType (string,Mono.CSharp.Location,bool) <0x128>
in Mono.CSharp.SimpleName:ResolveAsTypeStep (Mono.CSharp.EmitContext,bool)
<0x40>
in Mono.CSharp.Expression:ResolveAsTypeTerminal
(Mono.CSharp.EmitContext,bool) <0x2f>
in Mono.CSharp.ComposedCast:DoResolveAsTypeStep (Mono.CSharp.EmitContext)
<0x29>
in Mono.CSharp.TypeExpr:ResolveAsTypeStep (Mono.CSharp.EmitContext,bool) <0x11>
in Mono.CSharp.Expression:ResolveAsTypeTerminal
(Mono.CSharp.EmitContext,bool) <0x2f>
in Mono.CSharp.MemberBase:get_MemberType () <0x6a>
in Mono.CSharp.MemberBase:DoDefine () <0xb9>
in Mono.CSharp.Method:Define () <0x15>
in MemberCoreArrayList:DefineContainerMembers () <0x59>
in MethodArrayList:DefineContainerMembers () <0x10>
in Mono.CSharp.TypeContainer:DefineContainerMembers
(Mono.CSharp.TypeContainer/MemberCoreArrayList) <0x14>
in Mono.CSharp.TypeContainer:DoDefineMembers () <0x439>
in Mono.CSharp.TypeContainer:DefineMembers () <0x4a>
in Mono.CSharp.RootContext:PopulateTypes () <0xc4>
in Mono.CSharp.Driver:MainDriver (string[]) <0x9e3>
in Mono.CSharp.Driver:Main (string[]) <0x41>
in (wrapper runtime-invoke) System.Object:runtime_invoke_int_string[]
(object,intptr,intptr,intptr) <0xb85bef>

Native stacktrace:

        /usr/lib/libmono.so.0(mono_handle_native_sigsegv+0xe3) [0xb7e2243f]
        /usr/lib/libmono.so.0 [0xb7de403e]
        [0xffffe440]
        /usr/lib/libmono.so.0 [0xb7eb3ea5]
        /usr/lib/libmono.so.0(mono_type_create_from_typespec_full+0x13f)
[0xb7eb6b7f]
        /usr/lib/libmono.so.0 [0xb7ec8b23]
        /usr/lib/libmono.so.0 [0xb7ec8cdc]
        /usr/lib/libmono.so.0(mono_class_get_full+0x24) [0xb7ec8e6c]
       
/usr/lib/libmono.so.0(mono_metadata_interfaces_from_typedef_full+0x132)
[0xb7eb545f]
        /usr/lib/libmono.so.0 [0xb7ec96d6]
        /usr/lib/libmono.so.0 [0xb7ec8cb4]
        /usr/lib/libmono.so.0 [0xb7eb3f78]
        /usr/lib/libmono.so.0(mono_metadata_parse_type_full+0x133) [0xb7eb4183]
        /usr/lib/libmono.so.0 [0xb7ec7be1]
        /usr/lib/libmono.so.0(mono_class_init+0x38a) [0xb7ec5b36]
        /usr/lib/libmono.so.0 [0xb7e61657]
        /usr/lib/libmono.so.0(mono_reflection_get_type+0x25) [0xb7e617c0]
        /usr/lib/libmono.so.0 [0xb7e70863]
        [0xb6cb671e]
        [0xb6cb66af]
        [0xb6cb667d]
        [0xb6cb65cd]
        [0xb6cb6404]
        [0xb6cb630a]
        [0xb6cb6135]
        [0xb6cba63a]
        [0xb6cba5a9]
        [0xb6cba251]
        [0xb6cba049]
        [0xb6cb9ed8]
        [0xb6ca6f62]
        [0xb6cba8fa]
        [0xb6cb9ed8]
        [0xb6ca0a63]
        [0xb6ca028a]
        [0xb6c9fbfe]
        [0xb6c9fac2]
        [0xb6c9f9a9]
        [0xb6c9f97d]
        [0xb6c9f442]
        [0xb6c9ef73]
        [0xb6c9e9d5]
        [0xb7282d34]
        [0xb72819aa]
        [0xb727b874]
        /usr/lib/libmono.so.0 [0xb7e01438]
        /usr/lib/libmono.so.0(mono_runtime_invoke+0x33) [0xb7e63eed]
        /usr/lib/libmono.so.0(mono_runtime_exec_main+0xa8) [0xb7e66ac9]
        /usr/lib/libmono.so.0(mono_runtime_run_main+0x188) [0xb7e69bf0]
        /usr/lib/libmono.so.0(mono_jit_exec+0x90) [0xb7e13b5e]
        /usr/lib/libmono.so.0(mono_main+0x962) [0xb7e1454f]
        /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xd2) [0xb7bafea2]
        /usr/bin/mono [0x8048459]
Aborted

Maybe this is an Ubuntu/Debian specific problem? 

Steps to reproduce the problem:
1. Download Uiml.net (tarball will be uploaded as attachment soon)
2. Try to compile it

Actual Results:

Compiler errors (exceptions thrown)

Expected Results:

Compilation Succeeded

How often does this happen? 

Always



---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 05:48:49 MST ----

Created an attachment (id=169743)
Source code package




---- Additional Comments From rharinath@novell.com 2006-05-04 06:44:39 MST ----

The warning:

** (/usr/lib/mono/1.0/mcs.exe:11976): WARNING **: The class
System.IComparable`1 could not be loaded, used in mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

suggests that you have a broken environment.  Note that the mcs.exe
from the .NET 1.1 profile is using a mscorlib.dll from the .NET 2.0
profile.

You may have a wrong MONO_PATH environment variable (it's mostly wrong
to need to set MONO_PATH :-)

Please re-open the bug if you can reproduce it with a saner environment.



---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 08:22:04 MST ----

It works when I use gmcs instead of mcs... Is this necessary? This
means I must edit my Makefile to use gmcs instead of mcs. But then it
doesn't work on .NET 1.1 anymore?



---- Additional Comments From rharinath@novell.com 2006-05-04 08:33:46 MST ----

I think I understand now.  Sorry for not catching on earlier.

You're using -pkg:nemerle.  nemerle now makes extensive use of the
generics features of the .NET 2.0 runtime.

So, yes, I believe you need to use 'gmcs' when using nemerle compiled
dlls.  Retitling bug



---- Additional Comments From jo.vermeulen@gmail.com 2006-05-04 09:09:09 MST ----

Indeed, I noticed as well. When removing that dependency, it does work.

However, there is still the problem of not working directly from
within the Makefile. I isolated the problem (I think) and filed a bug
for that as well:

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



---- Additional Comments From rharinath@novell.com 2006-11-08 04:49:48 MST ----

*** https://bugzilla.novell.com/show_bug.cgi?id=MONO78689 has been marked as a duplicate of this bug. ***

Imported an attachment (id=169743)

Unknown bug field "cf_op_sys_details" encountered while moving bug
   <cf_op_sys_details>Ubuntu Linux Dapper Drake Beta</cf_op_sys_details>
Unknown operating system unknown. Setting to default OS "Other".

Comment 2 Marek Safar 2008-10-10 11:00:51 UTC
Could you try reproduce it with the latest mono or tell me how to reproduce this bug
Comment 3 Marek Safar 2010-05-18 10:44:23 UTC
closing, mcs is not supported by trunk