Discussion:
Sending data to offline system doesn't work reliably
Johanna Steer
2016-07-26 08:58:22 UTC
Permalink
Hi,

i am working on a toolchain monitoring the schedluing behavior of the
fiasco.oc kernel. The data is monitored through the trace service (quota
for trace is 2M).
It is then sent to an offline system through an active TCP/IP connection
and written into a database. VDE is used for that and i am working on
Ubuntu 14.04.
My problem is that the data isn't sent reliably. I am executing a
periodic task that returns zero and exits. The only thing that varies is
the period. After 20 seconds the tasks stop, the monitored data is
gathered and then sent to the offline system.
The kernel says that it is sending the data, but the system freezes at
times and the data simply doesn't arrive.
The system reacts quite randomly: Sometimes it sends the files,
sometimes it doesn't. Sometimes i get an error (shown below). It seems
easier to send small data sizes (around 200KB), above 700KB hardly
anything works. In between, it might work or not. As far as i have
experienced there is no pattern behind it.

I tried the tests before with only 1M quota for trace and the
reliability improved with 2M quota. However, with 4M it gets worse again
and the error occures more often.


Here ist the error:

[init -> nic_drv] tx fifo overrun, ignore packet
: spawn id exp6 not open
while executing
"expect {
-i $running_spawn_id $platform_msg { puts stderr "Error:
platform rebooted unexpectedly"; exit -4 }
-i $running_spawn_id -re $wait_for_re..."
(procedure "wait_for_output" line 22)
invoked from within
"wait_for_output $wait_for_re $timeout_value $qemu_spawn_id"
(procedure "run_log" line 28)
invoked from within
"run_log $wait_for_re $timeout_value"
(procedure "run_genode_until" line 28)
invoked from within
"run_genode_until forever"
(file "/home/johanna/Bachelorarbeit/genode/repos/dom0/run/dom0.run"
line 132)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "/home/johanna/Bachelorarbeit/genode/tool/run/run" line 642)
Sebastian Sumpf
2016-07-27 09:04:28 UTC
Permalink
Hi Johanna,
Post by Johanna Steer
Hi,
i am working on a toolchain monitoring the schedluing behavior of the
fiasco.oc kernel. The data is monitored through the trace service (quota
for trace is 2M).
It is then sent to an offline system through an active TCP/IP connection
and written into a database. VDE is used for that and i am working on
Ubuntu 14.04.
My problem is that the data isn't sent reliably. I am executing a
periodic task that returns zero and exits. The only thing that varies is
the period. After 20 seconds the tasks stop, the monitored data is
gathered and then sent to the offline system.
The kernel says that it is sending the data, but the system freezes at
times and the data simply doesn't arrive.
The system reacts quite randomly: Sometimes it sends the files,
sometimes it doesn't. Sometimes i get an error (shown below). It seems
easier to send small data sizes (around 200KB), above 700KB hardly
anything works. In between, it might work or not. As far as i have
experienced there is no pattern behind it.
I tried the tests before with only 1M quota for trace and the
reliability improved with 2M quota. However, with 4M it gets worse again
and the error occures more often.
[init -> nic_drv] tx fifo overrun, ignore packet
This error comes from the lan9118 NIC driver. It is a network card
driver we use for the PBXA9 ARM platform in Qemu only. We have never
used it on real hardware, and therefore, it might not work correctly
there. What SoC are you using or do you use Qemu?

Regards,

Sebastian
Post by Johanna Steer
: spawn id exp6 not open
while executing
"expect {
platform rebooted unexpectedly"; exit -4 }
-i $running_spawn_id -re $wait_for_re..."
(procedure "wait_for_output" line 22)
invoked from within
"wait_for_output $wait_for_re $timeout_value $qemu_spawn_id"
(procedure "run_log" line 28)
invoked from within
"run_log $wait_for_re $timeout_value"
(procedure "run_genode_until" line 28)
invoked from within
"run_genode_until forever"
(file "/home/johanna/Bachelorarbeit/genode/repos/dom0/run/dom0.run"
line 132)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "/home/johanna/Bachelorarbeit/genode/tool/run/run" line 642)
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
Johanna Steer
2016-07-28 16:20:31 UTC
Permalink
Hi Sebastian,

i am using QEMU.

