Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When testing a cycle event, calling application_impl::stop_offer_event is invalid. #666

Open
hjkcst opened this issue Apr 10, 2024 · 6 comments
Labels

Comments

@hjkcst
Copy link

hjkcst commented Apr 10, 2024

vSomeip Version

v3.4

Boost Version

1.7

Environment

Embedded linux,ubuntu1808

Describe the bug

When testing a cycle event, calling application_impl::stop_offer_event is invalid. The reference count for the event was not actually cleared, causing the cycle event to still notify.

The root cause is here.
file path:implementation\routing\src\event.cpp
cycle_event

This problem can be solved with a few modifications.
cycle_event_change

Reproduction Steps

server:
0.Register handler(state、message)
1.offer_service
2.offer_event (set sycle event)
3.notify
4.stop_offer_event
result:
The server is still notifying, and the client can still receive the notification message.

client:
0.Register handler(state、massage、availability)
1.request_service
2.request_event
3.subscribe(sycle event)
result:
It can receive a notification and continue to receive notifications after stop_offer_event on the server.

Expected behaviour

server: cycle event can stop notify.
client: stopped receiving notifications

Logs and Screenshots

No response

@hjkcst hjkcst added the bug label Apr 10, 2024
@hjkcst
Copy link
Author

hjkcst commented Apr 10, 2024

I believe that the root cause of the problem is that sycle event incorrectly increments the reference count of the event by 1 when start_cycle is used. I hope it can provide ideas for the community to investigate this issue and look forward to the community's reply.

@zhaoxin39913
Copy link

zhaoxin39913 commented Apr 12, 2024

Yes, I come across the same issue, even after stopping service the cyclical event still can not be stopped.

@hjkcst
Copy link
Author

hjkcst commented Apr 26, 2024

Hello, everyone

Does anyone know how to promote the modification of this problem?

thanks,
hjkcst

@zhaoxin39913
Copy link

Hi @hjkcst

I think you can follow the community process to contribute your change to related git branch.

@hjkcst
Copy link
Author

hjkcst commented May 6, 2024

HI, everyone

Has you known this problem?
image

@BrunoLSilvaCTW
Copy link
Collaborator

Hi @hjkcst,

You need to create a fork first. See this page for instructions on how to do it.

007herelsp pushed a commit to 007herelsp/vsomeip that referenced this issue Jun 3, 2024
Uploaded patch set 1.

Patch-set: 1
Change-id: I7ee2ccbc405f1b61d7abd62532b7375166c939e1
Subject: fix When testing a cycle event, calling application_impl::stop_offer_event is invalid COVESA#666
Branch: refs/heads/master
Status: new
Topic: 
Commit: 83d51ed
Tag: autogenerated:gerrit:newPatchSet
Groups: 83d51ed
Private: false
Work-in-progress: false
007herelsp pushed a commit to 007herelsp/vsomeip that referenced this issue Jun 3, 2024
application_impl::stop_offer_event is invalid COVESA#666

Change-Id: I7ee2ccbc405f1b61d7abd62532b7375166c939e1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants