https://www.fmtc.be/bugzilla/orocos/show_bug.cgi?id=670
Summary: TaskBrowser application crashes when using .connect
and browsing
Product: OCL
Version: 1.8.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P3
Component: TaskBrowser
AssignedTo: orocos-dev [..] ...
ReportedBy: peter [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0
Reported on the ML:
Thanks for the replies. Yes, I was using '.connect' and switching to plain
DataPort types gets me around the issue.
I don't have much experience with gdb, but here's a backtrace. I changed the
updateHooks to virtual and replaced o_task->ports()->... with connectPorts(...)
as suggested.
ndamore@woodstock:~/projects$ gdb ./test3 GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... (gdb) run Starting program: /home/ndamore/projects/test3 [Thread debugging using libthread_db enabled] 0.004 [ Warning][/home/ndamore/projects/test3::main()] Lowering scheduler type to SCHED_OTHER for non-privileged users.. 0.004 [ Warning][/home/ndamore/projects/test3::main()] Forcing priority (5) of thread with SCHED_OTHER policy to 0. [New Thread 0xb75166c0 (LWP 18995)] [New Thread 0xb7515b90 (LWP 18998)] 0.007 [ Warning][/home/ndamore/projects/test3::main()] Lowering scheduler type to SCHED_OTHER for non-privileged users.. 0.007 [ Warning][/home/ndamore/projects/test3::main()] Forcing priority (5) of thread with SCHED_OTHER policy to 0. Switched to : gain_task This console reader allows you to browse and manipulate TaskContexts. You can type in a command, event, method, expression or change variables. (type 'help' for instructions) TAB completion and HISTORY is available ('bash' like) In Task gain_task[R]. (Status of last Command : none ) (type 'ls' for context info) :cd offset_task Switched to : offset_task In Task offset_task[R]. (Status of last Command : none ) (type 'ls' for context info) :.connect TaskBrowser connects to all ports of offset_task In Task offset_task[R]. (Status of last Command : none ) (type 'ls' for context info) :leave Watching Task offset_task[R]. (Status of last Command : none ) (type 'ls' for context info) :Data_R.Set(12) Got :Data_R.Set(12) = (void) Watching Task offset_task[R]. (Status of last Command : none ) (type 'ls' for context info) :cd gain_task Switched to : gain_task Watching Task gain_task[R]. (Status of last Command : none ) (type 'ls' for context info) : Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb7515b90 (LWP 18998)] 0xffffffff in ?? () (gdb) bt #0 0xffffffff in ?? () #1 0x0805c0bc in RTT::WriteDataPort<double>::Set () #2 0x0805c1b9 in MyOffsetTask::updateHook () #3 0xb7af0e52 in RTT::ExecutionEngine::step () from /usr/local/lib/liborocos-rtt-gnulinux.so.1.8 #4 0xb79f31d8 in RTT::PeriodicActivity::step () from /usr/local/lib/liborocos-rtt-gnulinux.so.1.8 #5 0xb7ac3a2e in RTT::TimerThread::step () from /usr/local/lib/liborocos-rtt-gnulinux.so.1.8 #6 0xb7b120c1 in RTT::OS::periodicThread () from /usr/local/lib/liborocos-rtt-gnulinux.so.1.8 #7 0xb77fe4fb in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #8 0xb765de5e in clone () from /lib/tls/i686/cmov/libc.so.6 (gdb)