Skip to content
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

Segmentation Fault when running graph algorithms #15

Open
vaastav opened this issue Sep 24, 2019 · 8 comments
Open

Segmentation Fault when running graph algorithms #15

vaastav opened this issue Sep 24, 2019 · 8 comments

Comments

@vaastav
Copy link

vaastav commented Sep 24, 2019

Hi I am trying to run the graph algorithms in the toolkits on cit-Patents but I keep getting the following error :

[hennessy:05177] *** Process received signal ***
[hennessy:05177] Signal: Segmentation fault (11)
[hennessy:05177] Signal code: Invalid permissions (2)
[hennessy:05177] Failing at address: 0x7f1ad8050d04
[hennessy:05177] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f1af0ee9390]
[hennessy:05177] [ 1] ./cc[0x415077]
[hennessy:05177] [ 2] ./cc[0x40a332]
[hennessy:05177] [ 3] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f1af0b2e830]
[hennessy:05177] [ 4] ./cc[0x4099b9]
[hennessy:05177] *** End of error message ***
Segmentation fault (core dumped)

The command I am running is
./pagerank /path/to/cit-patents.binedgelist 3774768

Any help would be appreciated!

@coolerzxw
Copy link
Member

Hi. Can you give more detailed information (e.g. where the error took place)?

@vaastav
Copy link
Author

vaastav commented Sep 24, 2019

According to gdb, the segfaulting line is core/graph.hpp:819 on __sync_fetch_and_add(&out_degree[src],1) but the address that its segfaulting on doesn't seem to map to any variable.

@coolerzxw
Copy link
Member

This may happen when the max vertex id >= |V| (3774768 in your case). You can solve this by either giving the max vertex id + 1 as |V| or remapping the input graph so that vertex ids fit into [0, |V|).

@vaastav
Copy link
Author

vaastav commented Sep 26, 2019

I tried using the max vertex id + 1 and I don't get a segfault anymore.
But, when I tried it with pagerank for 20 iterations, the execution did not finish at all and I let it run for nearly 40 minutes. Also, the execution did not print out any output whatsoever. I am not particularly sure what is going on.
The load_directed method never seems to finish. I am not sure if the preprocessing time should be taking this long.

@coolerzxw
Copy link
Member

That is strange. Can you locate where the program stucks?

@vaastav
Copy link
Author

vaastav commented Sep 26, 2019

Yes, it is getting stuck in the while loop at
https://github.com/thu-pacman/GeminiGraph/blob/master/core/graph.hpp#L1083

Sometimes it stops after 1 iteration, sometimes after 2 iterations.

@vaastav
Copy link
Author

vaastav commented Sep 27, 2019

This seems to be coming from using the openmpi library instead of the mpich library. Everything works with the mpich library as far as I can tell

@coolerzxw
Copy link
Member

Well, I cannot tell why it got stuck here... What are the versions of OpenMPI and compiler you used?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants