[MonoDevelop] bug in MonoDevelop.Projects.DefaultCompilerResult?

Ben Joldersma ben at joldersma.org
Fri Jan 11 20:15:07 EST 2008


Yes, you are of course right.

I am bringing back the exception.  I'm getting weird TypeLoad failure and
I'm not sure why.

here is the stack when the empty err is swallowed:

Unhandled Exception: System.TypeLoadException: Could not load type '
EmergeTk.Util' from assembly 'EmergeTk, Version=0.3.0.0, Culture=neutral'.
  at (wrapper managed-to-native) System.MonoType:GetMethodsByName (string,
System.Reflection.BindingFlags,bool,System.Type)
  at System.MonoType.GetMethods (BindingFlags bindingAttr) [0x00000]
  at Mono.CSharp.MemberCache.AddMethods (BindingFlags bf, System.Type type)
[0x00000]
  at Mono.CSharp.MemberCache.AddMethods (System.Type type) [0x00000]
  at Mono.CSharp.MemberCache..ctor (IMemberContainer container) [0x00000]
  at Mono.CSharp.TypeHandle..ctor (System.Type type) [0x00000]
  at Mono.CSharp.TypeHandle.GetTypeHandle (System.Type t) [0x00000]
  at Mono.CSharp.TypeHandle.GetMemberCache (System.Type t) [0x00000]
  at Mono.CSharp.TypeManager.MemberLookup_FindMembers (System.Type t,
MemberTypes mt, BindingFlags bf, System.String name,
System.Boolean&used_cache) [0x00000]
  at Mono.CSharp.TypeManager.RealMemberLookup (System.Type invocation_type,
System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
BindingFlags original_bf, System.String name, IList almost_match) [0x00000]
  at Mono.CSharp.TypeManager.MemberLookup (System.Type invocation_type,
System.Type qualifier_type, System.Type queried_type, MemberTypes mt,
BindingFlags original_bf, System.String name, IList almost_match) [0x00000]
  at Mono.CSharp.Expression.MemberLookup (System.Type container_type,
System.Type qualifier_type, System.Type queried_type, System.String name,
MemberTypes mt, BindingFlags bf, Location loc) [0x00000]
  at Mono.CSharp.Expression.MemberLookup (System.Type container_type,
System.Type qualifier_type, System.Type queried_type, System.String name,
Location loc) [0x00000]
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec,
Mono.CSharp.Expression right_side) [0x00000]
  at Mono.CSharp.MemberAccess.DoResolve (Mono.CSharp.EmitContext ec)
[0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
ResolveFlags flags) [0x00000]
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
ResolveFlags flags) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Binary.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
ResolveFlags flags) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Argument.Resolve (Mono.CSharp.EmitContext ec, Location loc)
[0x00000]
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec,
ResolveFlags flags) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.ExpressionStatement.ResolveStatement (
Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec)
[0x00000]
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Catch.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Try.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.EmitContext.ResolveTopBlock
(Mono.CSharp.EmitContextanonymous_method_host,
Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters ip, IMethodData md,
System.Boolean& unreachable) [0x00000]


and here is when the exception is thrown:

