[Rock-dev] Component does not read input port even though the previous is writing on its output port.

Steffen Planthaber Steffen.Planthaber at dfki.de
Tue Dec 5 10:40:55 CET 2017


Hi,

This could be a timing issue.

I can't see from the orogen file if your component is port triggered or 
periodic.

Nevertheless, I see two possible sources of errors:

- I remember vaguely that RTT could call the updateHook more often as 
expected by the period or the port it triggers to. So updateHook could 
be called more often as expected, also when no messages are waiting in 
the buffer.

- When you use a remote Task or the TaskManager remotely (rock-display 
--host=) and the data is displayed or a port connected, the local 
delivery is delayed until the ack of the remote task is received, on bad 
connections, this may result in losing messages locally because new data 
written to the port is dropped until the previous messages are delivered 
and the acks were received.

I explained the issue here:
https://github.com/orocos-toolchain/rtt/pull/122
but I should make is a issue on github again, instead only closed PR.

Best, Steffen


Am 04.12.2017 um 17:37 schrieb Martin.Azkarate at esa.int:
> Hello Diego,
> 
> Just a quick check that might be useful. Have you tried changing 
> readNewest by a readNew?
> I had unexpected behaviour with readNewest in the past, and found that 
> readNew is doing what I would expect from readNewest, as long as your 
> port connection does not have a buffer.
> 
> Maybe your issue is unrelated but it should take you very little time to 
> try.
> 
> Cheers,
> Martin
> Martin Azkarate
> TEC-MMA
> *HE Space for ESA - European Space Agency*
> Space Automation and Robotics Engineer
> *ESTEC - European Space research and TEchnology Centre*
> Keplerlaan 1, 2201 AZ Noordwijk
> The Netherlands
> Martin.Azkarate at esa.int | www.esa.int
> Tel +31 71 565 3480 | Mob +31 650 625 564
> 
> 
> 
> From: Diego Cesar <diego.b.cesar at gmail.com>
> To: rock-dev at dfki.de
> Date: 04/12/2017 16:46
> Subject: [Rock-dev] Component does not read input port even though the 
> previous is writing on its output port.
> Sent by: rock-dev-bounces at dfki.de
> ------------------------------------------------------------------------
> 
> 
> 
> Hello guys,
> 
> Recently I had a problem on the component `auv_control:PIDController` 
> going to `POSE TIMEOUT` state.
> 
> The point, however, is that looking to the logs, the pose feedback 
> component is writing samples on its output port. So the `readNewest` _on 
> this line_ 
> <https://github.com/rock-control/control-orogen-auv_control/blob/master/tasks/PIDController.cpp#L52> is 
> not returning "RTT::NewData".
> 
> Additionally I found this message on 
> "orocos.auv_control_aligned_vel2body_effort-XXX.txt", related to 
> "mqueue" that may be related to this issue:
> 
> 
> 140.289 [ ERROR  ][MQSendRecv] FAILED opening 
> '/auv_control_aligned_vel2body_effort.pose_samples.0x7f627c0051b0 at 400' 
> with message size 516, buffer size 10 for reading :
> 140.289 [ ERROR  ][MQSendRecv] Insufficient space for the creation of a 
> new message queue.  This probably occurred because the queues_max limit 
> was encountered; see mq_overview(7).
> 140.290 [ ERROR  ][CDataFlowInterface_i::buildChannelOutput] Failed to 
> create MQueue Channel element: Could not open message queue: mq_open 
> returned -1.
> 140.290 [ ERROR  ][CDataFlowInterface_i::buildChannelOutput] The type 
> transporter for type /base/samples/RigidBodyState failed to create an 
> out-of-band endpoint for port pose_samples
> 141.308 [ Debug  ][CDataFlowInterface_i::createConnection]
> 
> This message is printed repetitively until the component breaks.
> 
> I'd like to ask if any of you have already had this problem or if the 
> "mqueue" message can somehow be related to it. If not, which would be 
> the reasons that could lead to this symptom.
> 
> Best Regards,
> 
> Diego Cesar
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
> 
> 
> This message and any attachments are intended for the use of the addressee or addressees only.
> The unauthorised disclosure, use, dissemination or copying (either in whole or in part) of its
> content is not permitted.
> If you received this message in error, please notify the sender and delete it from your system.
> Emails can be altered and their integrity cannot be guaranteed by the sender.
> 
> Please consider the environment before printing this email.
> 
> 
> 
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
> 


-- 
  Steffen Planthaber
  Weltraumrobotik

  Besuchsadresse der Nebengeschäftstelle:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 5
  28359 Bremen, Germany

  Postadresse der Hauptgeschäftsstelle Standort Bremen:
  DFKI GmbH
  Robotics Innovation Center
  Robert-Hooke-Straße 1
  28359 Bremen, Germany

  Tel.:     +49 421 178 45-4125
  Zentrale: +49 421 178 45-0
  Fax:      +49 421 178 45-4150 (Faxe bitte namentlich kennzeichnen)
  E-Mail:   Steffen.Planthaber at dfki.de

  Weitere Informationen: http://www.dfki.de/robotik
  -----------------------------------------------------------------------
  Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
  Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
  Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
  (Vorsitzender) Dr. Walter Olthoff
  Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
  Amtsgericht Kaiserslautern, HRB 2313
  Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
  USt-Id.Nr.:    DE 148646973
  Steuernummer:  19/673/0060/3
  -----------------------------------------------------------------------



More information about the Rock-dev mailing list