-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: Core dump and Segfault when calculating Network.nsi_betweenness()
centrality
#142
Comments
- Single-source Cython/C type definitions: `core._ext.types` - Introduce semantic type aliases: ADJ, NODE, DEGREE, WEIGHT, FIELD, etc. - Remove deprecated type aliases: `np.{int|float}` - Replace C type aliases by Numpy type aliases - Add missing Numpy type casts before Python/Cython boundary - Disambiguate `timeseries._ext.numerics._twin_surrogates_{s|r}` (blame: 098489b & 2f6a5b9) - Fix some broken output pointers - Reduce redundant copying - Vectorize some simple Python loops - Eliminate some dead code - Potentially related issues: #128, #141, #142, #145
Network.nsi_betweenness()
centrality
Could not reproduce this, Assuming this has been resolved by @ntfrgl's recent fixes in the Cython/C modules, and hence closing the issue. |
@fkuehlein, I don't think that you have provided sufficient reason for closing this issue: The work you mentioned on the Cython/C method signatures wouldn't concern an indexing error deeply inside a Cython function, and you could in principle, say, spin up a moderately sized Amazon Elastic Compute Cloud instance to obtain enough RAM for reproducing the issue. Nonetheless, I agree with closing the issue for now. My commit above removes some obvious slowdowns in the method, after which I successfully tested it on a random network with slightly higher node and edge counts than the bug report: from pyunicorn import Network
net = Network.Model("ErdosRenyi", n_nodes=26000, link_probability=.2)
btw = net.nsi_betweenness(parallelize=True) The explanation suggested by the issue author is unfortunately incorrect: As is now explicitly asserted, the array In contrast, the error message above appears to have |
Right, I was a bit too quick to conclude there.. All the more thanks for your speedup work and for providing good reference and documentation! |
I am currently trying to calculate the nsi_betweenness of my directed graph. printing my network object gives me
Network: undirected, 25600 nodes, 61761383 links, link density 0.188.
I tried to find the error with gdb and it seems to happen because of indexerrors in the cython function _nsi_betweenness.
I think that the problem lies in the indexing via the degree.
Some arrays in the function are of size [0,E] with E being the number of edges/links and indexing is done via the sum of degrees, which can be of size [0,2*E]. that results in a segmentation error.
running gdp python on the core dump file lead to this:
running gdb python again with the _nsi_betweenness function now pythonized lead to this:
The text was updated successfully, but these errors were encountered: