Description
Hi,
I am pretty in new to .net core. I have a .net console application. I converted my code to a .net core project, and published it using this command for Linux arm (raspberry pi): dotnet publish -r linux-arm
The application works fine for a couple of hours and some time for one or two days. But it crashes with this message: "Aborted"
Unisg the command "ulimit -c unlimited", I got a large core dump file after the crash. I analyzed the file using gdb command, and it is the result:
pi@Unit10:/ga/linux-arm/publish $ sudo gdb ./FieldUnitDotNetCore -c core
GNU gdb (Raspbian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./FieldUnitDotNetCore...(no debugging symbols found)...done.
warning: core file may not match specified executable file.
[New LWP 16774]
[New LWP 16768]
[New LWP 16764]
[New LWP 16767]
[New LWP 17167]
[New LWP 16776]
[New LWP 17160]
[New LWP 16772]
[New LWP 17162]
[New LWP 16766]
[New LWP 16771]
[New LWP 16777]
[New LWP 16775]
[New LWP 16765]
[New LWP 17163]
[New LWP 17195]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `./FieldUnitDotNetCore'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x6d9ff450 (LWP 16774))]
(gdb) where
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
dotnet/coreclr#1 0x76c36824 in __GI_abort () at abort.c:89
dotnet/coreclr#2 0x768c2342 in PROCAbort () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#3 0x768c1560 in PROCEndProcess(void*, unsigned int, int) () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#4 0x766155c0 in StackFrameIterator::ProcessCurrentFrame() () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#5 0x76615186 in StackFrameIterator::Init(Thread*, Frame*, REGDISPLAY*, unsigned int) () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#6 0x76614fc0 in Thread::StackWalkFramesEx(REGDISPLAY*, StackWalkAction ()(CrawlFrame, void*), void*, unsigned int, Frame*) () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#7 0x766b8112 in HandleGCSuspensionForInterruptedThread(_CONTEXT*) () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#8 0x7689c70c in inject_activation_handler(int, siginfo_t*, void*) () from /ga/linux-arm/publish/libcoreclr.so
dotnet/coreclr#9
dotnet/coreclr#10 0x71986860 in ?? ()
dotnet/coreclr#11 0x7198279e in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) frame 10
dotnet/coreclr#10 0x71986860 in ?? ()
(gdb) list +
46 in ../sysdeps/unix/sysv/linux/raise.c
(gdb) frame 11
dotnet/coreclr#11 0x7198279e in ?? ()
(gdb) list +
46 in ../sysdeps/unix/sysv/linux/raise.c
(gdb) frame 9
dotnet/coreclr#9
(gdb) list +
75 ../sysdeps/unix/sysv/linux/arm/sigrestorer.S: No such file or directory.
(gdb) frame 8
dotnet/coreclr#8 0x7689c70c in inject_activation_handler(int, siginfo_t*, void*) () from /ga/linux-arm/publish/libcoreclr.so
(gdb) list +
75 in ../sysdeps/unix/sysv/linux/arm/sigrestorer.S
(gdb)
Can someone help me to fix it.
Thanks.