1

私のPCにはubuntu 12.04 Linuxがあり、モノコンプリートパッケージ「モノJITコンパイラバージョン2.10.8.1(Debian 2.10.8.1-1ubuntu2.2)」があります。

mono を使用して 1 つの .NET バイナリを実行し、そのバイナリを実行した後に SIGSEGV シグナルを取得し、その後 mono がクラッシュします。

また、コマンド プロンプトに gdb デバッグ メッセージがいくつか表示されますが、これについては後述します。

スレッド 2 (スレッド 0xb28ffb40 (LWP 20460)) :

 #0  0xb7796424 in __kernel_vsyscall ()
 #1  0xb77329db in read () from /lib/i386-linux-gnu/libpthread.so.0
 #2  0x080e18e7 in read (__nbytes=1024, __buf=0xb2e0867c, __fd=<optimized out>) at /usr/include/i386-linux-gnu/bits/unistd.h:45
 #3  mono_handle_native_sigsegv (signal=11, ctx=0xb2e08bcc) at mini-exceptions.c:2208
 #4  0x081209fc in mono_arch_handle_altstack_exception (sigctx=0xb2e08bcc, fault_addr=0x0, stack_ovf=0) at  exceptions-x86.c:1223
 #5  0x0806094d in mono_sigsegv_signal_handler (_dummy=11, info=0xb2e08b4c, context=0xb2e08bcc) at mini.c:5909
 #6  <signal handler called>
 #7  0xb48881dc in ?? ()
 #8  0xb2bcba6b in bulk_interrupt_read_thread (arguments=0xb4888108) at testusb.c:1596
 #9  0xb772bd4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
 #10 0xb766adde in clone () from /lib/i386-linux-gnu/libc.so.6 

スレッド 1 (スレッド 0xb757a700 (LWP 20449)) :

 #0  0xb7796424 in __kernel_vsyscall ()
 #1  0xb765c690 in poll () from /lib/i386-linux-gnu/libc.so.6
 #2  0xb2c2c984 in ?? ()
 #3  0xb2c2bdb0 in ?? ()
 #4  0xb2c2e2d4 in ?? ()
 #5  0xb2c4e770 in ?? ()
 #6  0xb2c4b86c in ?? ()
 #7  0xb2c4b527 in ?? ()
 #8  0xb2e14518 in ?? ()
 #9  0xb2e139a8 in ?? ()
 #10 0xb2e13648 in ?? ()
 #11 0xb58e3f84 in ?? ()
 #12 0xb58e403e in ?? ()
 #13 0x08064c2c in mono_jit_runtime_invoke (method="GTechUtility.Program:Main ()", obj=0x0, params=0xbfab491c, exc=0x0) at mini.c:5791
 #14 0x081a422f in mono_runtime_invoke (method="GTechUtility.Program:Main ()", obj=0x0, params=0xbfab491c, exc=0x0) at object.c:2755
 #15 0x081a7025 in mono_runtime_exec_main (method="GTechUtility.Program:Main ()", args=0x3be00, exc=0x0) at object.c:3938
 #16 0x080bb80b in main_thread_handler (user_data=<synthetic pointer>) at driver.c:1003
 #17 mono_main (argc=2, argv=0xbfab4ae4) at driver.c:1855
 #18 0x0805998f in mono_main_with_options (argv=0xbfab4ae4, argc=2) at main.c:66
 #19 main (argc=2, argv=0xbfab4ae4) at main.c:97

================================================== ===============
ネイティブ コードの実行中に SIGSEGV を取得しました。
これは通常、mono ランタイムまたはアプリケーションで使用されるネイティブ ライブラリの 1 つで致命的なエラーが発生したことを示しています。================================================== ===============

中止 (コアダンプ)

誰かがこの問題について考えているかどうか教えてください。

4

1 に答える 1

0

これを試してみてください: エラーがなくなるまで、独自の/アプリケーション コードの量を増やして無効にします。次に、コードのどの部分/行がこれを引き起こしているかを確認するために、小さな手順で調整します。

最終的に、独自の/アプリケーション コードがまったく残っていない場合は、使用しているライブラリの構成、バージョン、コンパイラ オプションを試してみてください。

申し訳ありませんが、詳細な回答はできませんが、HTH. 幸運を!

于 2013-08-26T06:24:32.240 に答える