# Control Port : Ctrlport Key called with unregistered key

**URL:** <https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598>\
**Category:** GNU Radio\
**Created:** [June 25, 2014, 1:50pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598 "2014-06-25T13:50:28Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![jason\_sam](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/7993a0/32.png) [@jason\_sam](https://www.ruby-forum.com/u/jason_sam)\
**Post date:** [June 25, 2014, 1:50pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/1 "2014-06-25T13:50:28Z")

</div>

I was trying to use gr-perf-monitorx while running Bastian’s  
gr-ieee80211  
project. I was encountering the following error :

{  
unknown =  
/home/harsha\_sdr/.Repos/gnuradio/gnuradio-runtime/include/gnuradio/rpcserver\_ice.h:119:  
IceUtil::IllegalArgumentException: Ctrlport Key called with unregistered  
key (ofdm\_preamble0::output % full)

I read about the possible reason for the error and updated  
gnuradio-runtime.conf . It now stands as

[DEFAULT]  
verbose = False

# The maximum number of messages a block will store up before pruning

# the queue by popping messages from the front.

max\_messages = 100

[LOG]

# Levels can be (case insensitive):

# DEBUG, INFO, WARN, TRACE, ERROR, ALERT, CRIT, FATAL, EMERG

log\_level = debug  
debug\_level = emerg

# These file names can either be ‘stdout’ to output to standard output

# or ‘stderr’ to output to standard error. Any other string will

# create a file in which to output the logging information. An empty

# string or no value here will ignore this level of configuration

# completely.

log\_file = stdout  
debug\_file = stderr

# Used for advanced configuration of the logger

#log\_config = /usr/local/etc/gnuradio/gr\_log\_default.xml

[PerfCounters]  
on = True  
export = True  
clock = thread  
#clock = monotonic

[ControlPort]  
on = True  
edges\_list = True  
config = # /usr/local/etc/gnuradio/ctrlport.conf

I am stilling facing the error , even after making the changes as  
suggested  
on the Control Port usage page. Can someone explain what is going wrong  
?

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 25, 2014, 3:51pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/2 "2014-06-25T15:51:14Z")

</div>

How did you install GNURadio? The error suggests to me that performance  
counters were not enabled at compile time. There is some information  
about  
enabling performance counters on the wiki page:  
[http://gnuradio.org/redmine/projects/gnuradio/wiki/PerformanceCounters](http://gnuradio.org/redmine/projects/gnuradio/wiki/PerformanceCounters)

Good luck,  
Doug

On Wed, Jun 25, 2014 at 7:48 AM, Shashank S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 25, 2014, 3:54pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/3 "2014-06-25T15:54:13Z")

</div>

I don’t think so. ctrlport-monitor works fine.

On Wed, Jun 25, 2014 at 7:19 PM, Douglas G. \<

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 25, 2014, 3:57pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/4 "2014-06-25T15:57:12Z")

</div>

On Wed, Jun 25, 2014 at 9:51 AM, Shashank S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> I don’t think so. ctrlport-monitor works fine.

ctrlport-monitor doesn’t use Performance Counters.

Tom

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 25, 2014, 4:36pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/5 "2014-06-25T16:36:27Z")

</div>

Hi Shashank,

On 06/25/2014 01:48 PM, Shashank S. wrote:

> I was trying to use gr-perf-monitorx while running Bastian’s  
> gr-ieee80211 project. I was encountering the following error :

I just reran the example and it works for me, but maybe you can run the  
performance monitor for a simple flow graph with GNU Radio blocks only,  
just to assure that the error is not related to the 802-11 stuff…

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 25, 2014, 3:53pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/6 "2014-06-25T15:53:37Z")

</div>

On Wed, Jun 25, 2014 at 7:48 AM, Shashank S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> gnuradio-runtime.conf . It now stands as
> 
> # Levels can be (case insensitive):
> 
> debug\_file = stderr
> 
> [ControlPort]  
> on = True  
> edges\_list = True  
> config = # /usr/local/etc/gnuradio/ctrlport.conf
> 
> I am stilling facing the error , even after making the changes as  
> suggested on the Control Port usage page. Can someone explain what is going  
> wrong ?

What version of GNU Radio are you running, and are you certain that  
Performance Counters have been built into your system? Prior to version  
3.7.3, Performance Counters were disabled by default at compile time.  
You  
would have to add the -DENABLE\_PERFORMANCE\_COUNTERS=True to cmake to  
compile them in. Version 3.7.3 now enables these by default.

You can tell if your installation supports Performance Counters by  
looking  
at $prefix/gnuradio/config.h and seeing if there is a line:

#define GR\_PERFORMANCE\_COUNTERS

Tom

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 26, 2014, 6:14pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/7 "2014-06-26T18:14:08Z")

</div>

I re-installed UHD drivers, GNU Radio as well as gr-foo and gr-ieee80211  
.  
I started to run the transmitter with Performance Monitor but got the  
following error:

ctrlport-monitor: radio.get threw exception (math domain error).

I tried looking for an explanation online but was unsuccessful. Any  
ideas  
to the reason for the error. I am pretty sure it is not related to  
gr-ieee80211.

Specs:  
GNU Radio - 3.7.3  
UHD Driver - 3.7.1  
RF Front-End - NI USRP- 2920  
OS - Ubuntu 12.04

On Wed, Jun 25, 2014 at 8:04 PM, Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Shashank\_S](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/e0b2c6/32.png) [@Shashank\_S](https://www.ruby-forum.com/u/Shashank_S)\
**Post date:** [June 26, 2014, 8:57pm UTC](https://www.ruby-forum.com/t/control-port-ctrlport-key-called-with-unregistered-key/230598/8 "2014-06-26T20:57:01Z")

</div>

On Thu, Jun 26, 2014 at 12:12 PM, Shashank S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Specs:  
> GNU Radio - 3.7.3  
> UHD Driver - 3.7.1  
> RF Front-End - NI USRP- 2920  
> OS - Ubuntu 12.04

Are you running gr-ctrlport-monitor from the command line or using the  
GRC  
block?

If using this the latter way, I’ve noticed this happening on very  
complex  
flowgraphs. I think it basically makes a call to the flowgraph that the  
flowgraph doesn’t properly respond to or provides a 0 result. If you  
launch  
the flowgraph first and then call the gr-ctrlport-monitor from the  
command  
line in a terminal, instead, the problem should go away.

Also, you could try running a simpler flowgraph just to verify that this  
and the performance monitor tool are working in a more controlled  
experiment.

Also, can you get the line number for where the assertion is coming  
from?  
It’d be good if we could put a check in there to prevent it from  
crashing  
like this.

Thanks,  
Tom
