From 55337c3876fa54863463ab7c30a7ed0fcb3c88e5 Mon Sep 17 00:00:00 2001 From: chenshijun <chenshijun@aiotlink.com> Date: 星期四, 21 三月 2019 14:43:15 +0800 Subject: [PATCH] facesearchserver出现段错误,map的operater[],疑似该处,加些调试信息。 --- QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp | 5 +++++ QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp | 3 +-- QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp index 4210f31..1c7ca29 100644 --- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp +++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp @@ -54,10 +54,13 @@ //#todo map 1->2 modify 2->1 bool FaceDBCompareServer::compare(thread::id key, AlarmData *alarmData, int topN) { + m_dbRWLocks_Lock.wrlock(); if (m_dbRWLocks.find(key) == m_dbRWLocks.end()) { m_dbRWLocks[key] = RWLock(); } RWLock &t_rwl = m_dbRWLocks[key]; + DBG("m_dbRWLocks ok"); + m_dbRWLocks_Lock.unlock(); // ClockTimer clockTimer("compare "); RWLock t_rwLock; @@ -116,7 +119,9 @@ int maxSearchFaces = alarmData->num; t_rwl.wrlock(); + DBG("topResult[key] before"); auto &t_topResult = topResult[key]; + DBG("topResult[key] ok"); t_topResult.clear(); for (auto &item : t_compareResults) { auto &it = item.second; diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h index da4bb96..0667bbf 100644 --- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h +++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h @@ -44,6 +44,7 @@ RWLock m_rwLock; std::mutex topResultMtx; std::map<std::thread::id, FaceResults> topResult; + RWLock m_dbRWLocks_Lock; std::map<std::thread::id, RWLock> m_dbRWLocks; ErlangTool::ErlangDbTool *m_erlangDbTool; diff --git a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp index 60c32ed..db69b5f 100644 --- a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp +++ b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp @@ -75,8 +75,7 @@ appPref.setIntData("yolo.port", 10003); // rpcClient(appPref.getStringData("yolo.proxy"), appPref.getStringData("yolo.ip"), appPref.getLongData("yolo.port"),"tcp"), - Controllor *_Controllor = new Controllor(1, - "/home/pans/work/qiaojia/cut/44120000001325000005/201903/06/2019030617/44120000001325000005$2019-03-06-17-51-53_4747_4946.mp4"); + Controllor *_Controllor = new Controllor(1, "/home/basic/geth264.h264"); _Controllor->start(); getchar(); -- Gitblit v1.8.0