You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Addresse a = getAddressFromString("12D5aJQQ7JsRdh42wdMwBFLYVLSFmh2RY2", ...)
if(a){
Cluster c = cm.getCluster(a,...);
auto addresses = c.getAddresses() | ranges::to_vector; <----- Crash here
}
System Information
BlockSci version: 0.6
Using AMI: no
Total memory:64Gb
The text was updated successfully, but these errors were encountered:
We previously relied on the loop being in ascending order to overwrite smaller values when there duplicate keys, which holds on MacOS but not on Ubuntu 16.04. On Ubuntu, when an address type wasn’t used (producing duplicate keys), the lower address type would be stored in the map, and as a result addresses were being serialized with the wrong address type. This would then lead to segfaults when trying to re-instantiate these addresses (e.g., when iterating over addresses in a cluster).
Fixes: #256, #273
This should be fixed now with the latest v0.6, you'll need to re-run the clustering.
There was an issue where, if there were no addresses of type WITNESS_UNKNOWN, then during clustering addresses of type NONSTANDARD were serialized as WITNESS_UNKNOWN, leading to the crash when trying to reinstantiate these addresses.
Curiously, this only happened on Ubuntu, where a map was iterated over in a different order than on MacOS.
Execute the code below makes BlockSci crashes
Expected Result
Get addresses from the mega clusters
Actual Result
SIGSEGV
Reproduction Steps
System Information
BlockSci version: 0.6
Using AMI: no
Total memory:64Gb
The text was updated successfully, but these errors were encountered: