On Thu, Apr 26, 2012 at 1:16 AM, Michael Mol <firstname.lastname@example.org> wrote: > On Thu, Apr 26, 2012 at 12:37 AM, Michael Mol <email@example.com> wrote:
>> On Wed, Apr 25, 2012 at 11:50 PM, Canek PelÃ¡ez ValdÃ©s <firstname.lastname@example.org> wrote:
>>> On Wed, Apr 25, 2012 at 10:09 PM, Michael Mol <email@example.com> wrote:
>>>> I've had two segfaults I'd never seen before. One in sudo and one in
>>>> rdesktop. Updates later when I get things better tracked down.
>>> I had a gcc segfault in my atom server, with MAKEOPTS=-j5. With
>>> MAKEOPTS=-j1, I got undefined references while linking some modules.
>>> My desktop and my laptop, however, compiled it without problems.
>>> I haven't had the time to check it, but it seems weird.
>> Replacing with a binpackage from packages.gentooexperimental.org got
>> bash working. Now I'm seeing if I can re-emerge gcc, binutils and
>> If that goes through, I'm going to restart the emerge -e; my resume
>> stack is probably toast.
> Ok, yes. This version of glibc, =sys-libs/glibc-2.14.1-r3, is crud. At
> least, if you're doing parallel building. Out of my three machines,
> the 8-core box got bit by it, the 4-core box got bit by it, but the
> 2-core laptop sailed past.
> I have a hunch that setting MAKEOPTS="-j1" will fix it for me, and I'm
> letting that run as I head off to sleep in a few minutes.
Note, my experiences and instructions are specific to amd64 boxes. I
don't know if other boxes are affected, and the workaround I'm writing
below is not appropriate for anything but amd64.
Incidentally, you'll know if your box got bit if you do a large set of
emerges which include building glibc, and everything after glibc's
'Install' phase fails. Don't trust emerge's output; at this point,
bash is segfaulting on startup, which makes emerge utterly unreliable,
even as it tries to tell you the cause for errors.
DO NOT close your open shells; you won't be able to launch bash until
you've fixed this.
To work around, you'll need a root shell. If you have any shell at
all, you should be able to get a root shell by running
sudo busybox sh
in any of your remaining shells which have sudoer access.
using wget. At least in my situation, wget still worked. Move the
tarball to your / directory:
mv glibc-2.14.1-r3.tbz2 /
and unpack it
tar xvjpf glibc-2.14.1-r3.tbz2
You should now have bash back, which means you'll have emerge back,
and probably the rest of your system.