CC: | "bingos [...] cpan.org" <bingos [...] cpan.org>, Leonard Aubrey - DSV <leonard.aubrey [...] za.dsv.com> |
Subject: | IPC::Cmd 0.96 - 1.04 throwing alarm in perl 5.26.3 |
Date: | Thu, 4 Jun 2020 07:47:15 +0000 |
To: | "bug-ipc-cmd [...] rt.cpan.org" <bug-ipc-cmd [...] rt.cpan.org> |
From: | Danie Theron - DSV <danie.theron [...] za.dsv.com> |
Hi IPC::Cmd Bug Report Team/Chris,
Hope you are doing well.
We have upgraded our Solaris 11.4 hosts (which contains perl) from the SRU17 patch set to the SRU21 patch set.
This has set the default perl version from 5.22.1 to 5.26.3.
Perl version 5.22.1 contained the IPC::Cmd version 0.92 module by default AND perl version 5.26.3 contains IPC::Cmd version 0.96 by default.
Our perl scripts which is using the IPC::Cmd module started throwing alarms after upgrading to SRU21 perl version 5.26.3 IPC::Cmd 0.96:
"alarm() with negative argument at /usr/perl5/site_perl/5.26/IPC/Cmd.pm line 1347."
In cpan, I have executed "upgrade IPC::Cmd" which upgraded IPC::Cmd to the latest verion 1.04, but still the alarm occurs from IPC::Cmd version 1.04...
To my understanding (I might be wrong), that area of the Cmd.pm perl script, checks if a command completes in a certain time, if it takes longer to complete, it throws the alarm.
I have duplicated this in our environment, when I log on early in the morning on our systems when it is very quiet, we don't get that alarm.
BUT when the server becomes busy during the day, IPC::Cmd starts throwing the alarms...
I am not sure if it is a issue with perl 5.26 or a newer version of a cpan module... If I upgrade IPC::Cmd to version 1.04 on perl cpan 5.22.1, I am unable to duplicate the problem.
I was able to duplicate the issue as well on my Ubuntu 20.04 LTS VM which uses perl 5.30.0.
My colleague wrote a simple script "alarm-test.pl" (attached) that can be run WHILE there is a lot of load on the system to duplicate the issue.
Can you try to find the problem?
To generate a lot of load on your system you can execute multiples of the following command: yes > /dev/null &
Then run the script. It does not always throw the error, so you will have to run it a couple of times when your system is under load.
Thanks
Danie Theron
Senior IT Specialist
Global IT, Regional IT Services Africa and Middle East
[cid:image001.png@01D6399C.57B37B30]
DSV Healthcare
1 Meadowview Lane
Meadowview Business Estate
Linbro Park, Sandton
Johannesburg
South Africa
+27 10 248 0000 Tel
+27 10 248 0029 Direct Tel.
+27 82 306 9693 Mobile
+27 87 230 6971 Fax
danie.theron@za.dsv.com<mailto:danie.theron@za.dsv.com>
www.za.dsv.com<http://www.za.dsv.com/>
Message body is not shown because it is too large.
Message body not shown because it is not plain text.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.
Message body is not shown because sender requested not to inline it.