[USRP-users] Error in function boost::math::iround<d>(d) in N200

Josh Blum josh at ettus.com
Wed Feb 8 12:59:52 EST 2012



On 02/08/2012 08:52 AM, Yubo Yan wrote:
> Hi,
> 
> Recently, I transform my OFDM code from USRP1 to N200 platform. My program
> runs well under USRP1 platform. But when I run the sender side code under
> N200 platform, the program aborted after sending several packets with the
> following tips:
> 
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::math::rounding_error>
>> '
> what():  Error in function boost::math::iround<d>(d): Value
> -1.1320951704841588e+52 can not be represented in the target integer type.
> 
> However, the receiver side program can receive the first 6 packets.
> 
> When I run the sender side code in gdb, it shows the following content:
> 
> ...
> 1328719879.791: Send packet  135
> 1328719879.791: Send packet  136
> 1328719879.791: Send packet  137
> terminate called after throwing an instance of
> 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::math::rounding_error>
>> '
> 1328719879.791: Send packet  138
>   what():  Error in function boost::math::iround<d>(d): Value
> -1.1320951704841588e+52 can not be represented in the target integer type.
> 1328719879.791: Send packet  139
> 1328719879.792: Send packet  140
> 1328719879.792: Send packet  141
> 1328719879.792: Send packet  142
> 1328719879.792: Send packet  143
> 1328719879.792: Send packet  144
> 1328719879.792: Send packet  145
> 1328719879.792: Send packet  146
> 
> Program received signal SIGABRT, Aborted.
> [Switching to Thread 0xad4f1b70 (LWP 11811)]
> 0x0012e416 in __kernel_vsyscall ()
> (gdb) bt
> #0  0x0012e416 in __kernel_vsyscall ()
> #1  0x0034e941 in raise (sig=6) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #2  0x00351e42 in abort () at abort.c:92
> #3  0x00aa2055 in __gnu_cxx::__verbose_terminate_handler() ()
>    from /usr/lib/libstdc++.so.6
> #4  0x00a9ff35 in ?? () from /usr/lib/libstdc++.so.6
> #5  0x00a9eceb in ?? () from /usr/lib/libstdc++.so.6
> #6  0x00a9f877 in __gxx_personality_v0 () from /usr/lib/libstdc++.so.6
> #7  0x00af47e2 in ?? () from /lib/libgcc_s.so.1
> #8  0x00af4c53 in _Unwind_Resume () from /lib/libgcc_s.so.1
> #9  0x007b7080 in gr_block_executor::~gr_block_executor() ()
>    from /opt/gnuradio/lib/libgnuradio-core-3.5.2git.so.0.0.0
> #10 0x007d9b61 in
> gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptr<gr_block>, int) ()
> from /opt/gnuradio/lib/libgnuradio-core-3.5.2git.so.0.0.0
> #11 0x007d2c5c in
> boost::detail::function::void_function_obj_invoker0<gruel::thread_body_wrapper<tpb_container>,
> void>::invoke(boost::detail::function::function_buffer&) () from
> /opt/gnuradio/lib/libgnuradio-core-3.5.2git.so.0.0.0
> #12 0x00951fb5 in boost::detail::thread_data<boost::function0<void>
>> ::run() ()
>    from /opt/gnuradio/lib/libgruel-3.5.2git.so.0.0.0
> #13 0x009e90f5 in thread_proxy () from /usr/lib/libboost_thread.so.1.42.0
> #14 0x00134cc9 in start_thread (arg=0xad4f1b70) at pthread_create.c:304
> #15 0x003f469e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
> (gdb)
> 
> 
> It would be appreciated if any suggestion to address this error could
> provided!
> 

The traceback doesnt seem to go any deeper than gr_block_executor.
But, I believe this is a bug of an un-initialized variable:
http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions/5b06adb7911727353938df84a0a6b71cda66c95c

If you are running off of the master branch, just update to get the fix.

-Josh




More information about the USRP-users mailing list