[Mono-dev] Domain Unload crash

Zoltan Varga vargaz at gmail.com
Fri Jun 29 15:45:49 EDT 2007


                    Hi,

  Are you using SVN HEAD? It should have a fix for crashes inside
mono_marshal_get_runtime_invoke.

   Zoltan

On 6/28/07, Joachim Ante <joe at otee.dk> wrote:
> 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
> _______________________________________________
> Mono-devel-list mailing list
> Mono-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-devel-list
>



More information about the Mono-devel-list mailing list