Closed ms705 closed 9 years ago
Hmm, this appears to be related to a local change of mine (i.e. upstream isn't broken).
I changed the signature of AddResource
to take a RTND*
rather than a ResourceDescriptor*
in order to be able to traverse the resource topology in the cost models. As part of this, I replaced instances of DFSTraverseResourceProtobufTree
with DFSTraverseResourceProtobufTreeReturnRTND
, which seems to introduce the error.
I'll debug this further; the change should be innocuous, but clearly introduces problems.
And relatedly, I'm nevertheless unsure that the two nested BFS traversals are required.
Fixed in a5c08d8be57a3f03387862e9ecd07e77b6c712fc -- the problem was the nesting of DFS and BFS invocations. Transforming the outermost invocation to a BFS fixed the problem (modulo the necessity of nested traversals).
When running the coordinator with a flow scheduler and any cost model, it crashes on startup (as of recent versions):
It looks to me like we've got two nested BFS traversals going on here, one triggered from
FlowGraph::UpdateResourceTopology
and one fromFlowGraph::AddResourceTopology
, which seems a bit funky. I believe this was introduced by 502af61f4b1b47b6ae0d5f120716446d0df50b05 viaFlowGraph::AddMachine
, but it's not the root of the problem -- if I changeFlowGraph::AddMachine
to callFlowGraph::AddResourceTopology
directly, things still fail.Any ideas? (@ICGog?)