discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Fwd: problem with top_block.stop()


From: Sumedha Goyal
Subject: [Discuss-gnuradio] Fwd: problem with top_block.stop()
Date: Wed, 18 Dec 2013 12:11:01 +0530



---------- Forwarded message ----------
From: Sumedha Goyal <address@hidden>
Date: Wed, Dec 18, 2013 at 12:04 PM
Subject: Re: [Discuss-gnuradio] problem with top_block.stop()
To: Tom Rondeau <address@hidden>


Hi
Following is my gdb backtrace output. Could this be of any help?
What should I look for in this backtrace to locate the problem?
Also, how should I specify breakpoints? I tried to give " (gdb) break tb.start() " but this says Function "tb.start()" not defined.

(gdb) thread apply all backtrace

Thread 10 (Thread 0x7f004e7fc700 (LWP 17803)):
#0  0x00007f00813ea763 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f007301149d in ?? () from /usr/local/lib/libuhd.so.003
#2  0x00007f00731a1a01 in ?? () from /usr/local/lib/libuhd.so.003
#3  0x00007f00731ab0b1 in ?? () from /usr/local/lib/libuhd.so.003
#4  0x00007f007322fa93 in ?? () from /usr/local/lib/libuhd.so.003
#5  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#6  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7f004effd700 (LWP 17802)):
#0  0x00007f008261c0fe in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007e9f0668 in boost::this_thread::sleep(boost::posix_time::ptime const&) () from /usr/lib/libboost_thread.so.1.48.0
#2  0x00007f00731b533e in ?? () from /usr/local/lib/libuhd.so.003
#3  0x00007f007322fa93 in ?? () from /usr/local/lib/libuhd.so.003
#4  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#5  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f004f7fe700 (LWP 17801)):
#0  0x00007f008261bd84 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007fa54be7 in Theron::Detail::ThreadPool<Theron::Detail::MailboxQueue<Theron::Detail::BlockingMonitor>, Theron::Detail::WorkerContext, Theron::Detail::MailboxProcessor>::ThreadEntryPoint(void*) ()
   from /usr/local/lib/libgras.so.0.0.0
#2  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#3  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f004ffff700 (LWP 17800)):
#0  0x00007f008261bd84 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007fa54be7 in Theron::Detail::ThreadPool<Theron::Detail::MailboxQueue<Theron::Detail::BlockingMonitor>, Theron::Detail::WorkerContext, Theron::Detail::MailboxProcessor>::ThreadEntryPoint(void*) ()
   from /usr/local/lib/libgras.so.0.0.0
#2  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#3  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f0064b62700 (LWP 17799)):
#0  0x00007f00813ea763 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x0000000000449ed3 in ?? ()
#2  0x0000000000486614 in PyEval_EvalFrameEx ()
#3  0x0000000000486e02 in PyEval_EvalFrameEx ()
#4  0x000000000048d930 in PyEval_EvalCodeEx ()
#5  0x00000000004243f0 in ?? ()
#6  0x00000000004f7496 in PyObject_Call ()
#7  0x000000000046762a in ?? ()
#8  0x00000000004f7496 in PyObject_Call ()
#9  0x00000000004f9032 in PyObject_CallMethodObjArgs ()
#10 0x00007f0075bb2664 in SwigDirector_BlockPython::_Py_work(std::vector<void*, std::allocator<void*> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&, std::vector<void*, std::allocator<void*> > const&, std::vector<unsigned long, std::allocator<unsigned long> > const&) ()
   from /usr/local/lib/python2.7/dist-packages/gras/_GRAS_PyBlock.so
#11 0x00007f0075bb5458 in gras::BlockPython::work(gras::WorkBufferArray<void con
st*> const&, gras::WorkBufferArray<void*> const&) ()
   from /usr/local/lib/python2.7/dist-packages/gras/_GRAS_PyBlock.so
#12 0x00007f007faa114c in gras::BlockActor::task_main() ()
   from /usr/local/lib/libgras.so.0.0.0
#13 0x00007f007fa93a19 in Theron::Detail::MessageHandler<gras::BlockActor, gras::SelfKickMessage>::Handle(Theron::Actor*, Theron::Detail::IMessage const*) ()
   from /usr/local/lib/libgras.so.0.0.0
#14 0x00007f007fa548bf in Theron::Detail::ThreadPool<Theron::Detail::MailboxQueue<Theron::Detail::BlockingMonitor>, Theron::Detail::WorkerContext, Theron::Detail::MailboxProcessor>::ThreadEntryPoint(void*) ()
   from /usr/local/lib/libgras.so.0.0.0
