discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] rpcmanager bug


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.


(gdb) bt

#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

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]