mono illegal instruction (core dumped)

This forum is for discussion about general software issues.

mono illegal instruction (core dumped)

Postby rusty77 » Wed Feb 05, 2014 3:29 pm

Having installed mono 3.2.3 on my v1 TonidoPlug (http://archlinuxarm.org/platforms/armv5/tonidoplug)
I'm getting "Illegal instruction (core dumped)" when i run a mono program. The mono binary runs ok:

$this->bbcode_second_pass_code('', '$ mono --version
Mono JIT compiler version 3.2.3 (tarball Sun Sep 22 17:52:43 CDT 2013)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,vfp+fallback
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen')

My goal is to host an ASP.net web site, using FastCGi (have read loads of tutorials), with nginx or lighttpd, which need a fastcgi-mono-server process running. For nginx i understand you run it separately (lighttpd spawns its own, but that'll be my second step).

Putting the start up params to one side, calling fastcgi-mono-server to even see help output gives "core dumped":
$this->bbcode_second_pass_code('', '$ fastcgi-mono-server
Illegal instruction (core dumped)
')

mono seems incapable of running anything!
$this->bbcode_second_pass_code('', '$ csharp
Illegal instruction (core dumped)
')

I've read a bit about hard(ware) floating point being problematic on ARM for mono, but the problem seems to manifest itself in miscalculation of arithmetic, not just an outright failure to execute anything!

Er, help?
rusty77
 
Posts: 4
Joined: Wed Feb 05, 2014 1:34 pm

Re: mono illegal instruction (core dumped)

Postby WarheadsSE » Wed Feb 05, 2014 5:52 pm

TP2 is a v5te+soft , which it seems this is building with armv6+hard
$this->bbcode_second_pass_code('', '
armel,vfp+fallback
')
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: mono illegal instruction (core dumped)

Postby rusty77 » Thu Feb 06, 2014 9:47 pm

Thanks, but i'm still confused.

I have a TonidoPlug v1, but alarm web site lists them both as armv5te. And v5te has Vector Floating Point extensions, so doesn't it have hardware floating point calculation ability?

http://en.wikipedia.org/wiki/ARM_architecture
$this->bbcode_second_pass_quote('', 'V')FPv2
An optional extension to the ARM instruction set in the ARMv5TE, ARMv5TEJ and ARMv6 architectures.


I still don't understand why the mono .exe's are failing to run; from what i've read the hard/soft problems are related to accuracy, rather than stopping mono working at all?
rusty77
 
Posts: 4
Joined: Wed Feb 05, 2014 1:34 pm

Re: mono illegal instruction (core dumped)

Postby WarheadsSE » Fri Feb 07, 2014 12:58 pm

VFPv2 is not a required, and is not present in any off the shelf Kirkwood variants. If a program is built with those assembly instructions, it will not run as a pure soft, which is the reality on the Kirkwood.

It will _not_ work on a TP2.
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: mono illegal instruction (core dumped)

Postby rusty77 » Fri Feb 07, 2014 1:39 pm

Ok, so Kirkwood doesn't necessary have the VPF as it's optional.

I've managed to build mono from a tar ball: http://www.mono-project.com/Compiling_Mono_From_Tarball
Picking the last v2.x at http://download.mono-project.com/sources/mono/
http://download.mono-project.com/sources/mono/mono-2.11.4.tar.bz2

When building, i think I ran make once, got some errors, ran it again, and it seemed to plough on through; so run make more than once if you get errors! Oh and I installed with sudo make install

My new mono yielding this:
$this->bbcode_second_pass_code('', '$ /usr/local/bin/mono -V
Mono JIT compiler version 2.11.4 (tarball Thu Feb 6 21:56:52 GMT 2014)
Copyright (C) 2002-2012 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,soft-float
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)
')

So there's the "soft-fload" i needed. And now csharp works!
$this->bbcode_second_pass_code('', '$ /usr/local/bin/csharp
Mono C# Shell, type "help;" for help

Enter statements below.
csharp> quit
')

So i have a working mono in /usr/local/bin, which is nice. I suppose now I have to make xsp from source, as it's ultimately the fastcgi-mono-server that i want...

Thank you for your explanations; I still don't understand the ARM platforms, but am happy to be making progress with mono at last!
rusty77
 
Posts: 4
Joined: Wed Feb 05, 2014 1:34 pm

Re: mono illegal instruction (core dumped)

Postby WarheadsSE » Fri Feb 07, 2014 3:33 pm

Looks like yet another poor detection routine ignoring build flags _sigh_ :geek:
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm


Return to General

Who is online

Users browsing this forum: No registered users and 12 guests