|
From: | kyle.unice |
Subject: | [Discuss-gnuradio] rpcmanager bug |
Date: | Mon, 3 Oct 2016 14:08:04 +0000 |
When running with –DENABLE_PERFORMANCE_COUNTERS I setup a simple graph including “Control Port Monitor” and “Performance counters”. When I run the graph I get a general
protection page fault in the code that calls rpcmanager::get(). Turns out rpcmanager::get() returns NULL. It looks like the library (libgnuradio_runtime.so) is getting initialized and the code below is called setting up the ‘boot’ static structure: gnuradio-runtime/lib/controlport/rpcmanager.cc bool rpcmanager::booter_registered(false); bool rpcmanager::aggregator_registered(false); std::auto_ptr<rpcserver_booter_base> rpcmanager::boot(0); std::auto_ptr<rpcserver_booter_aggregator> rpcmanager::aggregator(0); but then the ‘init’ function for the shared library gets called again which zeros out the boot pointer.
This is the first time the boot pointer initializes.
#0 rpcmanager::register_booter (booter=0x10074ee0) at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcmanager.cc:51 #1 0x00003fffb089acf8 in rpcserver_booter_register_helper ( this=0x3fffb0a535f0 <boot_thrift>) at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/include/gnuradio/rpcmanager.h:46 #2 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcserver_selector.cc:39 #3 _GLOBAL__sub_I_rpcserver_selector.cc(void) () at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcserver_selector.cc:39 #4 0x00003fffb09ac03c in .__do_global_ctors_aux () from /usr/lib64/libgnuradio-runtime-3.7.10.so.0.0.0 #5 0x00003fffb088ff4c in ._init () from /usr/lib64/libgnuradio-runtime-3.7.10.so.0.0.0 #6 0x00003fffb7fda048 in call_init (l=0x1054a800, argc=<optimized out>, ---Type <return> to continue, or q <return> to quit— The is the second time the shared library init gets called zering out the boot pointer. Old value = (rpcserver_booter_base *) 0x10074ee0 New value = (rpcserver_booter_base *) 0x0 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcmanager.cc:29 29 std::auto_ptr<rpcserver_booter_base> rpcmanager::boot(0); (gdb) bt #0 __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcmanager.cc:29 #1 _GLOBAL__sub_I_rpcmanager.cc(void) () at /opt/QorIQ-SDK-V1.8-20150619-yocto/build_b4860qds-64b_release/tmp/work/ppc64e6500-fsl-linux/gnuradio/3.7.10-r0/git/gnuradio-runtime/lib/controlport/rpcmanager.cc:68 #2 0x00003fffb09ac03c in .__do_global_ctors_aux () from /usr/lib64/libgnuradio-runtime-3.7.10.so.0.0.0 #3 0x00003fffb088ff4c in ._init () from /usr/lib64/libgnuradio-runtime-3.7.10.so.0.0.0 #4 0x00003fffb7fda048 in call_init (l=0x1054a800, argc=<optimized out>, argv=0x3ffffffffad8, env=0x3ffffffffaf0) at dl-init.c:64 #5 0x00003fffb7fda20c in _dl_init (main_map=0x10507e20, argc=<optimized out>, argv=0x3ffffffffad8, env=0x3ffffffffaf0) at dl-init.c:126 #6 0x00003fffb7fe01fc in dl_open_worker (a=0x3fffffff5c20) at dl-open.c:566 #7 0x00003fffb7fd9e38 in _dl_catch_error (objname=0x3fffffff5c70, errstring=0x3fffffff5c68, mallocedp=0x3fffffff5c78, address@hidden: 0x3fffb7fdfc40 <dl_open_worker>, args=0x3fffffff5c20) at dl-error.c:187 #8 0x00003fffb7fdf4d8 in _dl_open ( ---Type <return> to continue, or q <return> to quit--- file=0x104f6a7c "/usr/lib64/python2.7/site-packages/gnuradio/gr/_runtime_swig.so", mode=<optimized out>, caller_dlopen=0x3fffb571c6dc <_PyImport_GetDynLoadFunc+412>, nsid=-2, argc=<optimized out>, argv=0x3ffffffffad8, env=0x3ffffffffaf0) at dl-open.c:650 #9 0x00003fffb2cfd7e0 in dlopen_doit (a=0x3fffffff61c0) at dlopen.c:66 #10 0x00003fffb7fd9e38 in _dl_catch_error (objname=0x1009ee50, errstring=0x1009ee58, mallocedp=0x1009ee48, address@hidden: 0x3fffb2cfd750 <dlopen_doit>, args=0x3fffffff61c0) at dl-error.c:187 #11 0x00003fffb2cfe284 in _dlerror_run ( address@hidden: 0x3fffb2cfd750 <dlopen_doit>, args=0x3fffffff61c0) at dlerror.c:163 #12 0x00003fffb2cfd8e4 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87 #13 0x00003fffb571c6dc in _PyImport_GetDynLoadFunc (fqname=<optimized out>, shortname=0x10371674 "_runtime_swig", pathname=0x104f6a7c "/usr/lib64/python2.7/site-packages/gnuradio/gr/_runtime_swig.so", fp=<optimized out>) at Python/dynload_shlib.c:130 #14 0x00003fffb56ffc34 in _PyImport_LoadDynamicModule ( name=0x10371674 "_runtime_swig", pathname=0x104f6a7c "/usr/lib64/python2.7/site-packages/gnuradio/gr/_runtime_swig.so", fp=0x10507be0) at ./Python/importdl.c:42 ---Type <return> to continue, or q <return> to quit— W. Kyle Unice Staff Engineer MS F1H03 322 North 2200 West Dock 3 Salt Lake City, Utah 84116-0850 Voice: 801-594-2687 |
[Prev in Thread] | Current Thread | [Next in Thread] |