-
Notifications
You must be signed in to change notification settings - Fork 733
When testing a cycle event, calling application_impl::stop_offer_event is invalid. #666 #694
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
base: master
Are you sure you want to change the base?
Conversation
…t is invalid.This change can fix the problem
implementation/routing/src/event.cpp
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this modification is dangerous,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have a better way to solve this problem?
Does anyone know who is required to review and merge code after committing changes? What is the process like? |
@hjkcst Can you provide the test code |
I think it needs to be tested by the authorities, so how can the authorities intervene in this modification? |
halo, administrator of the vsomeip library, pay attention to this issue. |
hi @hjkcst @007herelsp i am trying to reproduce your problem. for that i used the following network_test: cyclic_event_test. i wasn't able to see the same problem. can you point out some code for the example, or why in my case it didn't work? |
@duartenfonseca |
@007herelsp Regarding this issue, I have a new understanding. After testing, it was successfully possible to stop the event notification.However, it is impossible to assess whether such modifications comply with the regulations of the SomeIP protocol. Could you please tell me if there is any way to get the community workers' attention to this issue? |
@hjkcst |
@hjkcst @007herelsp i am from the community. some questions:
Here is a branch with the changes, and how to run the network tests: mkdir new_folder
git clone https://github.com/COVESA/dlt-daemon.git
git clone https://github.com/COVESA/vsomeip
cd vsomeip
git checkout cycle_event_repro
docker compose --project-directory zuul/network-tests build
docker compose --project-directory zuul/network-tests up for docker to work it is important to have the folder with this contents:
this way the cyclic test will run, check the result. if you have more changes to make this network test reproduce the problem, or a different reproduction you can provide, please do |
|
@duartenfonseca |
@hjkcst i was able to do this, if the service has a cycle set on the configurations also. a note is that the server is not really notifying, because you don't see anything on the client side. The cycle function however is still running. Can you update this PR to remove the current change, and add the last change that you mentioned, because that is the one that fixes the issue. thanks |
…fer_event is invalid.This change can fix the problem" This reverts commit c477f30. Signed-off-by: hjkcst <[email protected]>
@duartenfonseca |
thanks, i will run it internally and see if it passes all the tests, will merge it |
@hjkcst Thread 1 Thread 2 for this reason, i suggest replacing this change for the following: void routing_manager_base::unregister_event(client_t _client, service_t _service, instance_t _instance,
event_t _event, bool _is_provided) {
(... no change until here ...)
if (its_unrefed_event) {
// adding here the unset, and not on the scope of #events_mutex_
if(_is_provided){
its_unrefed_event->unset_payload(false);
its_unrefed_event->set_provided(false);
}
(... no change after here ...)
}
}
}
|
@duartenfonseca |
…fer_event is invalid.This change can fix the problem" This reverts commit c477f30. Signed-off-by: hjkcst <[email protected]>
not its_event, rather its_unrefed_event. from my testing, with only the change I suggested, the notification cycle is stopped. The conflict i am talking about is specifically regarding this pull request, on my local reproduction I did resolve the conflicts. I was just asking for you to do that change on your PR, so that it is done as you decide |
@duartenfonseca That is to say, I think the following code can be used as the latest revision. If we can reach an agreement, I will modify the code submitted this time and resubmit it. |
I have resubmitted the document according to the final revisions and resolved the conflict issues. thanks |
The problem with that is that it will trigger the issue i mentioned here: #694 (comment) we have to avoid calling unset_payload inside the scope of events_mutex_ |
@duartenfonseca [ |
When testing a cycle event, calling application_impl::stop_offer_event is invalid. #666
See bug#666 for details of the issue.