vsomeip icon indicating copy to clipboard operation
vsomeip copied to clipboard

[BUG]: No ACK after 'application_impl::start() caught exception'

Open automotiveUser opened this issue 6 months ago • 0 comments

vSomeip Version

v3.5.5

Boost Version

1.78

Environment

Embedded Linux

Describe the bug

When the boost::asio::io_service within application_impl catches an exception (application_impl::start() caught exception), no response (e.g. SubscribeAck or SubscribeNack) will be sent for new Subscription requests. In this code section I added some more debug traces:

while(true) {
   try {
      VSOMEIP_ERROR << "application_impl::start() AAA";
      io_.run();
      VSOMEIP_ERROR << "application_impl::start() BBB";
      break;
   } catch (const std::exception &e) {
       VSOMEIP_ERROR << "application_impl::start() "
           "caught exception: " << e.what();
   }
   VSOMEIP_ERROR << "application_impl::start() BCD";
}

The output is (internal project specific traces replaced by 'x'):

...
[error] application_impl::start() AAA
...
[error] application_impl::start() caught exception: xxxxxx
[error] application_impl::start() BCD
[error] application_impl::start() AAA
...

Reproduction Steps

  1. Start application
  2. Send SOME/IP subscription requests permanently very fast (without delay) for multiple SOME/IP services/methods and send unsubscription requests for all at the end. Repeat subscription and unsubscription in a infinite loop.
  3. Wait for exception handling occurence
  4. Send SOME/IP subscription requests again --> no ACK/NACK available

Expected behaviour

After exception handling the io_.run() should handle all new incoming requests like the ones before exception handling. But it doesn't handle new requests anymore and thus doesn't sent any response.

Logs and Screenshots

No response

automotiveUser avatar Jun 05 '25 08:06 automotiveUser