Welcome new user! You can search existing questions and answers without registering, but please register to post new questions and receive answers. Note that due to large amounts of spam attempts, your first three posts will be manually moderated, so please be patient.
We have moved to a new forum at http://jevois.usc.edu, please check it out. The forum at jevois.org/qa will not allow new user registrations but is maintained alive for its useful past questions and answers.
Welcome to JeVois Tech Zone, where you can ask questions and receive answers from other members of the community.

jevois-daemon -- Illegal instruction (core dumped)

0 votes

I have installed jevois-dev-sdk along with compiling jevois and jevoisbase from scratch. When I run "sudo jevois-daemon" I get the following:

INF Engine::Engine: Loaded 61 vision processing modes.
INF Engine::onParamChange: Using [stdio] hardware (4-pin connector) serial port
INF Engine::onParamChange: No USB serial port used
INF Engine::postInit: Starting camera device /dev/video0
INF Camera::Camera: [10] V4L2 camera /dev/video0 card Microsoft® LifeCam Cinema(TM): bus usb-0000:00:1d.7-3
INF Engine::postInit: Using display for video output
INF Engine::setFormatInternal: OUT: YUYV 640x300 @ 60fps CAM: YUYV 320x240 @ 60fps MOD: JeVois:DemoSaliency C++
INF Camera::setFormat: Camera set video format to 320x240 YUYV
INF Engine::setFormatInternal: Instantiating dynamic loader for /jevois/modules/JeVois/DemoSaliency/DemoSaliency.so
INFO: JeVois 1.8.1
INFO: Linux version 4.13.0-36-generic
INFO: CPU: 2161MHz, 53C, load: 0.43 0.31 0.41 5/542 17604
INFO: MemTotal: 4000200 kB, MemFree: 630604 kB
INFO: OUT: YUYV 640x300 @ 60fps CAM: YUYV 320x240 @ 60fps MOD: JeVois:DemoSaliency C++
INF Engine::setFormatInternal: Module [DemoSaliency] loaded, initialized, and ready.
INF Camera::streamOn: 5 buffers of 153600 bytes allocated
Illegal instruction (core dumped)

PC Specs:

OS: Ubuntu 16.04 x86_64

CPU: Intel Pentium Dual  CPU  T3400  @ 2.16GHz

asked Jun 7, 2018 in Programmer Questions by SpyGuyIan (270 points)

1 Answer

0 votes
Hum, probably something is out of date. Did you do both rebuild-host.sh and rebuild-platform.sh in jevois and in jevoisbase after you got the source?

Can you run "gdb jevois-daemon" and then type "run" in gdb to start and then "bt" to get the backtrace after the crash?
answered Jun 7, 2018 by JeVois (46,580 points)
yes, I have build both jevois and jevoisbase for host. When using gdb I get the following:

Thread 13 "jevois-daemon" received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7fffba58d700 (LWP 18420)]
0x00007fffbfa32af5 in env_c_lowpass_5_y_dec_y_fewbits_optim (
    src=<optimized out>, w=160, h=240, dst=<optimized out>, h2=<optimized out>)
    at /home/ian/jevoisbase/src/Components/Saliency/env_c_math_ops.c:104
104          *dst++ = (src[ 0] * 2 + src[ w]) / 3;
Very odd, that code has been stable for years now...

Can you do a full recompilation for both host and platform, first both in jevois, then both in jevoisbase? This should get everything back in sync.

http://jevois.org/doc/CompilingJeVois.html then
http://jevois.org/doc/CompilingJeVoisBase.html (use ./rebuild-host.sh then ./rebuild-platform.sh --staging)
Annoyingly, this didn't change anything. I did, however, figure out that "gcc-6-arm-linux-gnueabihf" isn't installed, and isn't available with the base apt install. I saw in the INSTALL file that adding two sources was necessary, but the first one apparently doesn't have a  Release file, and the second one is malformed. This could be the issue but i cant find a way to get "gcc-6-arm-linux-gnueabihf" and its companion packages.