On Thu, Apr 26, 2012 at 1:16 AM, Michael Mol <mike...@gmail.com> wrote:
> On Thu, Apr 26, 2012 at 12:37 AM, Michael Mol <mike...@gmail.com> wrote:
>> On Wed, Apr 25, 2012 at 11:50 PM, Canek Peláez Valdés <can...@gmail.com> 
>> wrote:
>>> On Wed, Apr 25, 2012 at 10:09 PM, Michael Mol <mike...@gmail.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
>> glibc.
>>
>> 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.

grab

  glibc-2.14.1-r3.tbz2

from

  http://packages.gentooexperimental.org/packages/amd64-unstable/sys-libs/

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.

-- 
:wq

Reply via email to