2014-03-28 42 views
0

我們收到一個錯誤,而我們的程序在繁重的工作負載。超過600個線程工作。當前的單聲道版本2.10.9,我們編譯單聲道 「--prefix =/usr --with-large-heap = yes --enable-parallel-mark」參數你可以在下面找到一些輸出,MONO - mono-sgen運行時錯誤

Native stacktrace: 

    /usr/bin/mono-sgen() [0x4940b2] 
    /usr/bin/mono-sgen() [0x4e833f] 
    /usr/bin/mono-sgen() [0x41bdc7] 
    /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7feecd473cb0] 
    /usr/bin/mono-sgen() [0x5a706e] 
    /usr/bin/mono-sgen() [0x5a71a9] 
    /usr/bin/mono-sgen() [0x5a79bf] 
    /usr/bin/mono-sgen() [0x5906ca] 
    /usr/bin/mono-sgen() [0x593443] 
    /usr/bin/mono-sgen() [0x4147ad] 
    /usr/bin/mono-sgen() [0x5958ed] 
    /usr/bin/mono-sgen() [0x595a6f] 
    /usr/bin/mono-sgen(mono_string_new_size+0x4c) [0x56671c] 
    [0x405f4c5a] 

Debug info from gdb: 

Mono support loaded. 
[Thread debugging using libthread_db enabled] 
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". 
[New Thread 0x7fee7a6ca700 (LWP 24808)] 
[New Thread 0x7fee7b977700 (LWP 24807)] 
... 

0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
    Id Target Id   Frame 
    46 Thread 0x7feecb0bd700 (LWP 14184) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
    3 Thread 0x7fee7b977700 (LWP 24807) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
... 
    2 Thread 0x7fee7a6ca700 (LWP 24808) "mono-sgen" 0x00007feecd47388d in waitpid() from /lib/x86_64-linux-gnu/libpthread.so.0 
* 1 Thread 0x7feecdf9b780 (LWP 14181) "mono-sgen" 0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
... 
Thread 46 (Thread 0x7feecb0bd700 (LWP 14184)): 
#0 0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
#1 0x000000000058a6fb in suspend_handler (sig=<optimized out>, siginfo=<optimized out>, context=0x7feecb0bc7c0) at sgen-gc.c:5322 
#2 <signal handler called> 
#3 0x00007feecd471fce in sem_wait() from /lib/x86_64-linux-gnu/libpthread.so.0 
#4 0x00000000005e6458 in mono_sem_wait (sem=0x905ce0, alertable=1) at mono-semaphore.c:113 
#5 0x0000000000515665 in finalizer_thread (unused=<optimized out>) at gc.c:1066 
#6 0x00000000005b6d31 in start_wrapper_internal (data=0xc31080) at threads.c:784 
#7 start_wrapper (data=0xc31080) at threads.c:832 
#8 0x00000000005e0e42 in thread_start_routine (args=0xc13590) at wthreads.c:287 
#9 0x000000000058dab8 in gc_start_thread (arg=0xc31020) at sgen-gc.c:6154 
#10 0x00007feecd46be9a in start_thread() from /lib/x86_64-linux-gnu/libpthread.so.0 
#11 0x00007feecd1983fd in clone() from /lib/x86_64-linux-gnu/libc.so.6 
#12 0x0000000000000000 in ??() 

Thread 45 (Thread 0x7feeca40d700 (LWP 14192)): 
#0 0x00007feecd0da7a4 in sigsuspend() from /lib/x86_64-linux-gnu/libc.so.6 
#1 0x000000000058a6fb in suspend_handler (sig=<optimized out>, siginfo=<optimized out>, context=0x7feeca40c180) at sgen-gc.c:5322 
#2 <signal handler called> 
#3 0x00007feecd4700fe in [email protected]@GLIBC_2.3.2() from /lib/x86_64-linux-gnu/libpthread.so.0 
#4 0x00000000005cd258 in _wapi_handle_timedwait_signal_handle (handle=0x40a, timeout=0x7feeca40c8a0, alertable=1, poll=<optimized out>) at handles.c:1653 
#5 0x00000000005de3be in WaitForSingleObjectEx (handle=0x40a, timeout=466, alertable=1) at wait.c:205 
#6 0x00000000005b666b in ves_icall_System_Threading_WaitHandle_WaitOne_internal (this=<optimized out>, handle=0x40a, ms=466, exitContext=<optimized out>) at threads.c:1665 
#7 0x0000000041241d98 in ??() 
#8 0x00007feebc0022a0 in ??() 

回答

0

Mono的SGEN垃圾回收器在版本2.x中不是生產質量。單聲道版本2.10.x現在可以被認爲是非常古老的。請升級至Mono 3.2.x