On Sat, Nov 4, 2017 at 1:18 AM, Chet Ramey <chet.ra...@case.edu> wrote: > On 11/3/17 6:01 PM, Adrien Mahieux wrote: >> Hello, >> >> I think I've found a bug in the loop management. Maybe it's an >> expected behavior (didn't find any related topic on the manpages) but >> it's annoying in long-running scripts. >> >> The leak is triggered by this idiom (wether or not jobcontrol + lastpipe) : >> cmd | read var >> >> but not by this one : >> read var < <(cmd) >> >> Tested with : >> - bash-4.2.46-19.el7.x86_64 >> - bash-4.3.42-5.fc23.x86_64 >> - bash-4.3-48.x86_64 >> >> From the version tested, it was fixed in version 4.4 (tested 4.4-beta) >> Do you have an idea of the commit that fixed this behavior, so the fix >> can be backported to older versions ? > > Have you tried bisecting the devel git branch?
Didn't have time, nor tried. That's my first bisect \o/ 85ec0778f9d778e1820fb8c0e3e996f2d1103b45 : no leak 1a088fee7368a8620e0bf64c481ac0bc5dddddcf : leak This modification from 85ec0778 did fix the leak in 1a088fee73 : - if ((dflags & DEL_NOBGPID) == 0) + if ((dflags & DEL_NOBGPID) == 0 && (temp->flags & (J_ASYNC|J_FOREGROUND)) == J_ASYNC) Can you check and backport it ? Cheers.