[Rock-dev] Stop command freezes orocos.rb script
Chris Mueller
christoph.mueller at dfki.de
Tue Oct 25 18:45:21 CEST 2011
Hi everyone,
i'm currently running some benchmark tasks on different system with a
simple setup and met an
annoying behaviour for my batch scripts calling 'stop' on a TaskContext.
I have a simple sender task which simple transmit a std::string message
of a given size (specified by a property) and sends it a to receiver
task located on another machine.
My script simple selects a specific deployment which contains always the
same task but different update periodes.
When i running my setup with messages 1, 8, 128, 512, ... 2000000 Bytes
and update frequencies 1 ... 1000, sometimes my script doesn't terminate
(and blocks compeletey).
My Script has the following structure:
# ... some initialstuff and argv handling
Nameservice::enable(:CORBA, ...)
Orocos.initialize
Orocos.run "SenderDeployment" do
sender = TaskContext.get "Sender"
recv = TaskContext.get "Receiver"
# some connection and property handling ...
sender.message_size = argv_message_size
# run top a specific time
system "top -d 0.1 -n 300 ..."
sender.stop
recv.stop
puts "benchmark for #{freq} with #{size} finished"
end
I observed the following details:
* sometimes sender.stop blocks completely this script (workaround:
dont call it)
* Script doesn't terminate because it blocks at the end of Orocos.run
ruby block. (I assume
it also call stop automatically in all task of SenderDeployment und
would be the same problem)
* this behaviour seems to relate to the transmitted message size
because its only a problem if
the message size is greater equal than 524288 Bytes (and it varies
depending on the machine the
script is running)
Does anyone have an idea about the reason of this issue / behaviour?
Chris
More information about the Rock-dev
mailing list