[Mono-bugs] [Bug 690782] New: Crash on AppDomain.Unload of AppDomain collection

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Apr 29 03:21:48 EDT 2011


https://bugzilla.novell.com/show_bug.cgi?id=690782

https://bugzilla.novell.com/show_bug.cgi?id=690782#c0


           Summary: Crash on AppDomain.Unload of AppDomain collection
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: hmandevteam at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=427234)
 --> (http://bugzilla.novell.com/attachment.cgi?id=427234)
Sample console application to come out error

User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110404
Firefox/4.0

I write application that use some AppDomains with some plugins and in my case i
received a crash each time that i try to Unload AppDomains created, it unload
first 10/15 and after... 
Thread (nil) may have been prematurely finalized
Segmentation fault


I wrote a sample console application to test it (see attached file), try to use
LoadAssemblySolution-0.1.3.0/LoadAssemblyConsoleApp/bin/Debug/LoadAssemblyConsoleApp.exe

$ mono --debug LoadAssemblyConsoleApp.exe





Reproducible: Always

Steps to Reproduce:
1. create some AppDomains
2. create instance of an AssemblyLoader for each AppDomains created
3. create instance of plugin using prev. created AssemblyLoader instance for
each AppDomains
4. recall a method for each created plugin instance
5. unload all AppDomain created

repeat this cicle for sometimes and after 2 or 3 round error come out.
Actual Results:  
Native stacktrace:

        mono() [0x48564b]
        mono() [0x41835f]
        /lib64/libpthread.so.0(+0xf1d0) [0x7f18b07ae1d0]
        mono() [0x5b16d0]
        mono() [0x5b1f6e]
        mono() [0x5b2150]
        mono() [0x5b229a]
        mono() [0x5b578c]
        /lib64/libpthread.so.0(+0x6a5d) [0x7f18b07a5a5d]
        /lib64/libc.so.6(clone+0x6d) [0x7f18b028c15d]

Debug info from gdb:

Mono support loaded.
[Thread debugging using libthread_db enabled]
[New Thread 0x7f18ae825710 (LWP 11554)]
[New Thread 0x7f18aedcf710 (LWP 11455)]
[New Thread 0x7f18b149b710 (LWP 11454)]
[New Thread 0x7f18afc82710 (LWP 11453)]
0x00007f18b01e2cf4 in sigsuspend () from /lib64/libc.so.6
  5 Thread 0x7f18afc82710 (LWP 11453)  0x00007f18b07ad13d in read () from
/lib64/libpthread.so.0
  4 Thread 0x7f18b149b710 (LWP 11454)  0x00007f18b07ad9bd in nanosleep () from
/lib64/libpthread.so.0
  3 Thread 0x7f18aedcf710 (LWP 11455)  0x00007f18b01e2cf4 in sigsuspend () from
/lib64/libc.so.6
  2 Thread 0x7f18ae825710 (LWP 11554)  0x00007f18b07aa0bc in
pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
* 1 Thread 0x7f18b148d740 (LWP 11452)  0x00007f18b01e2cf4 in sigsuspend () from
/lib64/libc.so.6

Thread 5 (Thread 0x7f18afc82710 (LWP 11453)):
#0  0x00007f18b07ad13d in read () from /lib64/libpthread.so.0
#1  0x00000000004857d8 in ?? ()
#2  0x000000000041835f in ?? ()
#3  <signal handler called>
#4  0x00000000005b16d0 in ?? ()
#5  0x00000000005b1f6e in ?? ()
#6  0x00000000005b2150 in ?? ()
#7  0x00000000005b229a in ?? ()
#8  0x00000000005b578c in ?? ()
#9  0x00007f18b07a5a5d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f18b028c15d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f18b149b710 (LWP 11454)):
#0  0x00007f18b07ad9bd in nanosleep () from /lib64/libpthread.so.0
#1  0x00000000005a3bd2 in ?? ()
#2  0x00007f18b07a5a5d in start_thread () from /lib64/libpthread.so.0
#3  0x00007f18b028c15d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f18aedcf710 (LWP 11455)):
#0  0x00007f18b01e2cf4 in sigsuspend () from /lib64/libc.so.6
#1  0x00000000005bfb7b in ?? ()
#2  <signal handler called>
#3  0x00007f18b07ac36e in sem_wait () from /lib64/libpthread.so.0
#4  0x00000000005ae688 in mono_sem_wait ()
#5  0x00000000004ffbba in ?? ()
#6  0x000000000056a915 in ?? ()
#7  0x000000000058e583 in ?? ()
#8  0x00000000005b5e61 in ?? ()
#9  0x00007f18b07a5a5d in start_thread () from /lib64/libpthread.so.0
#10 0x00007f18b028c15d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f18ae825710 (LWP 11554)):
#0  0x00007f18b07aa0bc in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#1  0x00000000005b4983 in ?? ()
#2  0x00000000005b20df in ?? ()
#3  0x00000000005b2316 in ?? ()
#4  0x00000000005b2607 in ?? ()
#5  0x00000000005bab48 in ?? ()
#6  0x00000000005bae87 in ?? ()
#7  0x00000000005bb208 in ?? ()
#8  0x00000000005bb28e in ?? ()
#9  0x000000000050035a in ?? ()
#10 0x000000000058e583 in ?? ()
#11 0x00000000005b5e61 in ?? ()
#12 0x00007f18b07a5a5d in start_thread () from /lib64/libpthread.so.0
#13 0x00007f18b028c15d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f18b148d740 (LWP 11452)):
#0  0x00007f18b01e2cf4 in sigsuspend () from /lib64/libc.so.6
#1  0x00000000005bfb7b in ?? ()
#2  <signal handler called>
#3  0x00007f18b07aa0ba in pthread_cond_wait@@GLIBC_2.3.2 () from
/lib64/libpthread.so.0
#4  0x000000000059abc8 in ?? ()
#5  0x000000000058f9bd in ?? ()
#6  0x00000000005025c2 in mono_domain_try_unload ()
#7  0x0000000000502687 in mono_domain_unload ()
#8  0x0000000040189a1a in ?? ()
#9  0x000000000288b100 in ?? ()
#10 0x00007f18ae612bb8 in ?? ()
#11 0x00007f18ae612bb8 in ?? ()
#12 0x0000000000000000 in ?? ()

=================================================================
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.
=================================================================

Abortito

Expected Results:  
it sould unload AppDomains without crash

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list