diff options
Diffstat (limited to 'meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk')
4 files changed, 38 insertions, 27 deletions
diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch new file mode 100644 index 00000000..3bf79835 --- /dev/null +++ b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-connection-deadlock-workaround.patch @@ -0,0 +1,35 @@ +Workaround for connection deadlock + +Change the maximum (effectively infinite) delay in HTTP2Transport's +connecting state handling code to use the inactivity timeout value, +which is currently 5 minutes. This seems to avoid triggering a +deadlock between the condition variable checking in the +monitorSharedQueueWhileWaiting method and use of the object's m_mutex +member in sendPostConnectMessage and onActivity methods. +At present, my theory is this issue stems from some change or bug +in the newer g++/libstdc++ coming with dunfell versus the thud release +that Amazon supports. + +Upstream-Status: Inappropriate [other] + +Signed-off-by: Scott Murray <scott.murray@konsulko.com> + +diff --git a/ACL/src/Transport/HTTP2Transport.cpp b/ACL/src/Transport/HTTP2Transport.cpp +index f1b5c03..dec7424 100644 +--- a/ACL/src/Transport/HTTP2Transport.cpp ++++ b/ACL/src/Transport/HTTP2Transport.cpp +@@ -618,7 +618,13 @@ HTTP2Transport::State HTTP2Transport::handleConnecting() { + return m_state; + } + +- return monitorSharedQueueWhileWaiting(State::CONNECTING); ++ // Wait for connection for the same length of time as the post-connection ++ // inactivity monitor timeout (currently 5 minutes). ++ // This seems to avoid triggering an issue where connecting deadlocks when ++ // using the maximum timeout of std::chrono:steady_clock. ++ std::chrono::time_point<std::chrono::steady_clock> timeout = ++ std::chrono::steady_clock::now() + INACTIVITY_TIMEOUT; ++ return monitorSharedQueueWhileWaiting(State::CONNECTING, timeout); + } + + HTTP2Transport::State HTTP2Transport::handleWaitingToRetryConnecting() { diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch deleted file mode 100644 index 0e4f14fd..00000000 --- a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk/0001-enable-building-with-g++-9.patch +++ /dev/null @@ -1,24 +0,0 @@ -Enable building with g++ 9.x - -Disable -Werror for new warning "deprecated-copy" to avoid build -failure in the packaged copy of googletest with g++ 9.x. This is -hopefully temporary until googletest is upgraded or it becomes -straightforward to build against an externally provided copy. - -Upstream-Status: pending - -Signed-off-by: Scott Murray <scott.murray@konsulko.com> - -diff --git a/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake b/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake -index 777b91e..7832f20 100644 ---- a/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake -+++ b/ThirdParty/googletest-release-1.8.0/googletest/cmake/internal_utils.cmake -@@ -91,7 +91,7 @@ macro(config_compiler_and_linker) - set(cxx_no_exception_flags "-D_HAS_EXCEPTIONS=0") - set(cxx_no_rtti_flags "-GR-") - elseif (CMAKE_COMPILER_IS_GNUCXX) -- set(cxx_base_flags "-Wall -Wshadow") -+ set(cxx_base_flags "-Wall -Wshadow -Wno-error=deprecated-copy") - set(cxx_exception_flags "-fexceptions") - set(cxx_no_exception_flags "-fno-exceptions") - # Until version 4.3.2, GCC doesn't define a macro to indicate diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend deleted file mode 100644 index 8afb91a9..00000000 --- a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.13.bbappend +++ /dev/null @@ -1,3 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" - -SRC_URI += "file://0001-enable-building-with-g++-9.patch" diff --git a/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend new file mode 100644 index 00000000..d4ea2592 --- /dev/null +++ b/meta-speech-framework/meta-aac/recipes-avs/avs-device-sdk/avs-device-sdk_1.19.1.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:" + +SRC_URI += "file://0001-connection-deadlock-workaround.patch" |