[lkml]   [2005]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: Something very strange on x86_64 2.6.X kernels
    Eric Dumazet <> wrote:
    > Hi Andi
    > I have very strange coredumps happening on a big 64bits program.
    > Some background :
    > - This program is multi-threaded
    > - Machine is a dual Opteron 248 machine, 12GB ram.
    > - Kernel 2.6.6 (tried 2.6.10 too but problems too)
    > - The program uses hugetlb pages.
    > - The program uses prefetchnta
    > - The program uses about 8GB of ram.
    > After numerous differents core dumps of this program, and gdb debugging
    > I found :
    > Every time the crash occurs when one thread is using some ram located at
    > virtual address 0xffffe6xx

    What does "using" mean? Is the program executing from that location?

    > When examining the core image, the data saved on this page seems correct
    > (ie countains coherent user data). But one register (%rbx) is usually
    > corrupted and contains a small value (like 0x3c)
    > The last instruction using this register is :
    > prefetchnta 0x18(,%rbx,4)
    > Examining linux sources, I found that 0xffffe000 is 'special' (ia 32
    > vsyscall) and 0xffffe600 is about sigreturn subsection of this special area.
    > Is it possible some vm trick just kicks in and corrupts my true 64bits
    > program ?

    Interesting. IIRC, opterons will very occasionally (and incorrectly) take
    a fault when performing a prefetch against a dud pointer. The kernel will
    fix that up. At a guess, I'd say tha the fixup code isn't doing the right
    thing when the faulting EIP is in the vsyscall page.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:09    [W:0.021 / U:1.008 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site