-
Notifications
You must be signed in to change notification settings - Fork 243
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
7.0.0 Release #3551
Merged
Merged
7.0.0 Release #3551
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Update HMI_API.xml * Update src/components/interfaces/HMI_API.xml Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com> Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* SDL crash during StopComponents() if StartComponents() failed. If resumption_storage_ in ResumeCtrlImpl is failed to initialize, SDL will try to stop components and exit with error code. At this time application manager tries to unregister all applications and call ResumeCtrlImpl::OnIgnitionOff() where resumption_storage_ is used. As a result, a crash will occur. As an example, if AppStorageFolder have no read/write access, resumption_storage_ fails to initialize. Co-authored-by: Jacob Keeler <jacob.keeler@livioradio.com>
* Fixing problem with validation of array
… (#3359) The check for existence directory of app icons folder has been added to SetAppIconRequest. Co-authored-by: ValeriiMalkov <vmalkov@luxoft.com> Co-authored-by: ValeriiMalkov <vmalkov@luxoft.com>
* fix warning:maybe-uninitialized in CStringToEnum * fix out of buffer write warning in unit tests * Apply suggestions from code review
…sting app" This reverts commit 236bdba.
…ault values (#3357) * Fix bug `ResetGlobalProperties` (#2337) Fix bug `ResetGlobalProperties` does't reset `HELPPROMPT` and `VRHELPITEMS` to default values Fix UT's after bugfixing - Fix `ResetGlobalPropertiesRequestTest` - Add mock function into `MockApplicationManagerSettings` Github issue #1306 Co-authored-by: v-malko4 <vmalkov@luxoft.com> * fix vr_help_title SO type, rename help_prompt_ in unit tests to so_help_prompt * fix style Co-authored-by: v-malko4 <vmalkov@luxoft.com>
…count Fix Start Stream retry count
* Add Startup PTU check * Reset Stop PTU etry when first app is registered * Address review comment
* 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 c83288e. * 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>
* 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>
Co-authored-by: collin <collin@livio.io>
* 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>
…in 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
* unsubscripe app from waypoints when it is unregistered * address review comments * fix style
* 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>
* 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
* 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
* 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>
The style has been broken on develop branch - commit f5cfd15
…3519) GetInteriorVehicle request RPC should process the next result codes as success: WRONG_LANGUAGE, RETRY, SAVED.
* Fix streamer activity in case of suspend The problem of the current implementation is that SDL kills streaming thread responsible for sending a/v streaming data to HMI when streaming timeout expires. This issue is observed when mobile app dumps 10-seconds audio file to SDL during 2 seconds and after that app does not send any data. In that case HMI will play audio file during 2 seconds + timeout = 5 seconds. At the 5th second SDL just kills streaming thread with all pending messages, however audio service is still open. As a result not a whole audio file is played. The correct behavior from SDL side in that case is not kill streaming thread when streaming timeout was expired. SDL should kill streaming thread only when service is actually stopped. Current SDL behavior was updated to align with a correct behavior described above. * Adjust fix to work with audio socket streaming * Revert "[WIP] initial fix of socket streaming by guessing playback time (#3057)" This reverts commit 7c442ab. * Remove unused code after revert * Fix style issues
In a while called method locks mutex for protecting data and if USB connection is failed it means that method will call and will try to lock the same mutex again. That's why this mutex should be recursive.
* Fix 3173 bug:multi-thread access one pointer at same time caused a wild pointer problem in HMICapabilitiesImpl class * modify test code for 3173 * fix Unit tests * Fix merge conflicts Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
* Re-order rai logic for plugins * style * Add mock method * Add method descriptions * Add timing content
* Wait for UsbHandler thread end in UsbHandler dtor The Thread dedicated for handling libusb events should exit successfully on it's own. This guarantees that `libusb_close()` being called on all devices, as well as `libusb_exit()` call is properly sequenced. Thread exits in recommended by libusb doc way: 1. set exit flag 2. deregister hotplug callbacks, which will wake up `libusb_handle_events()` once again. But this commit changes the way the Thread being joined. It ensures that `join()` is called with `kNoStop` flag, which prevents force stop using `pthread_cancel()`. * Using atomic bool for shutdown_requested_ flag Making UsbHandler::shutdown_requested_ flag atomic to guarantee mutual access to it. exchange() call is needed for helgrind to feel sure that there is no data race. * Remove redundant DCHECK This assertion has been exposed by the current fix
* Add the DialNumber RPC to the Base-4 and Base-6 functional groups * Move DialNumber into a separate functional group * Fix added functional group
There was a problem with duplicate subscriptions to shared data due to time gap between check for already subscribed apps in SDLRPCPlugin and further processing of corresponding requests in WayPointsPendingResumptionHandler. That's why this check was moved to WayPointsPendingResumptionHandler. Also refactoring of some methods WayPointsPendingResumptionHandler class was done to make their logic clearer and easier to understand.
* Add check for non-existent parent ID to AddSubMenuRequest * fixup! Add check for non-existent parent ID to AddSubMenuRequest
…readme Fix broken Mobile API link in README
* Add defvalue to policy table schema
* Set is_resuming flag to false * Change return value in RestoreAppHMIState and StartAppHmiStateResumption
* Add missed NACK reasons, update UTs and add minor changes
* Fix formatting for logs after logger overhaul Co-authored-by: Shobhit Adlakha <ShobhitAd@users.noreply.github.com>
* Rework processing of the OnExitApplication (RESOURCE_CONSTRAINT) notification * Update UTs according to changes Co-authored-by: sniukalov <sniukaov@luxoft.com> Co-authored-by: Aleksandr Kutsan <AKutsan@luxoft.com> Co-authored-by: jacobkeeler <jacob.keeler@livioradio.com> Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
* fix issue 2808:SDL Crash seen in SDL upon receiving rpc - OnEmergencyEvent with enabled:true * change code stype * Fix conflicts * Fix log * Fix crash * Address comments Co-authored-by: zhangwenqin <zhangwenqin@iauto.com>
There were noticed two issues related to a/v streaming: 1. Due to object self destruction after TerminateRequest() call any attempt to access member field of that object may cause an undefined behavior - it might be a core crash or corrupted value sometimes. In this particular case, SDL tries to access `message_` field through `application_id()` function after object destruction. As a result, sometimes SDL crashes and sometimes this function just returns 0. Because of that, SDL was not able to find application by zero id and broke the retry sequence. This causes random failures of some ATF scripts. To avoid that issue, all retry logic was extracted into the separate function and `TerminateRequest` was moved after that function. This will guarantee that there is no attempts to access object fields after its destruction. 2. There was noticed that SDL makes one redundant retry attempt. That was because of late retry value increment. To fix that issue, increment has been placed before retry amount check.
* remove cloud app exception from StateControllerImpl::OnApplicationRegistered * Fix/ Postpone application activation if registration is not complete yet (#3557) * Postpone application activation if registration is not complete yet * fixup! Postpone application activation if registration is not complete yet * fixup! Postpone application activation if registration is not complete yet Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com> * fix style * fix unit tests Co-authored-by: Ira Lytvynenko (GitHub) <ILytvynenko@luxoft.com> Co-authored-by: Andrii Kalinich <AKalinich@luxoft.com>
iCollin
approved these changes
Nov 5, 2020
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Completed Features
[SDL 0249] Persisting HMI Capabilities specific to headunit
[SDL 0154] Add SDL Core Daemon script
[SDL 0298] Processing of unknown enum values by SDL Core
[SDL 0252] Aligning HMI and MOBILE API for pcmStreamCapabilities
[SDL 0260] Deprecate HMI RPC OnFindApplications
[SDL 0253] New vehicle data StabilityControlsStatus
[SDL 0256] Refactor Fuel Information Related Vehicle Data
[SDL 0266] New vehicle data GearStatus
[SDL 0261] New vehicle data WindowStatus
[SDL 0148] Template Improvements: Additional SubMenus
[SDL 0152] Driver Distraction Improvements: Command List Limitations
[SDL 0257] New vehicle data HandsOffSteering
[SDL 0200] Removing URL Parameter Max Length
[SDL 0202] Supported Character Sets
[SDL 0242] Subtle Alert Style
[SDL 0268] Main Menu Updating and Pagination
[SDL 0273] WebEngine Projection mode
[SDL 0046] Implement logger abstraction
[SDL 0308] Add a Reason Parameter to All Protocol NAKs
[SDL 0190] Handle response from HMI during resumption data
[SDL 0188] Interior Vehicle Data Resumption
[SDL 0277] Continuous integration and testing
Completed Bug Fixes/Enhancements
Wrong order of the requests that SDL sends on device disconnection
SDL does not send BC.PolicyUpdate to HMI if no apps are registered
ResumeCtrlImpl can crash during cleanup
SDL crashes in case 'AppStorageFolder' doesn't have read/write permission
SDL core dump is observed when send SDL_STOP message to mqueue (iAP)
[SDL4.0]SDL does not create icons folder in case it was removed after SDL start
Avoid deadlock in Connection destructor
SDL retry send StartStream/StartAudioStream less on one time than configured in .ini file
onButtonPress notification is not sent to LIMITED state app
Core Unsubscribes from HMI waypoints when it should not
Increase Policy unit-tests speed
SDL sends OnAppInterfaceUnregistered with the reason IGNITION_OFF during FACTORY_DEFAULTS exit
SDL does not remove app from waypoints list
Fix problem with validation of array
ResetGlobalProperties does't reset HELPPROMPT and VRHELPITEMS to default values
App Icons folder will never be used if it is empty
Refactor unit tests for policy manager and cache manager
Fix messages protocol version check
Fix style
Proprietary policy update retry after failed HMI PTU
Invalid write in threads::ThreadDelegate::~ThreadDelegate()
SDL does not validate invalid characters in HMI requests.
Unit test in WebsocketSessionTest fails with core dump
Add missing ssl_context.h include in security_manager_listener
IP address information isn't updated when a network interface is removed
SDL doesn't start PTU on Days, Ignition Cycles or new Ignition cycle triggers for HTTP policy mode
Memory leaked during video streaming
Memory issues observed while running protocol_handler_test
Memory leaks in data_resumption_test unit tests
SDL must store OnWayPointChange internally and re-send this notification to each subscribed apps
Core rejects RAI if unknown enums are present
Memory leak in DynamicApplicationDataImpl class
"language" and "hmiDisplayLanguage" in RAI response are set to -1 when UI, TTS, VR active languages are not valid.
CCB: Fix deadlock in timer.cc
CCB: Fix potential deadlock in PolicyHandler
Add Destructor to BluetoothTransportAdapter
Core does not respond to StartService with encrypted=true if PTU timed out
CCB: Fixes race condition in messagemeter.h
SDL sends SubscribeVehicleData by resumption second app
Microphone format not set, settings from PerformAudioPassThru request ignored by OnAudioPassThru notification
App gets "REJECTED" instead of "UNSUPPORTED_RESOURCE" to ChangeRegistration with not supported language
CCB: Make refactoring in mb_controller.cc
Button Press notifications are not received on device when SEEK_LEFT hard button pressed when App in HMI Level LIMITED
SDL Core sends HMI capabilities to Proxy before getting capabilities from HMI
DeadLock in TranpsortManager during transport disconnect
SDL doesn't reject the RPC from mobile in case the version of the mobile app is less then RPC version
CCB: Possible undefined behavior in case thread stopped before it was actually started.
[SDLOPEN] SDL doesn't check result codes of HMI IsReady response
SDL returns INVALID_DATA result code for SubscribeVehicleData instead of UNSUPPORTED_RESOURCE in case VehicleInfo interface is unavailable
CCB: Fix SIGKILL due to not clearing the requestinfo set
CCB: App not Un-Registering when trying to Force Close Nav App
CCB: Fix dangerous work with app commands
CCB: SDL crash on set_delegate on shutdown
CCB: Fix mutex deadlock on VR.ChangeLanguage received
CCB: Fix trying to unlock mutex not held by any thread
SDL does not send SubscribeWayPoints request to HMI in case of resumption
CCB: Fix data races in logger
Media app is not activated during active embedded navigation
Non-media app must be activated during active embedded navigation
SDL must set media app to LIMITED and AUDIBLE due to active embedded navigation
The OnEventChanged notification provides the wrong state info during app activation
Non-media app must be activated during active audio source
Multiple media and navigation apps activation during active embedded navigation+audio mixing supported
Multiple media and navigation apps activation during active embedded audio source+audio mixing supported
Multiple media, navigation and non-media apps must be activated during active embedded audio source+audio mixing supported
Media app: system supports audio mixing and embedded navigation starts streaming (TTS session)
CCB: SDL Crashing on receiving empty band from the radio
Multiple media and navigation apps activation during active embedded audio source+audio mixing supported
HMI API description typos
add webengine_websocket to TransportTypeProfileStringFromDeviceHandle
SDL does not send the value of samplingRate" parameter stored in hmi_capabilities_cache.json in RegisterAppInterface response
CCB: Changed logic of work using boost conditional variable
CCB: Remove direct usage of applications_ instance
CCB: Use atomic bool in ApplicatinManager
CCB: Fixes deadlock in connection_handler
CCB: Fix data races in TcpClientListener
SDL code errors in code analysis report
Core sends an onAppInterfaceUnregistered notification when UnregisterAppInterface is sent from Mobile
Duplicated conversion functions in different SDL places
Remove from PolicyManagerImpl "if (!snapshot_)", "if (!storage_)", "if (!pt_)", "if (!GetPermissionsList(list_of_permissions))" because it is code does not running
Fix issues found by cppcheck & cpplint: formatters, hmi_adapter, telemetry_monitor, smart_object, rpc_base, media_manager, plugins, appMain
CCB: Use weak_ptr instead of raw ptrs
SDL sends GetInteriorVehicleData response with "success":false in case success type of response(resultCode: WRONG_LANGUAGE, RETRY, SAVED) from HMI
CCB: Fix deadlock in PolicyHandler
CCB: Fix streamer activity in case of suspend
CCB: Fix dead lock in usb connection
CCB: Fix SIGSEGV Crash subscribed_data
CCB: SDL Crashes while testing QT 5.12
CCB: wait for UsbHandler thread end in UsbHandler dtor
CCB: using atomic bool for shutdown_requested_ flag
CCB: SmartDeviceLink SIGSEGV crash in std::__1::_tree
SDL crashes while registering app.
CCB: Projection/Navigation app not going to FULL