/usr/bin/script eating 100% cpu with portupgrade and xargs

Stefan Bethke stb at lassitu.de
Fri Oct 14 20:50:35 UTC 2011


Am 14.10.2011 um 14:03 schrieb Jilles Tjoelker:

> On Wed, Oct 12, 2011 at 11:25:35PM +0100, Adrian Wontroba wrote:
>> On Sat, Oct 08, 2011 at 01:27:07AM +0100, Adrian Wontroba wrote:
>>> I won't be in a position to create a simpler test case, raise a PR or
>>> try patches till Tuesday evening (UK) at the earliest.
> 
>> So far I have been unable to reproduce the problem with portupgrade (and
>> will probably move to portmaster).
> 
>> I have however found a different but possibly related problem with the
>> new version of script in RELENG_8, for which I have raised this PR:
> 
>> misc/161526: script outputs corrupt if input is not from a terminal
> 
>> Blast, should of course been bin/
> 
> The extra ^D\b\b are the EOF character being echoed. These EOF
> characters are being generated by the new script(1) to pass through the
> EOF condition on stdin.
> 
> One fix would be to change the termios settings temporarily to disable
> the echoing but this may cause problems if the application is changing
> termios settings concurrently and generally feels bad.
> 
> It may be best to remove writing EOF characters, perhaps adding an
> option to enable it again if there is a concrete use case for it.

I finally figured out why my ports aren't updating anymore: when running portupgrade -a --batch from cron, stdin is /dev/null, and that produces the gobs of ^D in the output, as well as the script file that portupgrade creates.  What's worse is that the upgrade never completes.

You can easily see this for yourself:
# portupgrade -a --batch </dev/null

This is on 8-stable from October 5th.


Stefan

-- 
Stefan Bethke <stb at lassitu.de>   Fon +49 151 14070811





More information about the freebsd-stable mailing list