2017-09-07 50 views
0

Artik710でMonoを動作させるのに問題があります。私はfedora 24のパッケージ "mono-devel"をインストールしました。そしてDNFはすべてが問題ないと言います。 しかし、最小の "Hello world"プログラムをmcsでコンパイルしようとすると、セグメンテーション違反が発生します。
また、PC上でプログラムをコンパイルし、Artik710で "mono hello.exe"を実行しようとすると、セグメンテーションフォルトも発生します。
ちょうど "モノ-V" が動作し、言う:Mono on Artik710

Mono JIT compiler version 4.2.4 (tarball Thu Jun 23 19:09:56 UTC 2016) 
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com 
    TLS:   __thread 
    SIGSEGV:  normal 
    Notifications: epoll 
    Architecture: armel,vfp+hard 
    Disabled:  none 
    Misc:   softdebug 
    LLVM:   supported, not enabled. 
    GC:   sgen 

私はこの問題は、64ビットのCortex A-53コアプロセッサ上で32ビットOS(したがって32ビットモノラル)を実行することによって引き起こされると仮定する。ですから、問題は - 32ビットOS上にx64 Monoをインストールする(またはソースコードからビルドする)方法はありますか?それはうまくいくでしょうか?他に何か問題がありますか?ここでのHello worldプログラム(非常に有用ではない)を実行しているGDBからいくつかのスタックトレースは次のとおりです。任意のヘルプ

[New Thread 0xf6bff440 (LWP 4925)] 
[New Thread 0xf7123440 (LWP 4926)] 

Thread 1 "mono" received signal SIGILL, Illegal instruction. 
0xf71b1b04 in ??() 
(gdb) continue 
Continuing. 

Thread 1 "mono" received signal SIGSEGV, Segmentation fault. 
0xf75e608c in strchrnul() from /lib/libc.so.6 
(gdb) continue 
Continuing. 

Thread 1 "mono" received signal SIGSEGV, Segmentation fault. 
0xf75e608c in strchrnul() from /lib/libc.so.6 
(gdb) continue 
Continuing. 

Unable to fetch general registers.: No such process. 
Unable to fetch general registers.: No such process. 
Unable to fetch general registers.: No such process. 
(gdb) [Thread 0xf7123440 (LWP 4926) exited] 
[Thread 0xf6bff440 (LWP 4925) exited] 

Program terminated with signal SIGSEGV, Segmentation fault. 
The program no longer exists. 

The program is not being run. 

ありがとう!

注:actualy私の "Hello World" のプログラムをデバッグvalgrindのツールの下

はモノラルで動作します。だから、 "mono /root/Release/HelloWorldArtik.exe"を実行すると、 "Segmentation failed(core dumped)"だけが返されます。私が実行した場合、 "valgrindの--tool = memcheck -v --leak-チェック=フル--smcチェック=すべてが/root/Release/HelloWorldArtik.exeモノ" しかし、リターンは次のとおりです。

