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 - [email protected] > http://lists.ximian.com/mailman/listinfo/mono-list > > -- View this message in context: http://www.nabble.com/GAC-question-tp23044913p23130444.html Sent from the Mono - General mailing list archive at Nabble.com. _______________________________________________ Mono-list maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-list
