Re: mkbundle null reference exception with --deps option
Marek Safar <[email protected]> Thu, 26 Oct 2017 15:25:40 +0200
| Newsgroups | gmane.comp.gnome.mono.devel |
|---|---|
| Message-ID | <CAB=RytUHBC0XkwaSP+jbr=4_P8Vvqc6QugkQvg6rM31Gq8ucew@mail.gmail.com> |
Hello David, It'd be nice to figure out which assembly is causing this, you could build mkbuild from the Mono master with more logging. Alternatively, please fill a bug report at bugzilla.xamarin.com with the full repro which could be used to reproduce the issue. Thank you, Marek On Thu, Oct 26, 2017 at 5:03 AM, David Curylo <[email protected]> wrote: > I found my mkbundle jobs started failing a couple months ago, I believe > with a switch to mono 5.2.0.224, with this error: > > Unhandled Exception: > System.NullReferenceException: Object reference not set to an instance of > an object > at MakeBundle.QueueAssembly (System.Collections.Generic.List`1[T] > files, System.String codebase) [0x000bc] in < > 1eb347299adf445aac66783f3da9ec85>:0 > at MakeBundle.Main (System.String[] args) [0x00d5f] in < > 1eb347299adf445aac66783f3da9ec85>:0 > > I was hoping this would be fixed with 5.4.0.201, but it still seems to > fail. I started digging and it seems that having the --deps option can > cause this exception if certain assemblies are referenced. I haven’t > figured out which assemblies, maybe facades? A simple “hello world” with > very few dependencies works fine, but something with additional framework > libraries hits this issue, so I have a “hello world” with the Suave web > framework, which includes more of the framework in the bundle. > > I can reproduce the issue with the following Dockerfile, which will throw > the exception at the point it tries to make the bundle. Drop off the > --deps option and it works fine (albeit I have to be sure to include all > assemblies or there are runtime errors). Any idea what is happening with > --deps here? > > FROM mono:5.4.0.201 as builder > RUN mkdir /src > RUN echo 'open Suave\n\ > [<EntryPoint>]\n\ > let main argv =\n\ > startWebServer defaultConfig (Successful.OK "Hello World!")\n\ > 0\n\ > ' > /src/hello.fs > RUN echo '<Project Sdk="Microsoft.NET.Sdk">\n\ > <PropertyGroup>\n\ > <OutputType>Exe</OutputType>\n\ > <TargetFramework>net462</TargetFramework>\n\ > </PropertyGroup>\n\ > <ItemGroup>\n\ > <Compile Include="hello.fs" />\n\ > </ItemGroup>\n\ > <ItemGroup>\n\ > <PackageReference Include="suave" Version="2.2.1" />\n\ > </ItemGroup>\n\ > </Project>' > /src/hello.fsproj > WORKDIR src > RUN msbuild /t:restore > RUN msbuild /t:build > RUN apt-get update && apt-get install -y gcc > RUN cd bin/Debug/net462 && mkbundle --deps --static --config > /etc/mono/config -L /usr/lib/mono/4.5 -o hello hello.exe *.dll > /usr/lib/mono/4.5/mscorlib.dll /usr/lib/mono/4.5/System.dll > > _______________________________________________ > Mono-devel-list mailing list > [email protected] > http://lists.dot.net/mailman/listinfo/mono-devel-list > _______________________________________________ Mono-devel-list mailing list [email protected] http://lists.dot.net/mailman/listinfo/mono-devel-list