[Mono-dev] Domain Unload crash

Joachim Ante joe at otee.dk
Thu Jun 28 17:36:50 EDT 2007


Hi,

I am having some more issues in domain unloading. Paolo fixed one  
crashbug in the generics cache and at least it isn't crashing every  
time we unload a domain.
http://bugzilla.ximian.com/show_bug.cgi?id=77596


The problem is that now i am getting crashbugs much less frequently  
and it happens in places that just don't make a lot of sense to me  
and it happens very rarely. After unload/loading a domain 40-50  
times. I get crashes which look like this:

So now i really have no idea how to debug this. Any ideas on what to  
do here? On how to debug this situation. Any hints on what might be  
going wrong?
I am stumped.


See crashlogs below.

In this one, it seemed that the return value of the signature was  
null and then got derefenced.

0   com.OverTheEdge.MonoBundle     	0x0955a244  
do_mono_metadata_type_equal + 24 (metadata.c:3593)
1   <<00000000>> 	0x024fddec 0 + 38788588
2   com.OverTheEdge.MonoBundle     	0x0955a49c  
mono_metadata_signature_equal + 160 (metadata.c:3688)
3   com.OverTheEdge.MonoBundle     	0x09621974 g_hash_table_lookup +  
124 (metadata.c:4789)
4   com.OverTheEdge.MonoBundle     	0x09547898  
mono_marshal_get_runtime_invoke + 392 ((null):-1)
5   com.OverTheEdge.MonoBundle     	0x095cd9ac  
mono_jit_runtime_invoke + 84 (metadata.c:4789)
6   dk.otee.UnityWebPlayerCore     	0x08cdd9b4  
_Z20ExtractMonoExceptionRSsiS0_PiiPK6Object + 340 (MonoManager.cpp:1919)


or something like this was also common.

0   com.OverTheEdge.MonoBundle     	0x09022344 mono_type_hash + 0  
(metadata.c:1351)
1   com.OverTheEdge.MonoBundle     	0x090255a4 mono_signature_hash +  
68 (metadata.c:3727)
2   com.OverTheEdge.MonoBundle     	0x090ed3ec g_hash_table_resize +  
128 (metadata.c:4793)
3   com.OverTheEdge.MonoBundle     	0x090130d8  
mono_marshal_get_runtime_invoke + 2536 ((null):-1)
4   com.OverTheEdge.MonoBundle     	0x090989a8  
mono_jit_runtime_invoke + 84 (metadata.c:4793)
5   dk.otee.UnityWebPlayerCore     	0x087aa740  
MonoManager::RebuildCommonMonoClasses() + 1728 (MonoManager.cpp:1104)
6   dk.otee.UnityWebPlayerCore     	0x087ab6d0  
MonoManager::ReloadAssembly(int, int&) + 1040 (MonoManager.cpp:678)
7   dk.otee.UnityWebPlayerCore     	0x087ac048  
MonoManager::LoadAllNecessaryAssemblies() + 168 (MonoManager.cpp:280)
8   dk.otee.UnityWebPlayerCore     	0x087abf74  
MonoManager::AwakeFromLoad(__bool8) + 228 (MonoManager.cpp:295)
9   dk.otee.UnityWebPlayerCore     	0x0874ae1c  
PersistentManager::ReadObject(int) + 428 (PersistentManager.cpp:474)
10  dk.otee.UnityWebPlayerCore     	0x0876676c  
ReadObjectFromPersistentManager(int) + 44 (BaseObject.cpp:118)
11  dk.otee.UnityWebPlayerCore     	0x08780590  
PlayerLoadGlobalManagers(char const*) + 384 (SaveAndLoadHelper.cpp:214)
12  dk.otee.UnityWebPlayerCore     	0x087eb204  
PlayerInitEngineLoadData() + 164 (Player.cpp:348)
13  dk.otee.UnityWebPlayerCore     	0x087eb0bc PlayerLoadWebData 
(DecompressedDataFile&, std::basic_string<char,  
std::char_traits<char>, std::allocator<char> >, std::basic_string<char,


or this:

0   com.OverTheEdge.MonoBundle     	0x0964f584 mono_signature_hash +  
36 (metadata.c:3725)
1   com.OverTheEdge.MonoBundle     	0x097173ec g_hash_table_resize +  
128 (metadata.c:4793)
2   com.OverTheEdge.MonoBundle     	0x0963d0d8  
mono_marshal_get_runtime_invoke + 2536 ((null):-1)
3   com.OverTheEdge.MonoBundle     	0x096c29a8  
mono_jit_runtime_invoke + 84 (metadata.c:4793)
4   dk.otee.UnityWebPlayerCore     	0x08dcd0f8 Coroutine::Run() + 72  
(MonoBehaviour.cpp:931)

Best regards,
Joachim Ante



More information about the Mono-devel-list mailing list