当前位置: 动力学知识库 > 问答 > 编程问答 >

MONO - mono-sgen Runtime Error

问题描述:

We have received an error while our program on heavy work load. More than 600 thread works. Current mono version 2.10.9 and we compile mono with

"--prefix=/usr --with-large-heap=yes --enable-parallel-mark" parameters

We cannot handle errors inside of our codes. you can find some outputs below,

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

网友答案:

Mono's SGEN garbage collector was not production quality at version 2.x. Mono version 2.10.x can be considered very old, nowadays. Please upgrade to Mono 3.2.x

分享给朋友:
您可能感兴趣的文章:
随机阅读: