discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Thread deadlock in GNU Radio?


From: Andrew Ge
Subject: [Discuss-gnuradio] Thread deadlock in GNU Radio?
Date: Mon, 29 Nov 2010 11:55:39 -0500
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101027 Thunderbird/3.1.6

Eric,

In my experiments, I had one transmitter and one receiver, which used tunnel.py for communicating with each other. Occasionally, I got the problem that one radio stopped receiving, but could still transmit. I used TX and RX printings to observe this behavior. In the receiving path, there is one thread to put received packets into a queue and another thread to read out the packets from this queue. Is it possible that these two threads can get deadlocked?

Once the above behavior happened, I used oprifile to see what's still running, here is the data:


CPU: Core 2, speed 1600 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with a unit mask of 0x00 (Unhalted core cycles) count 50000 samples % image name app name symbol name 505795 36.8303 /no-vmlinux /no-vmlinux /no-vmlinux 91821 6.6861 /lib/libgcc_s.so.1 /lib/libgcc_s.so.1 /lib/libgcc_s.so.1 63582 4.6298 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_block_executor::run_one_iteration() 62849 4.5765 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_fast_atan2f(float, float) 52437 3.8183 /lib/tls/i686/cmov/libm-2.11.1.so /lib/tls/i686/cmov/libm-2.11.1.so /lib/tls/i686/cmov/libm-2.11.1.so 41528 3.0239 /lib/tls/i686/cmov/libpthread-2.11.1.so /lib/tls/i686/cmov/libpthread-2.11.1.so pthread_mutex_lock 40215 2.9283 /usr/lib/libfftw3f.so.3.2.4 /usr/lib/libfftw3f.so.3.2.4 /usr/lib/libfftw3f.so.3.2.4 32285 2.3509 /lib/tls/i686/cmov/libpthread-2.11.1.so /lib/tls/i686/cmov/libpthread-2.11.1.so __pthread_mutex_unlock_usercnt 27639 2.0126 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 ccomplex_dotprod_sse 25218 1.8363 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_clock_recovery_mm_ff::general_work(int, std::vector<int, std::allocator<int> >&, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&) 24609 1.7919 /lib/tls/i686/cmov/libc-2.11.1.so /lib/tls/i686/cmov/libc-2.11.1.so /lib/tls/i686/cmov/libc-2.11.1.so 23391 1.7033 /usr/bin/python2.6 /usr/bin/python2.6 /usr/bin/python2.6 22216 1.6177 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_fir_ccc_simd::filter(std::complex<float> const*) 19529 1.4220 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gri_fft_filter_ccc_generic::filter(int, std::complex<float> const*, std::complex<float>*) 19382 1.4113 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 min_available_space(gr_block_detail*, int) 17852 1.2999 [vdso] (tgid:2135 range:0x5bd000-0x5be000) /usr/bin/python2.6 [vdso] (tgid:2135 range:0x5bd000-0x5be000) 17703 1.2891 /lib/tls/i686/cmov/libpthread-2.11.1.so /lib/tls/i686/cmov/libpthread-2.11.1.so pthread_cond_signal@@GLIBC_2.3.2 17030 1.2401 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_freq_xlating_fir_filter_ccc::work(int, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&) 15846 1.1539 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_tpb_detail::notify_downstream(gr_block_detail*) 15706 1.1437 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_tpb_detail::notify_upstream(gr_block_detail*) 15387 1.1204 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 float_dotprod_sse 14412 1.0494 /usr/bin/oprofiled /usr/bin/oprofiled /usr/bin/oprofiled 12486 0.9092 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_keep_one_in_n::general_work(int, std::vector<int, std::allocator<int> >&, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&) 12119 0.8825 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_quadrature_demod_cf::work(int, std::vector<void const*, std::allocator<void const*> >&, std::vector<void*, std::allocator<void*> >&) 11792 0.8587 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_count_bits32(unsigned int) 10476 0.7628 /usr/lib/libboost_thread.so.1.40.0 /usr/lib/libboost_thread.so.1.40.0 /usr/lib/libboost_thread.so.1.40.0 9285 0.6761 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gr_tpb_thread_body::gr_tpb_thread_body(boost::shared_ptr<gr_block>) 9073 0.6607 /lib/tls/i686/cmov/libpthread-2.11.1.so /lib/tls/i686/cmov/libpthread-2.11.1.so pthread_cond_wait@@GLIBC_2.3.2 8443 0.6148 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 gri_mmse_fir_interpolator::interpolate(float const*, float) const 7698 0.5605 /usr/local/lib/libusrp2-3.3.1git.so.0.0.0 /usr/local/lib/libusrp2-3.3.1git.so.0.0.0 usrp2::copy_u2_16sc_to_host_32fc(unsigned int, unsigned int const*, std::complex<float>*) 7512 0.5470 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 /usr/local/lib/libgnuradio-core-3.3.1git.so.0.0.0 __i686.get_pc_thunk.bx








reply via email to

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