ERROR [2008-01-11 17:14:34Z]: System.NullReferenceException: Object
reference not set to an instance of an object
  at MonoDevelop.Projects.DefaultCompilerResult..ctor (
System.CodeDom.Compiler.CompilerResults compilerResults,
System.StringcompilerOutput) [0x00000]
  at CSharpBinding.CSharpBindingCompilerManager.ParseOutput (
System.CodeDom.Compiler.TempFileCollection tf, System.String stdout,
System.String stderr) [0x00000]
  at CSharpBinding.CSharpBindingCompilerManager.Compile (
MonoDevelop.Projects.ProjectFileCollection projectFiles,
MonoDevelop.Projects.ProjectReferenceCollection references,
MonoDevelop.Projects.DotNetProjectConfiguration configuration,
IProgressMonitor monitor) [0x00000]
  at CSharpBinding.CSharpLanguageBinding.Compile (
MonoDevelop.Projects.ProjectFileCollection projectFiles,
MonoDevelop.Projects.ProjectReferenceCollection references,
MonoDevelop.Projects.DotNetProjectConfiguration configuration,
IProgressMonitor monitor) [0x00000]
  at MonoDevelop.Projects.DotNetProject.DoBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.Project.OnBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.DefaultProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at CBinding.CProjectServiceExtension.Build (IProgressMonitor monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Autotools.MakefileProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Deployment.DeployProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.GtkCore.GuiBuilder.GtkProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Prj2Make.MSBuildProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CustomCommandExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.Project.InternalBuild (IProgressMonitor monitor,
Boolean buildReferences) [0x00000]
  at MonoDevelop.Projects.Project.Build (IProgressMonitor monitor, Boolean
buildReferences) [0x00000]
  at MonoDevelop.Projects.Combine.OnBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.DefaultProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at CBinding.CProjectServiceExtension.Build (IProgressMonitor monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Autotools.MakefileProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Deployment.DeployProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.GtkCore.GuiBuilder.GtkProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Prj2Make.MSBuildProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CustomCommandExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CombineEntry.InternalBuild (IProgressMonitor
monitor) [0x00000]
  at MonoDevelop.Projects.CombineEntry.Build (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Ide.Gui.ProjectOperations.BuildCombineEntryAsync (
System.Object ob) [0x00000]
ERROR [2008-01-11 17:14:34Z]: System.NullReferenceException: Object
reference not set to an instance of an object
  at MonoDevelop.Projects.DefaultCompilerResult..ctor (
System.CodeDom.Compiler.CompilerResults compilerResults,
System.StringcompilerOutput) [0x00000]
  at CSharpBinding.CSharpBindingCompilerManager.ParseOutput (
System.CodeDom.Compiler.TempFileCollection tf, System.String stdout,
System.String stderr) [0x00000]
  at CSharpBinding.CSharpBindingCompilerManager.Compile (
MonoDevelop.Projects.ProjectFileCollection projectFiles,
MonoDevelop.Projects.ProjectReferenceCollection references,
MonoDevelop.Projects.DotNetProjectConfiguration configuration,
IProgressMonitor monitor) [0x00000]
  at CSharpBinding.CSharpLanguageBinding.Compile (
MonoDevelop.Projects.ProjectFileCollection projectFiles,
MonoDevelop.Projects.ProjectReferenceCollection references,
MonoDevelop.Projects.DotNetProjectConfiguration configuration,
IProgressMonitor monitor) [0x00000]
  at MonoDevelop.Projects.DotNetProject.DoBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.Project.OnBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.DefaultProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at CBinding.CProjectServiceExtension.Build (IProgressMonitor monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Autotools.MakefileProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Deployment.DeployProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.GtkCore.GuiBuilder.GtkProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Prj2Make.MSBuildProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CustomCommandExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.Project.InternalBuild (IProgressMonitor monitor,
Boolean buildReferences) [0x00000]
  at MonoDevelop.Projects.Project.Build (IProgressMonitor monitor, Boolean
buildReferences) [0x00000]
  at MonoDevelop.Projects.Combine.OnBuild (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Projects.DefaultProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at CBinding.CProjectServiceExtension.Build (IProgressMonitor monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Autotools.MakefileProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Deployment.DeployProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.GtkCore.GuiBuilder.GtkProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Prj2Make.MSBuildProjectServiceExtension.Build(IProgressMonitor
monitor,
MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.ProjectServiceExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CustomCommandExtension.Build (IProgressMonitor
monitor, MonoDevelop.Projects.CombineEntry entry) [0x00000]
  at MonoDevelop.Projects.CombineEntry.InternalBuild (IProgressMonitor
monitor) [0x00000]
  at MonoDevelop.Projects.CombineEntry.Build (IProgressMonitor monitor)
[0x00000]
  at MonoDevelop.Ide.Gui.ProjectOperations.BuildCombineEntryAsync (
System.Object ob) [0x00000]


On Jan 11, 2008 4:53 PM, Michael Hutchinson <m.j.hutchinson at gmail.com>
wrote:

> On Jan 11, 2008 7:44 PM, Ben Joldersma <ben at joldersma.org> wrote:
> > all,
> >
> > Love the latest version of MD.  Is a pleasure to work with.  I ran into
> a
> > small problem in which null errors were somehow being passed in
> > CompilerResults constructor param, fixed it with this little diff:
> >
> >  54c54
> > <                                       if (err.IsWarning)
> warningCount++;
> > ---
> > >                                       if (err != null && err.IsWarning
> )
> > warningCount++;
> >
> > Not sure if y'all want to make the change, but it gets my project to
> compile
>
> I haven't seen this problem. Could you get a stack trace from the
> error? I'd rather throw an ArgumentNullException than silently ignore
> it.
>
> --
> Michael Hutchinson
> http://mjhutchinson.com
>



-- 
ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/monodevelop-list/attachments/20080111/8b100809/attachment-0001.html 


More information about the Monodevelop-list mailing list