Regards, Johanna
Post by Sebastian Sumpf
Hi Johanna,
Post by Johanna Steer
Hi,
i am working on a toolchain monitoring the schedluing behavior of the
fiasco.oc kernel. The data is monitored through the trace service (quota
for trace is 2M).
It is then sent to an offline system through an active TCP/IP connection
and written into a database. VDE is used for that and i am working on
Ubuntu 14.04.
My problem is that the data isn't sent reliably. I am executing a
periodic task that returns zero and exits. The only thing that varies is
the period. After 20 seconds the tasks stop, the monitored data is
gathered and then sent to the offline system.
The kernel says that it is sending the data, but the system freezes at
times and the data simply doesn't arrive.
The system reacts quite randomly: Sometimes it sends the files,
sometimes it doesn't. Sometimes i get an error (shown below). It seems
easier to send small data sizes (around 200KB), above 700KB hardly
anything works. In between, it might work or not. As far as i have
experienced there is no pattern behind it.
I tried the tests before with only 1M quota for trace and the
reliability improved with 2M quota. However, with 4M it gets worse again
and the error occures more often.
[init -> nic_drv] tx fifo overrun, ignore packet
This error comes from the lan9118 NIC driver. It is a network card
driver we use for the PBXA9 ARM platform in Qemu only. We have never
used it on real hardware, and therefore, it might not work correctly
there. What SoC are you using or do you use Qemu?
Regards,
Sebastian
Post by Johanna Steer
: spawn id exp6 not open
while executing
"expect {
platform rebooted unexpectedly"; exit -4 }
-i $running_spawn_id -re $wait_for_re..."
(procedure "wait_for_output" line 22)
invoked from within
"wait_for_output $wait_for_re $timeout_value $qemu_spawn_id"
(procedure "run_log" line 28)
invoked from within
"run_log $wait_for_re $timeout_value"
(procedure "run_genode_until" line 28)
invoked from within
"run_genode_until forever"
(file "/home/johanna/Bachelorarbeit/genode/repos/dom0/run/dom0.run"
line 132)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "/home/johanna/Bachelorarbeit/genode/tool/run/run" line 642)
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
genode-main mailing list
https://lists.sourcef
<https://lists.sourceforge.net/lists/listinfo/genode-main>
Sebastian Sumpf
2016-07-29 16:51:38 UTC
Permalink
Hey Johanna,
Post by Johanna Steer
Hi Sebastian,
i am using QEMU.
Ok, then the thing has a bug. I might have a look into it, if I can find
the time. Otherwise, you could try a different Qemu version. We use
2.3.0 over here and have used 1.5.0 before that, maybe there is a
regression somewhere from 1.5.0 to 2.3.0 to your version.

Cheers,

Sebastian
Post by Johanna Steer
Post by Sebastian Sumpf
Hi Johanna,
Post by Johanna Steer
Hi,
i am working on a toolchain monitoring the schedluing behavior of the
fiasco.oc kernel. The data is monitored through the trace service (quota
for trace is 2M).
It is then sent to an offline system through an active TCP/IP connection
and written into a database. VDE is used for that and i am working on
Ubuntu 14.04.
My problem is that the data isn't sent reliably. I am executing a
periodic task that returns zero and exits. The only thing that varies is
the period. After 20 seconds the tasks stop, the monitored data is
gathered and then sent to the offline system.
The kernel says that it is sending the data, but the system freezes at
times and the data simply doesn't arrive.
The system reacts quite randomly: Sometimes it sends the files,
sometimes it doesn't. Sometimes i get an error (shown below). It seems
easier to send small data sizes (around 200KB), above 700KB hardly
anything works. In between, it might work or not. As far as i have
experienced there is no pattern behind it.
I tried the tests before with only 1M quota for trace and the
reliability improved with 2M quota. However, with 4M it gets worse again
and the error occures more often.
[init -> nic_drv] tx fifo overrun, ignore packet
This error comes from the lan9118 NIC driver. It is a network card
driver we use for the PBXA9 ARM platform in Qemu only. We have never
used it on real hardware, and therefore, it might not work correctly
there. What SoC are you using or do you use Qemu?
Regards,
Sebastian
Post by Johanna Steer
: spawn id exp6 not open
while executing
"expect {
platform rebooted unexpectedly"; exit -4 }
-i $running_spawn_id -re $wait_for_re..."
(procedure "wait_for_output" line 22)
invoked from within
"wait_for_output $wait_for_re $timeout_value $qemu_spawn_id"
(procedure "run_log" line 28)
invoked from within
"run_log $wait_for_re $timeout_value"
(procedure "run_genode_until" line 28)
invoked from within
"run_genode_until forever"
(file "/home/johanna/Bachelorarbeit/genode/repos/dom0/run/dom0.run"
line 132)
invoked from within
"source $include_name"
("foreach" body line 6)
invoked from within
"foreach include_name [get_cmd_arg --include ""] {
# first check if the include name is absolute
if {[string first "/" $include_name] == 0} {
puts ..."
(file "/home/johanna/Bachelorarbeit/genode/tool/run/run" line 642)
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
genode-main mailing list
https://lists.sourcef
<https://lists.sourceforge.net/lists/listinfo/genode-main>
------------------------------------------------------------------------------
_______________________________________________
genode-main mailing list
https://lists.sourceforge.net/lists/listinfo/genode-main
------------------------------------------------------------------------------
Loading...