From: Jacky M. <Jac...@bu...> - 2003-07-16 09:31:06
|
proc01 testcase crashes on ia64 - has anyone had the opportunity to run crashme sript on ia64 ? If I start it then I hit a crash, I'm using RedHat Distro, the crash occurs with 2.4 and 2.5 the part of the testcase code in question is: #include <errno.h> /* for errno */ #include <stdio.h> /* for NULL */ #include <stdlib.h> /* for malloc() */ #include <string.h> /* for string function */ #include <limits.h> /* for PATH_MAX */ #include <sys/types.h> /* for opendir(), readdir(), closedir(), stat() */ #include <sys/stat.h> /* for [l]stat() */ #include <dirent.h> /* for opendir(), readdir(), closedir() */ #include <unistd.h> #include <fcntl.h> #define MAX_BUFF_SIZE 65536 size_t buffsize=1024; /* FIXME: would it overflow on 32bits systems with >4Go RAM (HIGHMEM) ? */ size_t total_read=0; int main(int argc, char *argv[]) { char *msg; static char buf[MAX_BUFF_SIZE]; /* static kills reentrancy, but we don't care about the contents */ int fd; ssize_t nread; /* is NONBLOCK enough to escape from FIFO's ? */ fd = open("/proc/kcore", O_RDONLY | O_NONBLOCK); if (fd<0) { if (errno != EACCES) { return 1; } return 0; } nread = 1; while (nread > 0) { nread = read(fd, buf, buffsize); if (nread < 0) { /* ignore no perm (not root) and no process (terminated) errors */ if (errno != EACCES && errno != ESRCH) { close(fd); return 1; } close(fd); } total_read += nread; } close(fd); /* * Everything must have went ok. */ return 0; } if so, I've 2 questions with ia64 are we allowed to loop reading kcore file ? is the testcase to be adapted to ia64 ? thanks, - Jacky Malcles B1-173 Email : Jac...@bu... Bull SA, 1 rue de Provence, B.P 208, 38432 Echirolles CEDEX, FRANCE Tel : 04.76.29.78.98 |