#15 0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#16 0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#17 0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#18 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f0065363700 (LWP 17798)):
#0  0x00007f008261bd84 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007fa54be7 in Theron::Detail::ThreadPool<Theron::Detail::MailboxQueue<Theron::Detail::BlockingMonitor>, Theron::Detail::WorkerContext, Theron::Detail::MailboxProcessor>::ThreadEntryPoint(void*) ()
 from /usr/local/lib/libgras.so.0.0.0
#2  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#3  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f0065b64700 (LWP 17797)):
#0  0x00007f008261c0fe in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007e9f0668 in boost::this_thread::sleep(boost::posix_time::ptime const&) () from /usr/lib/libboost_thread.so.1.48.0
#2  0x00007f007fa576d7 in Theron::Detail::Scheduler<Theron::Detail::MailboxQueue<Theron::Detail::BlockingMonitor> >::ManagerThreadProc() ()
   from /usr/local/lib/libgras.so.0.0.0
#3  0x00007f007e9edda9 in ?? () from /usr/lib/libboost_thread.so.1.48.0
#4  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f00669e4700 (LWP 17796)):
#0  0x00007f00813e5a43 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f00709b6ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f00709b745a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f006ed925e6 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007f00709d89b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f00671e5700 (LWP 17794)):
#0  0x00007f00813e5a43 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f00709b6ff6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f00709b745a in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f00671ea98b in ?? ()
   from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so
#4  0x00007f00709d89b5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0082617e9a in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f00813f13fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()
Thread 1 (Thread 0x7f0082a28700 (LWP 17776)):
#0  0x00007f008261bd84 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f007faa2d51 in boost::condition_variable::wait(boost::unique_lock<boost::mutex>&) () from /usr/local/lib/libgras.so.0.0.0
#2  0x00007f007fabd92d in void gras::ElementImpl::bcast_prio_msg<gras::TopInertMessage>(gras::TopInertMessage const&) [clone .constprop.283] ()
   from /usr/local/lib/libgras.so.0.0.0
#3  0x00007f007fabdba5 in gras::TopBlock::stop() ()
   from /usr/local/lib/libgras.so.0.0.0
#4  0x00007f007599e141 in gras::TopBlockPython::stop() ()
   from /usr/local/lib/python2.7/dist-packages/gras/_GRAS_PyHierBlocks.so
#5  0x00007f0075dc8de3 in _wrap_TopBlock_stop ()
   from /usr/local/lib/python2.7/dist-packages/gras/_GRAS_TopBlock.so
#6  0x0000000000486614 in PyEval_EvalFrameEx ()
#7  0x0000000000486e02 in PyEval_EvalFrameEx ()
#8  0x0000000000486e02 in PyEval_EvalFrameEx ()
#9  0x000000000048d930 in PyEval_EvalCodeEx ()
#10 0x00000000004246a1 in PyRun_FileExFlags ()
#11 0x000000000042492e in PyRun_SimpleFileExFlags ()
#12 0x0000000000425cb6 in Py_Main ()
#13 0x00007f008131e76d in __libc_start_main ()
   from /lib/x86_64-linux-gnu/libc.so.6


Thanks and Regards,
Sumedha




On Wed, Dec 18, 2013 at 10:50 AM, Sumedha Goyal <address@hidden> wrote:
Hi
My flowgraph does not stop naturally. I want to stop and start it again using different value for a parameter as shown in my above question.
There is an event in my program where the flowgraph finishes it's job with first parameter value (which is 0.8 here), at the occurrence of that event I want the control of flowgraph to come back to the main(). Then I want to restart the flowgraph with a new parameter value (which is 0.4 here).
Kindly guide me on this.

Also, can I forcibly bring the control back to main() even when the flowgraph doesn't have anything to stop its execution?

Thanks and Regards,
Sumedha


On Tue, Dec 17, 2013 at 11:24 PM, Tom Rondeau <address@hidden> wrote:
On Tue, Dec 17, 2013 at 12:23 PM, Sumedha Goyal <address@hidden> wrote:
> I am trying to pass two different parameters to my top_block class
> I m not able to do this please help. The control of program gets stuck at
> tb.stop() and doesn't go beyond that.
>
> tb=top_block(options,0.8)
> tb.start()
> tb.wait()
> tb.stop()
> sleep(5)
> print "I AM BACK"
> tb1=top_block(options,0.4)
> tb1.start()
> tb1.wait()
> tb1.stop()
> sleep()
>
> Regards,
> Sumedha

Does your flowgraph in tb naturally stop? The tb.wait() is a blocking
call and will halt the main loop there until all threads (blocks) in
tb are done. If your flowgraph doesn't have something that stops
execution (like a finite file or a blocks.head block), then it will
continue to process forever and your tb.wait() will continue to block.

Tom




reply via email to

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