ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
3

Illegal instruction in openni_tracker (libXnVFeatures.so)

asked 2011-11-13 21:26:20 -0500

jansvec gravatar image

Hi, i want try openni_tracker and i get following text:

'Illegal instruction'

Here are some outputs from gdb:

GDB:

(gdb) run
Starting program:/opt/ros/electric/stacks/openni_kinect/openni_tracker/bin/openni_tracker 
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff03b9700 (LWP 10690)]
[New Thread 0x7fffefbb8700 (LWP 10691)]
[New Thread 0x7fffef3b7700 (LWP 10692)]
[New Thread 0x7fffeebb6700 (LWP 10697)]
[New Thread 0x7fffe7fff700 (LWP 10702)]

Program received signal SIGILL, Illegal instruction.
0x00007fffeda3ebd3 in NAGeneralData::Downscale2x2SSE(unsigned short const*, unsigned short*, short, short, Box2D<int>*) () from /usr/lib/libXnVFeatures.so

BackTrace:

#0  0x00007fffeda3ebd3 in NAGeneralData::Downscale2x2SSE(unsigned short const*, unsigned short*, short, short, Box2D<int>*) () from /usr/lib/libXnVFeatures.so
#1  0x00007fffeda45033 in NAGeneralData::Initialize(xn::DepthGenerator const&, Resolution) () from /usr/lib/libXnVFeatures.so
#2  0x00007fffed91bed0 in MultiUserFeatureExtractor::Initialize(xn::DepthGenerator const&, xn::DepthMetaData const&, Resolution, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/libXnVFeatures.so
#3  0x00007fffed8ad807 in XnVSkeletonGenerator::XnVSkeletonGenerator(xn::Context&, char const*, char const*, xn::DepthGenerator, unsigned int) () from /usr/lib/libXnVFeatures.so
#4  0x00007fffed899c3a in XnVExportedSkeletonGenerator::Create(xn::Context&, char const*, char const*, xn::NodeInfoList*, char const*, xn::ModuleProductionNode**) () from /usr/lib/libXnVFeatures.so
#5  0x00007fffed89e1ff in XnVExportedSkeletonGeneratorCreate(XnContext*, char const*, char const*, XnNodeInfoList*, char const*, void**) () from /usr/lib/libXnVFeatures.so
#6  0x00007ffff7b8a42d in XnModuleLoader::CreateRootNode(XnNodeInfo*, XnModuleInstance**) () from /usr/lib/libOpenNI.so
#7  0x00007ffff7b9b1c6 in xnCreateProductionNodeImpl(XnContext*, XnNodeInfo*)() from /usr/lib/libOpenNI.so
#8  0x00007ffff7b9bc2f in xnCreateProductionTree () from /usr/lib/libOpenNI.so
#9  0x00007ffff7b9c588 in xnCreateAnyProductionTree () from /usr/lib/libOpenNI.so
#10 0x0000000000404855 in Create (argc=1, argv=<value optimized out>) at /usr/include/openni/XnCppWrapper.h:5250
#11 main (argc=1, argv=<value optimized out>) at /tmp/buildd/ros-electric-openni-kinect-0.3.1/debian/ros-electric-openni-kinect/opt/ros/electric/stacks/openni_kinect/openni_tracker/src/openni_tracker.cpp:149

Thanks for any advice

Jan

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2011-11-14 08:00:53 -0500

Patrick Mihelich gravatar image

updated 2011-11-14 08:01:35 -0500

Tracking is implemented by the NITE binaries from PrimeSense. These make use of SSSE3 instructions, so unfortunately they just don't work on older computers.

The NITE source code is proprietary, so all I can recommend is requesting a less-optimized release of NITE on the OpenNI-dev mailing list.

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-11-13 21:26:20 -0500

Seen: 547 times

Last updated: Nov 14 '11