SOEM: CPU time limit exceeded


I am using the latest SOEM component from git. I have: - Ubuntu 12.04.2 - Xenomai 2.6.2 - RTNet 0.9.13 - ROS Fuerte - Orocos 2.6.0

I am having a "CPU time limit exceeded (core dumped)" error when I run Master.configure using the soem_master/test.ops script and deployer-xenomai. I didn't forget to set up ifname="rteth0".

My Ethernet controller is: Intel Corporation 82566DM-2 Gigabit Network Connection.

I did not forget to set up -DENABLE_RTNET=ON in soem_core/Makefile.

The trace from the core dump is the following:

  1. 0 0xb77b8424 in __kernel_vsyscall ()
  2. 1 0xb5c03c2c in __wrap_send () from /usr/xenomai/lib/
  3. 2 0xb43d2a93 in ec_outframe (idx=1 '\001', stacknumber=0) at /home/alex/ros_workspace/orocos/soem/soem_core/build/soem_core/src/nicdrv.c:404
  4. 3 0xb43d2b28 in ec_outframe_red (idx=1 '\001') at /home/alex/ros_workspace/orocos/soem/soem_core/build/soem_core/src/nicdrv.c:427
  5. 4 0xb43d3248 in ec_srconfirm (idx=1 '\001', timeout=20000) at /home/alex/ros_workspace/orocos/soem/soem_core/build/soem_core/src/nicdrv.c:702
  6. 5 0xb43c9839 in ec_BRD (ADP=0, ADO=0, length=2, data=0xbffd53a6, timeout=20000) at /home/alex/ros_workspace/orocos/soem/soem_core/build/soem_core/src/ethercatbase.c:200
  7. 6 0xb43cc282 in ec_config_init (usetable=0 '\000') at /home/alex/ros_workspace/orocos/soem/soem_core/build/soem_core/src/ethercatconfig.c:162
  8. 7 0xb4413fb1 in soem_master::SoemMasterComponent::configureHook (this=0x887d648) at /home/alex/ros_workspace/orocos/soem/soem_master/soem_master_component.cpp:73

Peter already answered the same kind of question once: <> but I was not able to find any evidence of T_WARN_SW being turned on (and T_WARN_SW yields only 3 results on Google, that didn't make it any easier).

I succeeded to run soem_core/bin/slaveinfo, it found my EtherCAT slaves and configured them. Thus I am not sure the problem comes from the ethernet controller (_although_ it is not offically listed in RTNet documentation <>).

Do you have any idea?

Many thanks in advance, I spent hours trying to figure out this problem.