On 01/16/2014 08:07 PM, lovely2 wrote:
> I doubt this is a memory problem. I've just had the same problem with
> glibc-2.17 and python. I manually went back to glibc-2.16 and everything is
> fine again. I then tried re-emerging all the python versions with glibc-2.16
> installed and then re-emerged glibc-2.17 and had the same problem.
> 
> After running strace on the python2.7. My best guess is that it is a kernel
> <> glibc-2.17 incompatiblity. The segfault happens near a mprotect
> operation, very early on.
> 
> vault ~ # strace python
> -- snip -- 
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0xb7462000
> set_thread_area({entry_number:-1 -> 6, base_addr:0xb74626c0, limit:1048575,
> seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1,
> seg_not_present:0, useable:1}) = 0
> mprotect(0xb7658000, 8192, PROT_READ)   = 0
> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV +++
> Segmentation fault
> 
> vault ~ # uname -a
> Linux vault 2.6.31-gentoo-r10 #1 SMP Sun Mar 7 14:35:15 EST 2010 i686
> Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz GenuineIntel GNU/Linux
> 
> I'm upgrading to the latest gentoo-sources. Only thing i'm worried about is
> rebooting but all in the life of a gentoo user.

That could very well be (kernel issue with glibc-2.17.) I just upgraded
some 3 year old gentoo VMs and managed to get everything installed. The
kernel was the last thing I did have to upgrade, but I was on
gentoo-sources-2.6.32 and had no segfault problems.

>From memory, I had to upgrade things in this order:
-run emerge --sync
-gcc (then switch to new version)
-emerge libtool, binutils, linux-headers, glibc (glib as a dependency
had to be masked to build, may have to solve some other blocks like a
fallocate64 error, i think i had to use `ac_cv_func_fallocate=no emerge
bintuils` so libtool would build?)
-rebuild gcc (advise from the gcc package - rebuild after glibc update)
-upgrade baselayout and openrc (inc. udev, module-init-tool->kmod, etc)
-perl (then run perl-cleaner)
-python (then remove all stale versions of 3.x and 2.x, switch active to
2.7)
-python-updater
-upgrade portage, portage-utils
-unmask things I'd individually masked and try to solve blocks emerging
world
-eventually world would run, make sure everything built
-run emerge-pvuDNe to make sure nothing was missed (something always is)
then upgrade those packages
-run emerge --depclean
-run emerge @preserved-rebuild
-run python-update & perl-cleaner
-run revdep-rebuild
-build & install new kernel (in my case 3.10.25)
-reboot

Damn, it works and it's up to date. Now I wish I could say that only
took an hour, but on the first machine it took me almost 10 hours
because I was almost always trying to work around blocks. The very last
one I got down to 7 hours as I knew exactly what I had to do.

The problem is it doesn't look like there's still an old 2.6 kernel in
the tree you can upgrade to so it might be difficult:

$ eshowkw gentoo-sources
Keywords for sys-kernel/gentoo-sources:
              |                             | u           |
              | a a   a           p     s   | n           |
              | l m   r h i m m   p s   p   | u s         | r
              | p d a m p a 6 i p c 3   a x | s l         | e
              | h 6 r 6 p 6 8 p p 6 9 s r 8 | e o         | p
              | a 4 m 4 a 4 k s c 4 0 h c 6 | d t         | o
--------------+-----------------------------+-------------+-------
   3.0.101    | ~ ~ ~ o ~ ~ o o ~ ~ ~ ~ ~ ~ | o 3.0.101   | gentoo
--------------+-----------------------------+-------------+-------
    3.2.54    | ~ ~ ~ o ~ ~ o o ~ ~ ~ ~ ~ ~ | o 3.2.54    | gentoo
--------------+-----------------------------+-------------+-------
    3.4.76    | ~ ~ ~ o ~ ~ o o ~ ~ ~ ~ ~ ~ | o 3.4.76    | gentoo
--------------+-----------------------------+-------------+-------
    3.4.77    | ~ ~ ~ o ~ ~ o o ~ ~ ~ ~ ~ ~ | o 3.4.77    | gentoo
--------------+-----------------------------+-------------+-------
  3.4.9999    | o o o o o o o o o o o o o o | o 3.4.9999  | gentoo
--------------+-----------------------------+-------------+-------
    3.9.11-r1 | o ~ ~ o o ~ o o o o o o o ~ | o 3.9.11-r1 | gentoo
--------------+-----------------------------+-------------+-------
    3.10.7    | + + + o + + o ~ + + + + + + | o 3.10.7    | gentoo
--------------+-----------------------------+-------------+-------
    3.10.7-r1 | + + + o + + o ~ + + + + + + | o 3.10.7-r1 | gentoo
--------------+-----------------------------+-------------+-------
[I]3.10.17    | ~ + ~ o + ~ o ~ ~ ~ ~ ~ ~ + | o 3.10.17   | gentoo
--------------+-----------------------------+-------------+-------
   3.10.25    | ~ + + o + + o ~ + + ~ ~ ~ + | o 3.10.25   | gentoo
--------------+-----------------------------+-------------+-------
   3.10.26    | ~ ~ ~ o ~ ~ o ~ ~ ~ ~ ~ ~ ~ | o 3.10.26   | gentoo
--------------+-----------------------------+-------------+-------
   3.10.27    | ~ ~ ~ o ~ ~ o ~ ~ ~ ~ ~ ~ ~ | o 3.10.27   | gentoo
--------------+-----------------------------+-------------+-------
 3.10.9999    | o o o o o o o o o o o o o o | o 3.10.9999 | gentoo
--------------+-----------------------------+-------------+-------
   3.11.10    | ~ ~ ~ o ~ ~ o ~ ~ ~ ~ ~ ~ ~ | o 3.11.10   | gentoo
--------------+-----------------------------+-------------+-------
 3.11.9999    | o o o o o o o o o o o o o o | o 3.11.9999 | gentoo
--------------+-----------------------------+-------------+-------
    3.12.7    | ~ ~ ~ o ~ ~ o ~ ~ ~ ~ ~ ~ ~ | o 3.12.7    | gentoo
--------------+-----------------------------+-------------+-------
    3.12.8    | ~ ~ ~ o ~ ~ o ~ ~ ~ ~ ~ ~ ~ | o 3.12.8    | gentoo
--------------+-----------------------------+-------------+-------
 3.12.9999    | o o o o o o o o o o o o o o | o 3.12.9999 | gentoo


Dan

Reply via email to