Fully reproducible with me. v2.6.23.1 x86-64 SMP kernel, Core 2 CPU, gdb
v6.6.90.20070912-debian.

gdb ./hang
run
fr 1
p (char*)base

p command hangs and the entire system becomes unusably slow. kill -9
doesn't kill gdb.

/* gcc hang.c -o hang -g -Wall */
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>

int main(void)
{
        int fd;
        char buf[100];
        void *base;

        fd = open("hang.tmp", O_RDWR | O_CREAT, 0600);
        if (fd == -1) perror("open");

        base = mmap(NULL, 100, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
        if (base == MAP_FAILED)
                perror("mmap");
        memcpy(buf, base, sizeof(buf));
        return 0;
}

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to