单声道 - 单声道运行时错误

时间:2014-03-28 09:59:32

标签: mono

我们的程序在繁重的工作负载下收到错误。超过600个线程工作。目前的单声道版本2.10.9,我们编译单声道 " - prefix = / usr --with-large-heap = yes --enable-parallel-mark"参数

我们无法处理代码中的错误。你可以在下面找到一些输出,

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 pthread_cond_timedwait@@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 ?? ()

1 个答案:

答案 0 :(得分:0)

Mono的SGEN垃圾收集器在版本2.x时不是生产质量。如今,单声道版本2.10.x可以被认为是非常古老的。请升级到Mono 3.2.x