Bug #344

C++ Spread: Transport-level errors are not handled properly

Added by J. Moringen over 9 years ago. Updated over 3 years ago.

Status:NewStart date:06/05/2011
Priority:HighDue date:
Assignee:-% Done:

20%

Category:Spread Connector
Target version:rsb-0.18

Description

The ReceiverTask class has (at least) two potential causes of errors
  • Spread errors (currently ignored)
  • Converter errors (currently not handled, ignored at call site)

Related issues

Related to Robotics Service Bus - Bug #796: Crash in ReceiverTask w/o Stacktrace on MacOS Rejected 01/06/2012
Related to Robotics Service Bus - Bug #1153: unknown data types cause crash when received Rejected 08/29/2012
Blocked by Robotics Service Bus - Tasks #1035: Implement error handling subsystem New 06/25/2012

Associated revisions

Revision 3814e06a
Added by J. Wienke about 6 years ago

Terminate processing in case of receive error

Prevent 100% CPU load loops in ReceiverTask by stopping the task at the
first spread error. We do not recover at all.

This is more or less just a temporary workaround for a still missing
real solution for task #344 and #1035

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

Revision ed871fb2
Added by J. Wienke about 6 years ago

Use ErrorStrategy to handle receive errors

Use the new setErrorStrategy method in the InPushConnector interface to
obtain a user-specified wish on what to do in case of a receiver error.

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

Revision 7bd5b422
Added by J. Wienke about 6 years ago

Add setErrorStrategy on InPushConnectors and call it

As a temporary solution for asynchronous receiving errors, use the
ParticipantConfig::ErrorStrategy. This can be specified by the user via
the configuration.

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

History

#1 Updated by S. Wrede about 9 years ago

  • Target version set to 0.6

#2 Updated by J. Wienke almost 9 years ago

  • Target version deleted (0.6)

postponed as it is not realistic to implement right now

#3 Updated by J. Moringen over 8 years ago

  • Target version set to rsb-0.9

#4 Updated by J. Moringen almost 8 years ago

  • Subject changed from Transport-level Errors are not handled properly to Transport-level errors are not handled properly

#5 Updated by J. Moringen almost 8 years ago

  • Target version changed from rsb-0.9 to rsb-0.10

#6 Updated by J. Wienke over 7 years ago

  • Subject changed from Transport-level errors are not handled properly to C++ Spread: Transport-level errors are not handled properly
  • Category changed from C++ to Spread Connector

Seems to be specific to the spread transport.

#7 Updated by J. Moringen about 7 years ago

  • Target version changed from rsb-0.10 to rsb-0.11

#8 Updated by S. Wrede about 6 years ago

  • Priority changed from Normal to High

#9 Updated by J. Wienke about 6 years ago

  • Target version changed from rsb-0.11 to rsb-0.12
  • % Done changed from 0 to 20

At least we now prevent endless 100% CPU loops. The remaining issues will have to wait for the real implementation of an error handling subsystem, which will not make it into 0.11.

#10 Updated by J. Wienke almost 6 years ago

  • Target version changed from rsb-0.12 to rsb-0.13

#11 Updated by J. Moringen almost 5 years ago

  • Target version changed from rsb-0.13 to rsb-0.14

#12 Updated by J. Moringen almost 5 years ago

  • Target version changed from rsb-0.14 to rsb-0.15

#13 Updated by J. Moringen over 4 years ago

  • Target version changed from rsb-0.15 to rsb-0.16

#14 Updated by J. Moringen almost 4 years ago

  • Target version changed from rsb-0.16 to rsb-0.17

#15 Updated by J. Moringen over 3 years ago

  • Target version changed from rsb-0.17 to rsb-0.18

Also available in: Atom PDF