Skip to Content.
Sympa Menu

perfsonar-user - Re: [perfsonar-user] bwctl throughput - JSON parsing error

Subject: perfSONAR User Q&A and Other Discussion

List archive

Re: [perfsonar-user] bwctl throughput - JSON parsing error


Chronological Thread 
  • From: Antoine Delvaux <>
  • To: Brian Candler <>
  • Cc: "" <>
  • Subject: Re: [perfsonar-user] bwctl throughput - JSON parsing error
  • Date: Mon, 30 Nov 2015 12:14:42 +0000

Hi Brian,

I’m not sure about exact changes to the JSON parsing that could make your
test fail, but I know we have a newer bwctl package available for
Debian/Ubuntu that you could try out. 1.5.2 is getting a bit old and the
error you see could be an incompatibility between the current regular_testing
daemon parsing code and this older bwctl version.

You can try to use the apt repository you find at
http://downloads.perfsonar.net/debian/perfsonar-wheezy-3.5.list to install a
newer version of bwctl (1.5.6) and see what’s the behaviour. The packages
coming from this repo are working with Debian Wheezy, Ubuntu 12.04 and Ubuntu
14.04. You seem to run Ubuntu 14.10 which we don’t explicitly support, but
you might want to give the bwctl package a try.

Other than that, did you try to increase the regular_testing daemon logging
to DEBUG in regular_testing-logger.conf ?

Cheers,

Antoine.

> Le 30 nov. 2015 à 11:35, Brian Candler
> <>
> a écrit :
>
> I am trying to interoperate between a perfsonar 3.5 node and an Ubuntu VM
> running owamp (3.4.10) / bwctl (1.5.2)
>
> owamp is working fine, but regular throughput testing is giving the
> following error:
>
> " 01:27:21 11/30/2015
> Error from bwctl/iperf3:
> Problem parsing output: malformed JSON string, neither array, object,
> number, string or atom, at character offset 0 (before "(end of string)") at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Parsers/Iperf3.pm
> line 54. "
>
> This log appears with a big red dot in the graphs. It doesn't appear in
> /var/log/perfsonar/regular_testing.log (*)
>
> From the command line (using bwctl) I am able to do throughput tests in
> both directions.
>
> Now, this error talks about parsing JSON, but I don't know where this JSON
> would come from. The bwctl manpage says there is a -y <format> option, but
> not what the options are. It seems to take only a single-character argument.
>
> If I give "-y J" then it tells me that iperf doesn't like this flag, but
> iperf3 does, and I get JSON in response. Running these on the perfsonar
> node, both work correctly and give valid JSON:
>
> bwctl -s <remotehost> -y J
> bwctl -c <remotehost> -y J
>
> Any more ideas where to look? How can I find out what bwctl command
> perfsonar is actually issuing?
>
> Thanks,
>
> Brian Candler.
>
> (*) However, regular_testing.log does have a number of errors as shown
> below. They don't seem to correlate with the error times of the red dots
> though.
>
> 2015/11/30 07:56:23 (21637) ERROR> CmdRunner.pm:114
> perfSONAR_PS::RegularTesting::Utils::CmdRunner::run - Problem with results
> callback: Attribute (tool) does not pass the type constraint because:
> Validation failed for 'Str' with value undef at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Tests/Bwctl.pm
> line 119
>
> perfSONAR_PS::RegularTesting::Tests::Bwctl::__ANON__('perfSONAR_PS::RegularTesting::Tests::Bwctl=HASH(0x4561ee8)',
> 'HASH(0x45efe28)') called at
> /usr/lib64/perl5/vendor_perl/Moose/Meta/Method/Overridden.pm line 36
>
> perfSONAR_PS::RegularTesting::Tests::Bwctl::build_results('perfSONAR_PS::RegularTesting::Tests::Bwctl=HASH(0x4561ee8)',
> 'HASH(0x45efe28)') called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Tests/BwctlBase.pm
> line 237
>
> perfSONAR_PS::RegularTesting::Tests::BwctlBase::handle_output('perfSONAR_PS::RegularTesting::Tests::Bwctl=HASH(0x4561ee8)',
> 'HASH(0x45c3378)') called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Tests/BwctlBase.pm
> line 180
>
> perfSONAR_PS::RegularTesting::Tests::BwctlBase::__ANON__('perfSONAR_PS::RegularTesting::Utils::CmdRunner::Cmd=HASH(0x45...',
> 'HASH(0x45c70d0)') called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Utils/CmdRunner.pm
> line 112
> eval {...} called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Utils/CmdRunner.pm
> line 111
>
> perfSONAR_PS::RegularTesting::Utils::CmdRunner::run('perfSONAR_PS::RegularTesting::Utils::CmdRunner=HASH(0x45784d8)')
> called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Tests/BwctlBase.pm
> line 188
>
> perfSONAR_PS::RegularTesting::Tests::BwctlBase::__ANON__('perfSONAR_PS::RegularTesting::Tests::Bwctl=HASH(0x4561ee8)',
> 'HASH(0x4572cc0)') called at
> /usr/lib64/perl5/vendor_perl/Moose/Meta/Method/Overridden.pm line 36
>
> perfSONAR_PS::RegularTesting::Tests::BwctlBase::run_test('perfSONAR_PS::RegularTesting::Tests::Bwctl=HASH(0x4561ee8)',
> 'HASH(0x4572cc0)') called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Test.pm
> line 75
>
> perfSONAR_PS::RegularTesting::Test::run_test('perfSONAR_PS::RegularTesting::Test=HASH(0x4554e28)',
> 'handle_results', 'CODE(0x1274958)') called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Master/SelfScheduledTestChild.pm
> line 50
> eval {...} called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Master/SelfScheduledTestChild.pm
> line 40
>
> perfSONAR_PS::RegularTesting::Master::SelfScheduledTestChild::__ANON__('perfSONAR_PS::RegularTesting::Master::SelfScheduledTestChild=...')
> called at /usr/lib64/perl5/vendor_perl/Moose/Meta/Method/Overridden.pm
> line 36
>
> perfSONAR_PS::RegularTesting::Master::SelfScheduledTestChild::child_main_loop('perfSONAR_PS::RegularTesting::Master::SelfScheduledTestChild=...')
> called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Master/BaseChild.pm
> line 32
>
> perfSONAR_PS::RegularTesting::Master::BaseChild::run('perfSONAR_PS::RegularTesting::Master::SelfScheduledTestChild=...')
> called at
> /opt/perfsonar_ps/regular_testing/bin/../lib/perfSONAR_PS/RegularTesting/Master.pm
> line 182
>
> perfSONAR_PS::RegularTesting::Master::run('perfSONAR_PS::RegularTesting::Master=HASH(0x453fb00)')
> called at /opt/perfsonar_ps/regular_testing/bin/daemon line 122
>



-- --
Antoine Delvaux Systems Engineer
Poznań Supercomputing & Network Center Skype: toninb
GÉANT project Tel: +221.703368313
http://www.geant.net XMPP:

PGP fingerprint: DC65 0D8B 6938 9229 33C3 18CA 4EB6 09D3 A333 3378




Archive powered by MHonArc 2.6.16.

Top of Page