FS#53556 - [bc] read() function spins forever in 1.07

Attached to Project: Arch Linux
Opened by Christoph Haag (haagch) - Monday, 03 April 2017, 23:13 GMT
Last edited by Dave Reisner (falconindy) - Monday, 03 April 2017, 23:17 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Additional info:
* package version(s): bc 1.07-1


Steps to reproduce:

create a file "foobar.bc" with this line as content: foobar = read();
run "echo 1 | bc -q foobar.bc"

bc will spin at 100% CPU load. A strace log ends with

read(0, "1\n", 4096) = 2
read(0, "", 4096) = 0
read(0, "", 4096) = 0
read(0, "", 4096) = 0

where it reads the 1 just like it should, but then it spins on reading empty strings forever.

With bc 1.06 the same bc script works without issues.

I don't know if this is an upstream bug or something with readline/edline/whatever specifically in Archlinux.

This also breaks building the kernel, because make prepare runs echo 300 | bc -q kernel/time/timeconst.bc which then spins forever on read().
This task depends upon

Closed by  Dave Reisner (falconindy)
Monday, 03 April 2017, 23:17 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#53546 

Loading...