| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sometimes there was observed mutex deadlock while
more then one thread are accessing buttons subscriptions
container protected with data accessor class. The
issue is happening when one thread is trying to
unregister application, acquires applications lock and
trying to save application resumption data which at
some point requires app subscribed buttons lock to
be acquired. At the same moment another thread is
trying to resume application data and acquires
subscribed buttons accessor after which is trying
to send notifications to HMI, which at some point
requires applications lock to be acquired. When these
two threads have a time intersection, mutex deadlock
is happening.
To resolve this deadlock, button subscription accessor
has been replaced with temporary accessor + copying
protected content to a local variable which allows to
release that lock beforehand.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
SDLCORE-373
Unprotected critical section accessed by two different threads,
timing_map was being modified by clearing the map identifiers causing a
crash in boost::date_time
Review: Change RWLock to Lock, Added FrequencyImpl private method
Co-authored-by: Mario Godinez <mgodine6@ford.com>
|
|
|
| |
prevent override of bluetooth destructor so that the default transport adapter destructor impl will be called
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SYNC-10345
There was a vulnerability in the PolicyHandler which causes a mutex deadlock.
For example - MessageLoop thread of RpcService handles incoming messages. In
case when SDL receives AllowSDLFunctionality notification, this thread calls
OnAllowSDLFunctionalityNotification inside PolicyHandler. At some point of time
this function captures accessor from AM which holds applications_list_lock_
there. At this moment thread AM Pool 0 of RequestController processes some RPC
from queue and captures policy_manager_lock_ in PolicyHandler. After that at
some moment thread AM Pool 0 tries to get application shared pointer from AM
and locks itself as this mutex are already locked with thread MessageLoop.
Also, MessageLoop thread at some moment tries to acquire policy_manager_lock_
and locks itself as this mutex are already locked with thread AM Pool 0, which
is waiting for applications_list_lock_ to unlock. As a result we have a
classical thread deadlock after which SDL stuck forewer.
To avoid such situations, there was analyzed all bottlenecks related to
applications_list_lock_ and its accessors. Accessors were scoped in several
places to avoid similar deadlocks in future.
Co-authored-by: Elvis Kuliiev <ekuliiev@luxoft.com>
|
|
|
|
|
|
|
|
|
| |
* Fix issue with External PTU timeout
When attempting to start an encrypted service, the mobile proxy would not receive a response if the PTU timed out. This is because the retry count is based on the number of OnSystemRequests received from the HMI. Since that number would never exceed the number of retries, `IsAllowedRetryCountExceeded` would never return false. This will now return false after the final retry times out.
* Add error code check in ProcessInternalError
If the proxy responds with NOT_SUPPORTED or SSL_INVALID_DATA, Core will mark the handshake as failed.
|
|
|
|
| |
This reverts commit 1e5d115dd5c12b15c5667961c24737f08691b988.
|
| |
|
|
|
|
|
|
|
|
|
| |
SDLCORE-458
Fix deadlock in timer.cc call lock two times for Lock,
second lock was removed, cause using of it hadn't any benefits.
Regarding of Helgrind report.
Co-authored-by: Maksym Shvaiko <MShvaiko@luxoft.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add HMI warnings response for filtered enums
* Only filter enums with valid typing
Invalid types with an enum schema item were being silently filtered, so we need to look for a specific result code from validate() instead of looking for a general failure.
* Fix source for messages from hmis
* Fix unit tests
Co-authored-by: jacobkeeler <jacob.keeler@livioradio.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
* Add enum filtering step to applySchema
This step is triggered when `remove_unknown_parameters` is enabled
* Add unit tests
* Pass warning info to message response after processing
|
| |
|
|\
| |
| | |
Add SDL Core Daemon Script
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Create dedicated PID file directory
Check running processes before starting or stopping Core
Add `kill` command to destroy all running instances of Core
Change main SDL thread to be identifiable by name
|
| | |
|
| |
| |
| |
| |
| | |
* fix build error in http unit tests
* fix style
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add saving way points during notification
- When OnWayPointNotification appeared the wayPoint is saving
- When new app subscribing on wayPointNotification stored way points are sending to app
* Add unit tests
* fix style, update to remove (uint32_t) overload of SubscribeAppForWayPoints
Co-authored-by: collin <collin+i@collinmcqueen.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix: memory leak in ProtocolHandlerImpl::NotifySessionStarted()
This is detected by valgrind.
* fix: buffer over-run in ProtocolPayloadTest
This is an issue of unit test implementation and only affects
unit testing.
* fix: invalid memory accesses in ProtocolHandlerImplTest
These affect unit testing only.
Invalid memory accesses occurred because the mock class didn't
configure protocol version field properly.
* fix: valgrind warning in IncomingDataHandlerTest
This is not actually an issue. valgrind reported a warning
since the memory area was not initialized.
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| |
| |
| |
| |
| | |
This issue only affects unit testing.
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fix: IP address isn't notified when network interface is removed
When RTM_DELLINK is notified, corresponding network interface
has been already destroyed so if_indextoname() won't return a
valid name.
To handle such case, status_table_ is updated to use network
interface index as key.
* fix: generate DeviceDisconnected event when network interface is removed
* fix a few comments
* Reflect review comments
- Add const where applicable
- Add more descriptions
* Reflect code review
Replace FindInterfaceStatus() with std::find_if() call.
* Reflect code review
Remove unnecessary include.
* fix style issue
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
App was resumed with Full HMI Level when it has been
flagged as revoked in the policy table. This PR adds
a check that app is not revoked to continue with
HMI Level resumption.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Fix onsystemrequest retry logic
* Cache policy update file from HMI for retries
* Fix issues with previous commit
Co-authored-by: jacobkeeler <jacob.keeler@livioradio.com>
|
| | |
|
| |
| |
| | |
The style has been broken on develop branch - commit f5cfd151d82
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Increase speed for Policy unit-tests: External policy
Increase speed for unit-tests:
- External policy tests
- Regular policy tests
* Increase speed for Policy unit-tests: Regular policy
Co-authored-by: Collin <iCollin@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add new file with unit tests for CacheManager
* Add new tests for PolicyManagerImpl
* Add new preloaded tables
* Add changes in CMakeLists.txt
* Delete unused files
* Re-add file with test
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add new file with unit tests for CacheManager
* Add new tests for PolicyManagerImpl
* Add changes in CMakeLists.txt
* Add new preloaded tables
* Delete unused files
* Re-add test files
|
|/
|
|
|
|
|
|
|
|
|
|
| |
* Fix messages protocol version check
Fixed the messages protocol version check and
name of ProcessData method parameter 'result' was changed
to 'out_result' for more clarity
* fix copy-paste error and fix style
Co-authored-by: Collin <iCollin@users.noreply.github.com>
Co-authored-by: collin <collin+i@collinmcqueen.com>
|
|
|
|
|
|
|
| |
* unsubscripe app from waypoints when it is unregistered
* address review comments
* fix style
|
|
|
|
|
|
|
|
|
| |
LIMITED HMI Level (#3378)
* initialize app in non custom button path of on_button_press run
* fixup! initialize app in non custom button path of on_button_press run
fix unit tests with changes in run
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix implementation for SDLGetUserFriendlyMessage
* Unit test for SDLGetUserFriendlyMessage: checking syntax
* Changes according to comments
* add invalid syntax error response info
Co-authored-by: ZhdanovP <pzhdanov@luxoft.com>
|
| |
|
| |
|
|
|
| |
Co-authored-by: collin <collin@livio.io>
|
|
|
|
|
|
|
|
|
|
|
| |
* Add RPCService unit tests
* Add prerequisites for execution of unit tests
* Rearrange and delete unused includes
* Add minor changes
Co-authored-by: JackLivio <jack@livio.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* remove deadlock danger when removing Connections from a ConnectionMap
* fix style, use log debug instead of trace for singular messages
* Revert "fix style, use log debug instead of trace for singular messages"
This reverts commit c83288ec9fc9007e48044b09ad038edbf612e038.
* fix style, use log debug instead of trace for singular messages
* restore condition updates lost with merge of old versions
Co-authored-by: Frank <fronneburg@xevo.com>
|