[Mono-list] GAC question

Robert Jordan robertj at gmx.net
Mon Apr 20 06:10:17 EDT 2009


Get the official Windows binary distribution. It's ready for embedding
up to mono.lib, but you should already have this file.

Robert

fozzie wrote:
> Well.. if i run the same assembly using the Mono 2.4 installed version it
> works using the same libraries so i suspect it's the source i'm building
> from. I'm using a snapshot of rev 131529 from SVN (it corresponded to the
> current snapshot) . This built ok, but i suspect may have subtle problems. 
> 
> I tried using the Mono 2.4 tarball at
> http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.tar.bz2 but it doesn't
> build cleanly using MSVC. It's missing the eglib files, and some of the
> projects. Does someone know how i can get around this? Perhaps i just need
> to checkout the 2.4 source from SVN corresponding to the Mono 2.4 install
> for windows.. if so, is the revision available somewhere?
> 
> 
> Robert Jordan wrote:
>> Hi,
>>
>> the crash you've experienced can only happen if I18N.dll is corrupt
>> Since this assembly is not vital, removing the GAC directory has
>> no immediate influence on your app. That's why it seems to work when
>> the GAC is missing.
>>
>>
>> fozzie wrote:
>>> bump.. I'm trying to use a 3rd party dll from within a mono VM embedded
>>> in a
>>> windows application. I restored the GAC directory name and used gacutil
>>> to
>>> register the dll using a strong name. But as soon as i run mono_jit_exec
>>> the
>>> crash occurs. It doesn't occur if the GAC directory is missing.
>>>
>>> The method variable in ves_icall_get_parameter_info() has its name field
>>> set
>>> to "get_PrimaryManager". Looking further into method:
>>> method.klass.image.name =
>>> "c:\AAA\git\1.5.8_bullet\mono\lib\mono\gac\I18N\2.0.0.0__0738eb9f132ed756\I18N.dll"
>>> method.klass.name = "Manager"
>>> method.klass.name_space = "I18N.Common"
>>>
>>> I'm using gmcs.bat to compile, but i'm just specifying the input and
>>> output
>>> files. Am i getting a version mismatch somewhere?
>>>
>>>
>>>
>>> fozzie wrote:
>>>> hi all..
>>>>
>>>> I'm getting a crash stack when i run the teste project with the test.cs
>>>> sample:
>>>>
>>>>> 	mono.dll!mono_class_from_mono_type(_MonoType * type=0x00000013)  Line
>>> 4711 + 0x3 bytes	C
>>>>  	mono.dll!ves_icall_get_parameter_info(_MonoMethod * method=0x01aee028,
>>>> _MonoReflectionMethod * member=0x0012f864)  Line 1644 + 0x18 bytes	C
>>>>  	02203260()	
>>>>  	mono.dll!mono_get_lmf_addr()  Line 2159 + 0xe bytes	C
>>>>  	02203249()	
>>>>  	mono.dll!mono_thread_current()  Line 1302 + 0xe bytes	C
>>>>  	mono.dll!mono_thread_interruption_checkpoint_request(int
>>>> bypass_abort_protection=0)  Line 3667	C
>>>>  	00000001()	
>>>>  	mono.dll!mono_thread_current()  Line 1302 + 0xe bytes	C
>>>>
>>>> The output is as follows:
>>>>
>>>> 'teste.exe': Loaded
>>>> 'C:\cygwin\usr\src\mono\mono\msvc\Win32_Debug_eglib\bin\teste.exe',
>>>> Symbols loaded.
>>>> 'teste.exe': Loaded 'C:\Windows\System32\ntdll.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\kernel32.dll'
>>>> 'teste.exe': Loaded
>>>> 'C:\cygwin\usr\src\mono\mono\msvc\Win32_Debug_eglib\bin\mono.dll',
>>>> Symbols
>>>> loaded.
>>>> 'teste.exe': Loaded 'C:\Windows\System32\version.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\msvcrt.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\ws2_32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\advapi32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\rpcrt4.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\nsi.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\psapi.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\winmm.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\user32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\gdi32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\ole32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\oleaut32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\oleacc.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\shell32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\shlwapi.dll'
>>>> 'teste.exe': Loaded
>>>> 'C:\Windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2\msvcr90d.dll',
>>>> Symbols loaded.
>>>> 'teste.exe': Loaded 'C:\Windows\System32\imm32.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\msctf.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\lpk.dll'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\usp10.dll'
>>>> 'teste.exe': Loaded
>>>> 'C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll'
>>>> 'teste.exe': Loaded 'ImageAtBase0x1d0000', No symbols loaded.
>>>> 'teste.exe': Unloaded 'ImageAtBase0x1d0000'
>>>> 'teste.exe': Loaded 'C:\Windows\System32\mscoree.dll'
>>>> 'teste.exe': Loaded
>>>> 'C:\cygwin\usr\src\mono\mono\msvc\Win32_Debug_eglib\test.exe', Binary
>>>> was
>>>> not built with debug information.
>>>> 'teste.exe': Loaded
>>>> 'C:\cygwin\usr\src\mono\mono\msvc\Win32_Debug_eglib\lib\mono\1.0\mscorlib.dll',
>>>> Binary was not built with debug information.
>>>> 'teste.exe': Loaded
>>>> 'C:\cygwin\usr\src\mono\mono\msvc\Win32_Debug_eglib\lib\mono\gac\I18N\1.0.5000.0__0738eb9f132ed756\I18N.dll',
>>>> Binary was not built with debug information.
>>>> First-chance exception at 0x1019dea9 (mono.dll) in teste.exe:
>>>> 0xC0000005:
>>>> Access violation reading location 0x00000017.
>>>> Unhandled exception at 0x1019dea9 (mono.dll) in teste.exe: 0xC0000005:
>>>> Access violation reading location 0x00000017.
>>>>
>>>>
>>>>
>>>> The weird thing is that the program works when i rename the lib\mono\gac
>>>> subdirectory to something else before running it. Can someone explain
>>>> this
>>>> behavior? An intermingling of windows and mono code, perhaps?
>>>>
>>>> thanks!
>>>>
>> _______________________________________________
>> Mono-list maillist  -  Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
>>
>>
> 



More information about the Mono-list mailing list