--2632-- Contents of /proc/version: 
--2632-- Linux version 4.4.71-0710GC0F-44F-01QC ([email protected]) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4)) #1 SMP PREEMPT Thu Jul 13 19:58:14 KST 2017 
--2632-- Arch and hwcaps: ARM, LittleEndian, ARMv7-neon-vfp 
--2632-- Page sizes: currently 4096, max supported 4096 
--2632-- Reading syms from /usr/bin/mono-sgen 
--2632-- Considering /usr/lib/debug/.build-id/03/d41817d1bf496a1e9fbb96dcbaf91dca2f2a36.debug .. 
--2632-- .. build-id is valid 
--2632-- Considering /usr/lib/debug/.build-id/be/69fde943ee25e3d503d6e9298eca48dfbb1696.debug .. 
--2632-- .. build-id is valid 
--2632-- Warning: cross-CU LIMITATION: some inlined fn names 
--2632-- might be shown as UnknownInlinedFun 
--2632-- Reading syms from /usr/lib/ld-2.23.so 
--2632-- Considering /usr/lib/debug/usr/lib/ld-2.23.so.debug .. 
--2632-- .. CRC mismatch (computed 8c51544a wanted a0a8f5fa) 
--2632-- Reading EXIDX entries: 147 available 
==2632== Warning: whilst reading EXIDX: ExtabEntryDecode: failed with error code: -10 
==2632== Warning: whilst reading EXIDX: ExtabEntryDecode: failed with error code: -10 
(a lot of same warnings and redirections) 
Reading EXIDX entries: 2018 attempted, 1836 successful 
--2632-- REDIR: 0x49df1c0 (libc.so.6:memcpy) redirected to 0x4831690 (_vgnU_ifunc_wrapper) 
--2632-- REDIR: 0x49deec0 (libc.so.6:memset) redirected to 0x484df08 (memset) 
--2632-- REDIR: 0x49e75c0 (libc.so.6:__memcpy_neon) redirected to 0x484be9c (memcpy) 
--2632-- REDIR: 0x49dd5f0 (libc.so.6:rindex) redirected to 0x4849a4c (rindex) 
--2632-- REDIR: 0x49dd241 (libc.so.6:strlen) redirected to 0x484a23c (strlen) 
--2632-- REDIR: 0x49dc8b1 (libc.so.6:strcmp) redirected to 0x484b48c (strcmp) 
--2632-- REDIR: 0x49dd464 (libc.so.6:strncmp) redirected to 0x484ab74 (strncmp) 
--2632-- REDIR: 0x49dc7c0 (libc.so.6:index) redirected to 0x4849c9c (index) 
--2632-- REDIR: 0x49de5b1 (libc.so.6:memchr) redirected to 0x484b75c (memchr) 
--2632-- REDIR: 0x49e104c (libc.so.6:strchrnul) redirected to 0x484e8e0 (strchrnul) 
--2632-- REDIR: 0x49d6f58 (libc.so.6:malloc) redirected to 0x48464f8 (malloc) 
--2632-- REDIR: 0x49d72b8 (libc.so.6:free) redirected to 0x4847b38 (free) 
--2632-- REDIR: 0x49d7978 (libc.so.6:calloc) redirected to 0x4848c40 (calloc) 
--2632-- REDIR: 0x49dd5a0 (libc.so.6:strncpy) redirected to 0x484a634 (strncpy) 
--2632-- REDIR: 0x49d7394 (libc.so.6:realloc) redirected to 0x4848eac (realloc) 
--2632-- REDIR: 0x49dcbc0 (libc.so.6:strcpy) redirected to 0x484a3fc (strcpy) 
--2632-- REDIR: 0x49dc79c (libc.so.6:strcat) redirected to 0x4849ddc (strcat) 
--2632-- REDIR: 0x49deb80 (libc.so.6:memmove) redirected to 0x484dfd0 (memmove) 
--2632-- REDIR: 0x49ddf74 (libc.so.6:strstr) redirected to 0x484f254 (strstr) 
--2632-- REDIR: 0x49e0fc0 (libc.so.6:rawmemchr) redirected to 0x484e918 (rawmemchr) 
--2632-- REDIR: 0x49dd31c (libc.so.6:strnlen) redirected to 0x484a184 (strnlen) 
--2632-- REDIR: 0x49dcbb0 (libc.so.6:stpcpy) redirected to 0x484d72c (stpcpy) 
--2632-- REDIR: 0x49df0bc (libc.so.6:strcasecmp_l) redirected to 0x484b0b4 (strcasecmp_l) 
--2632-- REDIR: 0x49de64c (libc.so.6:bcmp) redirected to 0x484d5b4 (bcmp) 
--2632-- memcheck GC: 1000 nodes, 0 survivors (0.0%) 
Hello, world! From Artik 710 (this is program output) 
==2632== 
==2632== HEAP SUMMARY: 
==2632==  in use at exit: 12,271 bytes in 330 blocks 
==2632== total heap usage: 44,241 allocs, 43,911 frees, 15,597,707 bytes allocated 
==2632== 
==2632== Searching for pointers to 330 not-freed blocks 
==2632== Checked 23,350,064 bytes 
==2632== 
==2632== 8 bytes in 1 blocks are definitely lost in loss record 9 of 297 
==2632== at 0x4846584: malloc (vg_replace_malloc.c:299) 
==2632== by 0x336A43: monoeg_malloc (gmem.c:73) 
==2632== by 0x25958F: mono_metadata_type_dup (metadata.c:5048) 
==2632== by 0x1BB0AF: get_shared_gparam (mini-generic-sharing.c:2850) 
==2632== by 0x1BB2EF: UnknownInlinedFun (mini-generic-sharing.c:2915) 
==2632== by 0x1BB2EF: get_shared_inst.isra.15 (mini-generic-sharing.c:2939) 
==2632== by 0x1BD117: mini_get_shared_method_full (mini-generic-sharing.c:2997) 
==2632== by 0x132943: lookup_method (mini-runtime.c:1763) 
==2632== by 0x1329EB: mono_jit_compile_method_with_opt (mini-runtime.c:1868) 
==2632== by 0x133437: mono_jit_runtime_invoke (mini-runtime.c:2179) 
==2632== by 0x2ABA7B: mono_runtime_invoke (object.c:2783) 
==2632== by 0x2ABF23: mono_runtime_class_init_full (object.c:367) 
==2632== by 0x15CF67: mono_method_to_ir (method-to-ir.c:11237) 
(and so on) 

LEAK SUMMARY: 
==2632== definitely lost: 746 bytes in 29 blocks 
==2632== indirectly lost: 0 bytes in 0 blocks 
==2632==  possibly lost: 288 bytes in 2 blocks 
==2632== still reachable: 11,237 bytes in 299 blocks 
==2632==   suppressed: 0 bytes in 0 blocks 
==2632== Reachable blocks (those to which a pointer was found) are not shown. 
==2632== To see them, rerun with: --leak-check=full --show-leak-kinds=all 
==2632== 
==2632== ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0) 
==2632== ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0) 

でした誰かが私のために明確にしてください、どういう意味ですか?

答えて

0

valgrindツールを使用して、無効な読み取りと書き込みをチェックします。これにより、適切な情報が得られます。

関連する問題