1 |
On 04/24/2016 20:21, Joshua Kinard wrote: |
2 |
> On 04/24/2016 20:09, Zac Medico wrote: |
3 |
>> On 04/24/2016 04:50 PM, Joshua Kinard wrote: |
4 |
>>> On 01/18/2016 07:37, Joshua Kinard wrote: |
5 |
>>>> On 01/17/2016 15:01, Zac Medico wrote: |
6 |
>>>>> On 01/17/2016 09:06 AM, Brian Dolbec wrote: |
7 |
>>>>>> |
8 |
>>>>>> I've read in several forum posts lately about emerge not running and |
9 |
>>>>>> the problem comes down to dead emerge processes and remaining lockfiles. |
10 |
>>>>>> |
11 |
>>>>>> Perhaps we should make an emaint module to search for and fix these. |
12 |
>>>>>> It should be easy enough. |
13 |
>>>>> |
14 |
>>>>> It would be nicer if we fixed whatever issue(s) cause the emerge |
15 |
>>>>> processes to hang up. How would the emaint module distinguish a "good" |
16 |
>>>>> emerge process from a "bad" one? I suppose you could strace it to see if |
17 |
>>>>> it has any activity. |
18 |
>>>>> |
19 |
>>>> |
20 |
>>>> I've been playing around with Gentoo/FreeBSD and have been noticing that emerge |
21 |
>>>> is leaving orphaned processes behind on that platform. Seems to be |
22 |
>>>> ecompressdir getting hung up. emerge itself just moves on, but after I |
23 |
>>>> accumulated ~5 of those stuck ecompressdir processes in a single run, I kill |
24 |
>>>> -9'ed them all. Didn't see side-effects similar to what's described in the |
25 |
>>>> original post, but the way to detect this issue might be to look for orphaned |
26 |
>>>> children processes lacking a parent PID, then reap them. |
27 |
>>> |
28 |
>>> |
29 |
>>> Updating my FreeBSD VM again, I captured one of the error messages that's |
30 |
>>> leading to these orphaned ecompressdir processes: |
31 |
>>> |
32 |
>>> /usr/lib/portage/python3.5/ebuild-helpers/ecompressdir: cannot make pipe for |
33 |
>>> process substitution: File exists |
34 |
>>> /usr/lib/portage/python3.5/ebuild-helpers/ecompressdir: line 72: |
35 |
>>> /ramfs/portage/sys-freebsd/boot0-10.3/temp/sh-np-1865519000: ambiguous redirect |
36 |
>>> ecompressdir: bzip2 -9 /usr/share/man |
37 |
>>> * The ebuild phase 'install' with pid 32075 appears to have left an orphan |
38 |
>>> * process running in the background. |
39 |
>>> |
40 |
>>> |
41 |
>>> And a second one: |
42 |
>>> /ramfs/portage/._portage_reinstall_.pesqhjhn/bin/ebuild-helpers/ecompressdir: |
43 |
>>> cannot make pipe for process substitution: File exists |
44 |
>>> /ramfs/portage/._portage_reinstall_.pesqhjhn/bin/ebuild-helpers/ecompressdir: |
45 |
>>> line 72: /ramfs/portage/sys-apps/grep-2.25/temp/sh-np-474708936: ambiguous redirect |
46 |
>>> ecompressdir: bzip2 -9 /usr/share/man |
47 |
>>> ecompressdir: bzip2 -9 /usr/share/info |
48 |
>>> ecompressdir: bzip2 -9 /usr/share/doc |
49 |
>>> * The ebuild phase 'install' with pid 60185 appears to have left an orphan |
50 |
>>> * process running in the background. |
51 |
>>> |
52 |
>>> Not sure the exact cause. Any additional info I can provide? |
53 |
>>> |
54 |
>>> --J |
55 |
>> |
56 |
>> Looks like a problem with bash. Make sure your bash has the fix for this |
57 |
>> issue: |
58 |
>> |
59 |
>> https://bugs.gentoo.org/show_bug.cgi?id=447810 |
60 |
>> |
61 |
>> What version of bash is it? Maybe try some other versions. |
62 |
> |
63 |
> Latest version in ~arch, bash-4.3_p42-r2. |
64 |
> |
65 |
> Doesn't appear to be completely tied to FreeBSD, either, as there's this |
66 |
> unanswered topic on the forums from Nov 2015: |
67 |
> https://forums-lb.gentoo.org/viewtopic-t-1032574.html?sid=5d7566d09a49ba06124032598d3ad362 |
68 |
> |
69 |
> Just looks like FreeBSD trips it up far more often, as I've only seen it there. |
70 |
> |
71 |
> --J |
72 |
|
73 |
Took some more digging, but here's our bug for it. Does appear to be mostly |
74 |
FreeBSD-related: |
75 |
https://bugs.gentoo.org/show_bug.cgi?id=574426 |
76 |
|
77 |
Doesn't answer the question of how it happened in that one Linux case, but w/o |
78 |
additional information, sounds like it's a remote corner case on Linux and hard |
79 |
to reproduce. |
80 |
|
81 |
--J |