我卡在2271块了,从日志很容易发现问题,是本地验证没通过,和以前卡住的原因不同。
64位无符号整数相加的结果赋值给64位有符号整数,结果溢出了。
5837168575529231657 + 5837448775871972696 - 2^64 = -6772126722308347263
如果赋值给无符号整数就不会溢出
5837168575529231657 + 5837448775871972696 = 11674617351401204353
看来有人下了一个很变态的单
20140716T031500.018909 th_a execute ] xts_fees_collected: {"amount":5837168575529231657,"asset_id":0} xts_paid_by_ask: {"amount":5837448775874750446,"asset_id":0} xts_received_by_bid: {"amount":2777750,"asset_id":0} quote_quantity: {"amount":166665,"asset_id":22} chain_database.cpp:147
20140716T031500.019066 th_a extend_chain ] error applying block: 30002 addition_overflow: addition overflow
asset addition overflowed {"amount":5837168575529231657,"asset_id":0} + {"amount":5837448775871972696,"asset_id":0} = {"amount":-6772126722308347263,"asset_id":0}
{"a":{"amount":5837168575529231657,"asset_id":0},"b":{"amount":5837448775871972696,"asset_id":0},"c":{"amount":-6772126722308347263,"asset_id":0}}
th_a asset.cpp:29 operator+=
{"quote_id":22,"base_id":0}
th_a chain_database.cpp:310 execute
{}
th_a chain_database.cpp:1110 execute_markets chain_database.cpp:1170