{"action":"created","issue":{"url":"https://api.github.com/repos/SCOREC/EnGPar/issues/16","repository_url":"https://api.github.com/repos/SCOREC/EnGPar","labels_url":"https://api.github.com/repos/SCOREC/EnGPar/issues/16/labels{/name}","comments_url":"https://api.github.com/repos/SCOREC/EnGPar/issues/16/comments","events_url":"https://api.github.com/repos/SCOREC/EnGPar/issues/16/events","html_url":"https://github.com/SCOREC/EnGPar/issues/16","id":283657854,"number":16,"title":"bfs push segfault at 128Ki","user":{"login":"cwsmith","id":1024438,"avatar_url":"https://avatars3.githubusercontent.com/u/1024438?v=4","gravatar_id":"","url":"https://api.github.com/users/cwsmith","html_url":"https://github.com/cwsmith","followers_url":"https://api.github.com/users/cwsmith/followers","following_url":"https://api.github.com/users/cwsmith/following{/other_user}","gists_url":"https://api.github.com/users/cwsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/cwsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwsmith/subscriptions","organizations_url":"https://api.github.com/users/cwsmith/orgs","repos_url":"https://api.github.com/users/cwsmith/repos","events_url":"https://api.github.com/users/cwsmith/events{/privacy}","received_events_url":"https://api.github.com/users/cwsmith/received_events","type":"User","site_admin":false},"labels":[{"id":257744099,"url":"https://api.github.com/repos/SCOREC/EnGPar/labels/bug","name":"bug","color":"fc2929","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-12-20T18:39:08Z","updated_at":"2017-12-27T15:25:52Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"\r\n[debug128Ki.tar.gz](https://github.com/SCOREC/EnGPar/files/1576668/debug128Ki.tar.gz)\r\nIn a run of `balanceMesh` on 128Ki processes of Mira, on the phasta 1B element (tets) mesh, two processes segfault.  This appears to be a regression.  \r\n\r\nThe stack trace is below:\r\n```\r\n/gpfs/mira-home/cwsmith/projects/EnGPar/partition/Diffusive/src/engpar_queue.cpp:290\r\n/gpfs/mira-home/cwsmith/projects/EnGPar/partition/Diffusive/src/engpar_balancer.cpp:112\r\n/gpfs/mira-home/cwsmith/projects/EnGPar/partition/Diffusive/src/engpar_balancer.cpp:251\r\n/gpfs/mira-home/cwsmith/projects/EnGPar/test/balanceMesh.cpp:69\r\n```\r\n\r\nAttached are the two part files for the failed processes.  They can be converted to graphs using the following sequence of utilities from pumi and engpar:\r\n```\r\nbunzip2 97580.smb\r\nmv  97580.smb.out 97580_nobz.smb\r\nloadPart 97580_nobz.smb 97580_serial.smb 97580.dmg  # pumi utility\r\ntestFileIO 97580.dmg 97580_serial.smb 97580 0 # engpar utility\r\ntestDistanceQueue 97580 # engpar utility\r\n```\r\n\r\nNote, valgrind does not report any errors in `testDistanceQueue` on the 97580 graph (output by `testFileIO`).\r\n\r\nThe cobalt log files are also attached.\r\n\r\n[debug128Ki.tar.gz](https://github.com/SCOREC/EnGPar/files/1576669/debug128Ki.tar.gz)\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/SCOREC/EnGPar/issues/comments/354129265","html_url":"https://github.com/SCOREC/EnGPar/issues/16#issuecomment-354129265","issue_url":"https://api.github.com/repos/SCOREC/EnGPar/issues/16","id":354129265,"user":{"login":"cwsmith","id":1024438,"avatar_url":"https://avatars3.githubusercontent.com/u/1024438?v=4","gravatar_id":"","url":"https://api.github.com/users/cwsmith","html_url":"https://github.com/cwsmith","followers_url":"https://api.github.com/users/cwsmith/followers","following_url":"https://api.github.com/users/cwsmith/following{/other_user}","gists_url":"https://api.github.com/users/cwsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/cwsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cwsmith/subscriptions","organizations_url":"https://api.github.com/users/cwsmith/orgs","repos_url":"https://api.github.com/users/cwsmith/repos","events_url":"https://api.github.com/users/cwsmith/events{/privacy}","received_events_url":"https://api.github.com/users/cwsmith/received_events","type":"User","site_admin":false},"created_at":"2017-12-27T15:25:52Z","updated_at":"2017-12-27T15:25:52Z","author_association":"CONTRIBUTOR","body":"We have the `.bgd` graph files from another failed 128Ki run.  The process that fails writes a graph that runs successfully through 'testGraphDistance'... but valgrind does find two invalid reads!\r\n\r\nThe full set of 128Ki log files, the stack/core files, and the valgrind log are attached:\r\n[1360024.tar.gz](https://github.com/SCOREC/EnGPar/files/1589309/1360024.tar.gz)\r\n\r\nBelow are the invalid reads from valgrind:\r\n```\r\n4419 0 bfs_push depth 7\r\n4420 0 done bfs_push distance_visit\r\n4421 ==23268== Invalid read of size 4\r\n4422 ==23268==    at 0x45CAA5: engpar::createDistanceQueue(agi::Ngraph*) (engpar_queue.cpp:351)\r\n4423 ==23268==    by 0x43B0AE: main (testDistanceQueue.cpp:22)\r\n4424 ==23268==  Address 0x12b818cc is 4 bytes before a block of size 32 free'd\r\n4425 ==23268==    at 0x4C28374: operator delete(void*) (vg_replace_malloc.c:480)\r\n4426 ==23268==    by 0x447F5F: agi::EdgeIterator::~EdgeIterator() (EdgeIterator.h:14)\r\n4427 ==23268==    by 0x4498E5: agi::Ngraph::destroy(agi::EdgeIterator*) const (agiIterate.cpp:86)\r\n4428 ==23268==    by 0x45BBE1: engpar::bfs_push(agi::Ngraph*, int, long, int, bool (*)(engpar::Inputs*, long, long), engpar::Inputs*) (engpar_queue.cpp:172)\r\n4429 ==23268==    by 0x45C941: engpar::createDistanceQueue(agi::Ngraph*) (engpar_queue.cpp:330)\r\n4430 ==23268==    by 0x43B0AE: main (testDistanceQueue.cpp:22)\r\n4431 ==23268==\r\n4432 ==23268== Invalid read of size 4\r\n4433 ==23268==    at 0x45CA82: engpar::createDistanceQueue(agi::Ngraph*) (engpar_queue.cpp:352)\r\n4434 ==23268==    by 0x43B0AE: main (testDistanceQueue.cpp:22)\r\n4435 ==23268==  Address 0x12b818cc is 4 bytes before a block of size 32 free'd\r\n4436 ==23268==    at 0x4C28374: operator delete(void*) (vg_replace_malloc.c:480)\r\n4437 ==23268==    by 0x447F5F: agi::EdgeIterator::~EdgeIterator() (EdgeIterator.h:14)\r\n4438 ==23268==    by 0x4498E5: agi::Ngraph::destroy(agi::EdgeIterator*) const (agiIterate.cpp:86)\r\n4439 ==23268==    by 0x45BBE1: engpar::bfs_push(agi::Ngraph*, int, long, int, bool (*)(engpar::Inputs*, long, long), engpar::Inputs*) (engpar_queue.cpp:172)\r\n4440 ==23268==    by 0x45C941: engpar::createDistanceQueue(agi::Ngraph*) (engpar_queue.cpp:330)\r\n4441 ==23268==    by 0x43B0AE: main (testDistanceQueue.cpp:22)\r\n4442 ==23268==\r\n```"}}
{"actor":{"display_login":"cwsmith"}}