Closed tkdlqm2 closed 3 years ago
memory dedup issue : 기존에 잘 기능했던 memory dedup은 develop branch에서 개발하지 않고 317번 branch에서 개발을 하였습니다. 현재 공인인증 테스트 branch를 하나로 합치려는 이슈가 있어서 develop branch에서 memory dedup test를 개발할 때 shadow에서 freezing현상이 발생하였습니다.
원인 : develop branch에서 powBlock 에서 powBlock.str()
수행 과정에서 shadow context의locale
이 사용이 됩니다. shadow에서 locale이 사용될 시 pthread_once -> futex_wait 프로세스 순으로 진행됩니다. 그렇기에 모든 thread가 futex_wait로 인해 멈춰버립니다.
해결 : 별도의 rawstr() 함수를 만들어서 우회하는 식으로 개발하였습니다. (현진씨가 해결)
How to reproduce
[memory deduplication]
python setup.py --bitcoin; python setup.py --test
cd cert/memory
python ps_script.py
[TPS]
python setup.py --bitcoin; python setup.py --test
cd cert/perf/TPS
python cert_tps.py
[Latency]
python setup.py --bitcoin; python setup.py --test
cd cert/perf/Latency
python cert_latency.py
hotfix branch로 관리하겠습니다.