This repository has been archived by the owner on Jan 16, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 602
MessageRouter::disconnectAllTransportsLocked flow leads to erase while iterating transports vector #8
Milestone
Comments
Thank you for pointing this out @jshslt. We plan on addressing this issue in either our 0.4.1 release, which we plan on being a patch update, or the 0.5 release, which should be a general improvements update. Both of these should be coming in the next few weeks. |
kjkh
pushed a commit
that referenced
this issue
Jun 9, 2017
Changes in this update -Implemented Sensory wake word detector functionality -Removed the need for a std::recursive_mutex in MessageRouter -Added AIP unit test -Added handleDirectiveImmediately functionality to SpeechSynthesizer -Added memory profiles for: AIP SpeechSynthesizer ContextManager AVSUtils AVSCommon -Bug fix for MultipartParser.h compiler warning -Suppression of sensitive log data even in debug builds. Use cmake parameter -DACSDK_EMIT_SENSITIVE_LOGS=ON to allow logging of sensitive information in DEBUG builds -Fix crash in ACL when attempting to use more than 10 streams -Updated MediaPlayer to use autoaudiosink instead of requiring pulseaudio -Updated MediaPlayer build to suppport local builds of GStreamer -Fixes for the following Github issues: #5 #8 #9 #10 #17 #24
A fix for this has been pushed in version 0.4.1. |
Closed
This was referenced Dec 13, 2017
8 tasks
6 tasks
Guillaume0477
pushed a commit
to Guillaume0477/avs-device-sdk
that referenced
this issue
Sep 16, 2019
XVF3510 pi hat control
6 tasks
6 tasks
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
MessageRouter::disconnectAllTransportsLocked
uses a range-basedfor
to iteratem_transports
. this conflicts with the transport disconnect flow, which leads back toMessageRouter::onDisconnected
and if still connected, an erase-remove onm_transports
. This invalidates the outer iterator used bydisconnectAllTransportsLocked
, and can lead to segfault -our local solution was to set
m_connectionStatus = ConnectionStatus::DISCONNECTED
before iterating the transports and callingdisconnect()
on each.The text was updated successfully, but these errors were encountered: