issues
search
cryptogarageinc
/
cfd
Crypto Finance Development Kit
MIT License
0
stars
2
forks
source link
MSVCとmingwでのcoinselectionの差異についての調査
#334
Closed
k-matsuzawa
closed
3 years ago
k-matsuzawa
commented
3 years ago
Overview
MSVCとmingwでのcoinselectionの差異についての調査を行う。
cfd-goで同じ結果にならないのがきっかけではあったが、調査したところ、そもそもmingwとMSVCで違いが出ていた。
ただ、CI上だとMSYS上のmingwとの違いはなかったため、原因の絞り込みを行う。
何かしらメモリ破壊などを起こしていそうなのだが、linux版のvalgrindでは検出できず。よってソースコードではなくmingw側の何かしらの問題の可能性を考慮。
Sub tasks
[x] 調査 (8.0h -> 6.0h)
[x] 修正 ( -> 2.5h)
Completion condition
原因の特定が行えること。
k-matsuzawa
commented
3 years ago
発生ケース:
特定のテストコードによるもの。直近で修正した、2度目のCoinSelectionを行うルートに入るケースとなる。
原因:
UTXO用Feeの加算処理によるもの。
最適化により、コンパイラによって処理が変わる現象が起きていた。
このロジック自体は必要だったが、実行すべきタイミングがそもそも違っていた(新規Fee計算前に実施が必要)
ロジック修正により結局解消。
Overview
Sub tasks
Completion condition