GNOME Bugzilla – Bug 347096
GMIME Library Problem?
Last modified: 2006-08-17 16:06:22 UTC
Please describe the problem: Upgraded from CVS 20060605 to 20060710 and now when I run it I get the information below. I did a rollback and it works fine. Has something changed in the way that libraries are loading? ** (beagled:21031): WARNING **: The following assembly referenced from /usr/local/lib/beagle/BeagleDaemonLib.dll could not be loaded: Assembly: gmime-sharp (assemblyref_index=6) Version: 2.1.0.0 Public Key: 677013d4cb5910f0 The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/local/lib/beagle). ================================================================= 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: Steps to reproduce: 1. 2. 3. Actual results: Expected results: Does this happen every time? Other information:
As discussed on IRC, this is caused by a gmime version mismatch. Beagle was built against (and expecting) 2.1, when some other version (2.2, presumably) was present.
It's not a mismatch problem. I just had a chance to try this again. I build an old CVS version, compiles fine and install and everything is great. I build a new one, install and when I run it it crashes immediately with the error below. Only one version of gmime is on the server. Something has changed in the way it searches or uses the library Debug: Starting main loop Debug: Starting messaging server ** (beagled:31733): WARNING **: The following assembly referenced from /usr/local/lib/beagle/BeagleDaemonLib.dll could not be loaded: Assembly: gmime-sharp (assemblyref_index=6) Version: 2.1.0.0 Public Key: 677013d4cb5910f0 The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in th e location of the executing assembly (/usr/local/lib/beagle). ================================================================= 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:GetTypes (bool) <0x4> in (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool) <0xffffffe4> in System.Reflection.Assembly:GetTypes () (at /tmp/scratch/BUILD/mono-1.1.15/mcs/class/corlib/System.Reflection/Assemb ly.cs:316) in Beagle.Daemon.Server:ScanAssemblyForExecutors (System.Reflection.Assembly) (at /u2/src/beagle_cvs_20060724/beagle/b eagled/Server.cs:447) in Beagle.Daemon.Server:.cctor () (at /u2/src/beagle_cvs_20060724/beagle/beagled/Server.cs:325) in (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) <0x758f077> in Beagle.Daemon.BeagleDaemon:StartServer () <0xffffffff> in Beagle.Daemon.BeagleDaemon:StartServer () (at /u2/src/beagle_cvs_20060724/beagle/beagled/BeagleDaemon.cs:58) in Beagle.Daemon.BeagleDaemon:StartupProcess () (at /u2/src/beagle_cvs_20060724/beagle/beagled/BeagleDaemon.cs:145) in (wrapper delegate-invoke) System.MulticastDelegate:invoke_bool () <0xffffffb2> in IdleProxy:Handler () <0x2a> in (wrapper native-to-managed) IdleProxy:Handler () <0xf805babe> in (wrapper managed-to-native) Gtk.Application:gtk_main () <0x4> in (wrapper managed-to-native) Gtk.Application:gtk_main () <0xffffffe7> in Gtk.Application:Run () <0x7> in Beagle.Daemon.BeagleDaemon:DoMain (string[]) (at /u2/src/beagle_cvs_20060724/beagle/beagled/BeagleDaemon.cs:475) in Beagle.Daemon.BeagleDaemon:Main (string[]) (at /u2/src/beagle_cvs_20060724/beagle/beagled/BeagleDaemon.cs:232) in (wrapper runtime-invoke) System.Object:runtime_invoke_void_string[] (object,intptr,intptr,intptr) <0x759bd87> Native stacktrace: beagled(mono_handle_native_sigsegv+0xbb) [0x8153d0b] beagled [0x813e66f] [0xfc9440] beagled(mono_assembly_load_reference+0x11e) [0x809fd6e] beagled(mono_class_from_typeref+0x164) [0x8089c44] beagled(mono_class_get+0xef) [0x809139f] beagled [0x809747c] beagled(mono_metadata_parse_type_full+0xf6) [0x8096606] beagled [0x808b721] beagled(mono_class_init+0x575) [0x808ed95] beagled(mono_type_get_object+0x9a) [0x80ecdea] beagled [0x80cabee] beagled [0x80caeda] [0x494e71] [0x494e2d] [0x494cc5] [0x494c0e] [0xbaf4ce] beagled [0x813e520] beagled(mono_runtime_invoke+0x27) [0x80d7b67] beagled(mono_runtime_class_init+0x12b) [0x80d5f6b] beagled [0x813dd74] beagled [0x813e0c2] beagled [0x813e25a] beagled(mono_compile_method+0x3a) [0x80d636a] beagled(mono_magic_trampoline+0x1a) [0x815519a] [0x241032] [0x49372e] [0x493600] [0x49356b] [0x8d3bfdc] /usr/lib/libglib-2.0.so.0 [0xd97a6f] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1dc) [0xd95810] /usr/lib/libglib-2.0.so.0 [0xd98816] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1d6) [0xd98b38] /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xb4) [0x4e0cdd5] [0x49351f] [0x4934e0] [0xba44f4] [0xba3745] [0xba27c3] beagled [0x813e520] beagled(mono_runtime_invoke+0x27) [0x80d7b67] beagled(mono_runtime_exec_main+0x5c) [0x80d8c9c] beagled(mono_runtime_run_main+0x171) [0x80d88c1] beagled(strftime+0x1ba2) [0x805c602] beagled(mono_main+0x857) [0x805cfe7] beagled(__fxstat64+0x12b) [0x805b9bb] /lib/libc.so.6(__libc_start_main+0xdf) [0x12862f] beagled(sinh+0x41) [0x805b911] Aborted
Maybe this is due to the following fix by Joe. http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=beagle&who=joeshaw&date=explicit&mindate=2006-07-07%2014:53&maxdate=2006-07-07%2014:55 I have no idea how module searching and GAC works. But that patch is the only relevant change that could be causing the bug.
Dave, where is gmime-sharp.dll located on your system? Do you set any environment variables outside of the beagle shell scripts?
When I move back to the 06/05 build, it always just starts working again: From CVS today--- gmime-sharp.dll: pwd /usr/local/lib/mono/gmime-sharp [root@nas gmime-sharp]# ls -la total 20 drwxr-xr-x 2 root root 4096 Jul 10 10:08 . drwxr-xr-x 5 root root 4096 Feb 8 2006 .. lrwxrwxrwx 1 root root 60 Jul 10 10:08 gmime-sharp.dll -> ../gac/gmime-sharp/2.1.0.0__677013d4cb5910f0/gmime-sharp.dll [root@nas gmime-sharp]# No environmental variables are in the scripts, except those that I use. When I try and build a static-index with CVS from today: Debug: +file:///home/largo/ms/Resolution_-_loan.PDF ** (/usr/local/lib/beagle/BuildIndex.exe:22700): WARNING **: The following assembly referenced from /usr/local/lib/beagle/Filters/Filters.dll could not be loaded: Assembly: gmime-sharp (assemblyref_index=8) Version: 2.1.0.0 Public Key: 677013d4cb5910f0 The assembly was not found in the Global Assembly Cache, a path listed in the MONO_PATH environment variable, or in the location of the executing assembly (/usr/local/lib/beagle/Filters). ================================================================= 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:GetTypes (bool) <0x4> in (wrapper managed-to-native) System.Reflection.Assembly:GetTypes (bool) <0xffffffe4> in System.Reflection.Assembly:GetTypes () (at /tmp/scratch/BUILD/mono-1.1.15/mcs/class/corlib/System.Reflection/Assembly.cs:316) in Beagle.Util.ReflectionFu:ScanAssemblyForClass (System.Reflection.Assembly,System.Type) (at /u2/src/beagle_cvs_20060815/beagle/Util/ReflectionFu.cs:100) in Beagle.Daemon.FilterFactory:ScanAssemblyForFilters (System.Reflection.Assembly) (at /u2/src/beagle_cvs_20060815/beagle/beagled/FilterFactory.cs:294) in Beagle.Daemon.FilterFactory:<#AnonymousMethod>0 (System.Reflection.Assembly) <0x12> in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void_Assembly (System.Reflection.Assembly) <0xfffffbfd> in Beagle.Util.ReflectionFu:ScanEnvironmentForAssemblies (string,string,Beagle.Util.ReflectionFu/ForeachDirMethod) (at /u2/src/beagle_cvs_20060815/beagle/Util/ReflectionFu.cs:63) in Beagle.Daemon.FilterFactory:.cctor () (at /u2/src/beagle_cvs_20060815/beagle/beagled/FilterFactory.cs:51) in (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) <0x7dc27bf> in Beagle.Daemon.LuceneIndexingDriver:Flush_Unlocked (Beagle.Daemon.IndexerRequest) <0xffffffff> in Beagle.Daemon.LuceneIndexingDriver:Flush_Unlocked (Beagle.Daemon.IndexerRequest) (at /u2/src/beagle_cvs_20060815/beagle/beagled/LuceneIndexingDriver.cs:259) in Beagle.Daemon.LuceneIndexingDriver:Flush (Beagle.Daemon.IndexerRequest) (at /u2/src/beagle_cvs_20060815/beagle/beagled/LuceneIndexingDriver.cs:90) in Beagle.Daemon.BuildIndex:FlushIndexer (Beagle.Daemon.IIndexer,Beagle.Daemon.IndexerRequest) (at /u2/src/beagle_cvs_20060815/beagle/beagled/BuildIndex.cs:397) in Beagle.Daemon.BuildIndex:IndexWorker () (at /u2/src/beagle_cvs_20060815/beagle/beagled/BuildIndex.cs:530) in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void () <0x319> in Beagle.Util.ExceptionHandlingThread:ThreadStarted () (at /u2/src/beagle_cvs_20060815/beagle/Util/ExceptionHandlingThread.cs:54) in (wrapper delegate-invoke) System.MulticastDelegate:invoke_void () <0xffe2ba70> in (wrapper runtime-invoke) System.Object:runtime_invoke_void (object,intptr,intptr,intptr) <0x798f367> Native stacktrace: beagle-build-index(mono_handle_native_sigsegv+0xbb) [0x8153d0b] beagle-build-index [0x813e66f] [0x54c440] beagle-build-index(mono_assembly_load_reference+0x11e) [0x809fd6e] beagle-build-index(mono_class_from_typeref+0x164) [0x8089c44] beagle-build-index(mono_class_get+0xef) [0x809139f] beagle-build-index [0x809747c] beagle-build-index(mono_metadata_parse_type_full+0xf6) [0x8096606] beagle-build-index [0x808b721] beagle-build-index(mono_class_init+0x575) [0x808ed95] beagle-build-index(mono_type_get_object+0x9a) [0x80ecdea] beagle-build-index [0x80cabee] beagle-build-index [0x80caeda] [0x4df2779] [0x4df2735] [0x4df269e] [0x4df2246] [0x4df20f3] [0x4df20c9] [0x4df1c7e] [0x4df1982] [0x37bd86] beagle-build-index [0x813e520] beagle-build-index(mono_runtime_invoke+0x27) [0x80d7b67] beagle-build-index(mono_runtime_class_init+0x12b) [0x80d5f6b] beagle-build-index [0x813dd74] beagle-build-index [0x813e0c2] beagle-build-index [0x813e25a] beagle-build-index(mono_compile_method+0x3a) [0x80d636a] beagle-build-index(mono_magic_trampoline+0x1a) [0x815519a] [0x7d1032] [0x6e8501b] [0x6e84b64] [0x988b53] [0x9837a8] [0x983a8a] [0x9837a0] [0x7af1e1] beagle-build-index [0x813e520] beagle-build-index(mono_runtime_invoke+0x27) [0x80d7b67] beagle-build-index(mono_runtime_delegate_invoke+0x3b) [0x80d85bb] beagle-build-index [0x809a96b] beagle-build-index [0x80f6ef7] beagle-build-index [0x8115ba5] /lib/libpthread.so.0 [0x447bdb] /lib/libc.so.6(__clone+0x5e) [0x1f2d3e]
Ok, you will have to start manually setting MONO_GAC_PREFIX=/usr/local when running if you install mono assemblies in non-standard (ie, /usr) locations, similar to how LD_LIBRARY_PATH works. While it breaks your case, it actually fixes a lot of unexpected problems caused by people installing their own copies of mono and beagle automatically pulling in a different directory without their knowledge.
indeed, that fixed it. Sorry for not understanding all of the library issues with Mono. Closing.