[HAM] Fixed deadlock issue 26/319126/1 accepted/tizen_unified_toolchain accepted/tizen_unified_x_asan accepted/tizen/9.0/unified/20241030.235852 accepted/tizen/unified/20241016.160059 accepted/tizen/unified/toolchain/20241022.122311 accepted/tizen/unified/toolchain/20241022.122804 accepted/tizen/unified/x/20241017.030744 accepted/tizen/unified/x/asan/20241022.113255 tizen_9.0_m2_release
authorPiotr Kosko/Tizen API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Tue, 15 Oct 2024 12:15:33 +0000 (14:15 +0200)
committerPiotr Kosko/Tizen API (PLT) /SRPOL/Engineer/Samsung Electronics <p.kosko@samsung.com>
Tue, 15 Oct 2024 12:15:36 +0000 (14:15 +0200)
Issue was visible in manual HAM test on emulator:
- HumanActivityMonitorManager_readRecorderData_type_PRESSURE

addRecordedData is called via SensorRecordedDataCb which is called in
ReadRecorderDataImpl function which has mutex locked there. Because of
that there was a deadlock.

Change-Id: I0ef35bb9674b50e9314e037fcf0ceb6feb82e084

src/humanactivitymonitor/humanactivitymonitor_manager.cc

index 67031e393fc4c895101a46ae879f4c2388888a8c..3e54beec9bca5298bc6d6fcee634effc59a94454 100644 (file)
@@ -661,7 +661,6 @@ class HumanActivityMonitorManager::Monitor::SensorMonitor
 
   void addRecordedData(picojson::value* data) {
     ScopeLogger();
-    std::lock_guard<std::mutex> lock(mutex_);
     recorded_data_->push_back(*data);
   }