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

Core dump on ignition off when registering 20 apps #3939

Merged

Conversation

ShobhitAd
Copy link
Contributor

@ShobhitAd ShobhitAd commented Aug 10, 2022

Fixes #3857

Original PR: #3928

This PR is ready for review.

Risk

This PR makes no API changes.

Testing Plan

Submitted ATF test for issue

Summary

Fixes the following problems:

  • Аn object of this class AppExtension was not given externally without protection. Therefore, I will change the return type from Extensions () to DataAccessor . Where the desired mutex is captured.
  • ApplicationManagerImpl had unprotected deletion of objects used in other threads. Also, I found a duplicate of the is_stopping method. I deleted this one and left the IsStopping method.
  • ResumeCtrlImpl captured the mutex queue_lock_, which belongs to it, and the mutex from ApplicationManagerImpl, when calling the application(..) method. This created a deadlock, and not a secure use of the application object. So I added getting all the apps and working with this list.
  • It consists of two different crash of the program. The first crash when remove mobile_request_list_. The second is when deleting mobile requests from waiting_for_response_. This was due to the use of smart pointers in different threads. They are copied into threads, so we have to delete them in the thread in which we finish working with it. Since these requests are processed in a separate thread, I delete them there if the core stops working during the processing of these requests. Also added a check to see if the core stopped working while adding such requests to the list.
  • This is a drop while processing data in one thread and deleting it in another thread. I created a separate mutex to protect this data. Because using the existing one, we do not invest in the time allotted to the timer to perform certain work.

CLA

@jacobkeeler jacobkeeler changed the title Add changes from luxoft PR Core dump on ignition off when registering 20 apps Aug 10, 2022
ShobhitAd and others added 2 commits August 18, 2022 10:18
Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
@ShobhitAd ShobhitAd merged commit 2d95d30 into develop Aug 25, 2022
@ShobhitAd ShobhitAd deleted the fix/core_dump_on_ignition_off_during_registering_20_apps branch August 25, 2022 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants