I am working with gnuradio 3.7.2git-28-g639e154d and I have a hierarchical block with a message output that I have been using as part of a larger flowgraph. Yesterday I found that whenever I call msg_disconnect on the top block with the hier block as the source, I get an error logged about it having no subscribers. I verified this by printing out the subscribers in calls to message_port_sub and message_port_unsub.
It seems that when you call msg_connect, the call to message_port_sub is not made until the flowgraph has been flattened, so the subscription does not belong to the hier block, it belongs to the block inside the hier block that has the message output. However, when you call msg_disconnect, it simply attempts to call message_port_unsub on on the hier block, which fails, as the hier block has no subscriptions.
To get around this, I simply commented out the call to message_port_unsub in msg_disconnect, but this isn't ideal and won't fix the problem in all cases.
So my question is, is this a bug? If so, is it known about, and if not can an issue please be raised to track it?
Thanks,
Mark